DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Structured Logging
  • Integrating AWS With Salesforce Using Terraform
  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Web Development Checklist

Trending

  • Structured Logging
  • Integrating AWS With Salesforce Using Terraform
  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Web Development Checklist
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. The Components of a Serverless Architecture Framework

The Components of a Serverless Architecture Framework

Considering serverless? What goes into making a framework? This checklist will make sure you don't leave anything out, from the UI, to authentication, to the database.

Rohit Akiwatkar user avatar by
Rohit Akiwatkar
·
Jun. 05, 17 · Tutorial
Like (5)
Save
Tweet
Share
7.97K Views

Join the DZone community and get the full member experience.

Join For Free

Serverless computing, also closely associated with Functions-as-a-Service (FaaS), is defined by stateless compute containers and modeled for an event-driven solution.

FaaS provides a platform allowing the developers to execute code in response to events without the complexity of building and maintaining the infrastructure. The third-party apps or services would manage the server-side logic and state.

A serverless solution explained in the blog "Serverless Architecture-The Future of Business Computing" consists of a web server, FaaS layer, security token service (STS), user authentication, and database.

Framework for Serverless Architecture


  • Client application: The UI of your application is best-rendered client side in Javascript which allows you to use a simple, static web server.
  • Web server: Amazon S3 provides a robust and simple web server. All of the static HTML, CSS and js files for your application can be served from S3.
  • FaaS solution: It is the key enabler in serverless architecture. Some popular examples of FaaS are AWS Lambda, Google Cloud Functions, and Microsoft Azure Functions. AWS Lambda is used in this framework. The application services for logging in and accessing data will be built as Lambda functions. These functions will read and write from your database and provide JSON responses.
  • Security Token Service (STS): This will generate temporary AWS credentials (API key and secret key) for users of the application. These temporary credentials are used by the client application to invoke the AWS API (and thus invoke Lambda).
  • User authentication: AWS Cognito is an identity service which is integrated with AWS Lambda. With Amazon Cognito, you can easily add user Sign-up and sign-in to your mobile and web apps. It also has the options to authenticate users through social identity providers such as Facebook, Twitter, or Amazon, with SAML identity solutions, or by using your own identity system.
  • Database: AWS DynamoDB provides a fully managed NoSQL database. DynamoDB is not essential for a serverless application but is used as an example here.

For a detailed implementation of this architecture, you can visit the blog Serverless Architectures using AWS Lambda by Tony Fendall. He has comprehensively explained all the elements of the system with a cost breakdown and links to some demos.

Organizations that are already invested in cloud technologies will become the early adopters of serverless computing. Some of the future applications of serverless technology are Blockchain, IoT, gaming, and enterprise middleware. It inherently provides benefits of low operational cost, scaling, and less time to market. This technology has potential to become the foundational pieces of modern distributed systems. But as described in my previous post on 'The Drawbacks of Serverless Architecture', adopting serverless systems should take into consideration the over-reliance on third-party APIs and architectural complexity.

AWS Architecture mobile app Database Framework Security token service Web Service azure AWS Lambda

Opinions expressed by DZone contributors are their own.

Trending

  • Structured Logging
  • Integrating AWS With Salesforce Using Terraform
  • Scaling Site Reliability Engineering (SRE) Teams the Right Way
  • Web Development Checklist

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: