DZone
Cloud Zone
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
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Cloud Zone > Serverless Multi-Tier Architecture on AWS

Serverless Multi-Tier Architecture on AWS

AWS's serverless tools enable developers to create a connected multi-tier architecture for easily maintainable and scaleable applications.

Aarti Parikh user avatar by
Aarti Parikh
·
Jul. 24, 19 · Cloud Zone · Analysis
Like (7)
Save
Tweet
11.86K Views

Join the DZone community and get the full member experience.

Join For Free

Multi-Tier Architecture

Multi-tier architecture is also known as n-tier architecture. In such architecture, an application is developed and distributed in more than one layer. The number of layers depends on business requirements, but three-tier architecture is the preferred choice and most commonly used. 

This three-tier architecture includes the Presentation tier, the Logic tier, and the Data tier.

Image titleTiers of Architecture

Tiers of Architecture


Users directly interact with the Presentation tier. The Logic tier contains code that translates the user's actions to the application’s behavior. The Data tier consists of storage that holds the data relevant to the application.

Thousands of servers could be used in a monolithic architecture to increase the performance of an application. This serverless multi-tier architecture pattern eliminates server management.

Following are the several benefits of using serverless services managed by AWS:

  1. No operating systems to choose, patch, or manage.

  2. No servers to monitor, scale-out, or secure.

  3. No risk to infrastructure cost by over-provisioning.

  4. No risk to application performance by under-provisioning.

Serverless Services

Serverless Services

Serverless Services

All the above services scale automatically to support the exact needs of the application.

Serverless Architecture

Image title

Serverless Architecture

Presentation Tier

In the above architecture, static content is hosted on Amazon S3 and distributed by Amazon CloudFront. Hosting static website content on Amazon S3 is an economical alternative to host content on server-based infrastructure. Also, a large amount of data can be stored in Amazon S3. Amazon CloudFront is a content delivery network to cache the static content, serve the dynamic and static content to improve webpage load times, and reduce network bandwidth costs.

AWS CognitoUser pool is a user directory that provides sign-up and a sign-in option for app users. It can also control who can access API in Amazon API Gateway

Logic Tier

For dynamic content, Route 53 sends the request to API Gateway through AWS WAF. From there, API Gateway Lambda functions trigger and store the data in Amazon S3 and DynamoDB or AWS Aurora.

Integration of Amazon’s API Gateway with AWS Lambda enables code functions to be triggered directly via HTTPS request. Both API Gateway and Lambda scale automatically regardless of the request volume required. These two services allow developers to focus on the code that matters to the application rather than on various other aspects of implementing the multi-tiered architecture.

For network privacy, AWS has the ability to create lambda functions within Amazon VPC

AWS WAF is a web application firewall that can be deployed on CloudFront to protect the application against DDoS attacks. WAF either allows or blocks traffic by defining security rules. Amazon Route 53 can connect user’s requests to CloudFront distribution through AWS WAF.

AWS Glue can run ETL (Extract, Transform, and Load) jobs based on an event such as getting a new data set. In the above architecture, as soon as new data (logs) becomes available in Amazon S3, Glue runs ETL jobs; these logs will then be pushed to Amazon CloudWatch and notifications can be sent through Amazon SNS from Amazon CloudWatch.

Data Tier

According to the application scenario, AWS Lambda will store the data to Amazon DynamoDB or AWS Aurora.

Amazon DynamoDB has the capability to store the infinitely scalable NoSQL database and also provides both provisioned and on-demand capacity modes so that costs can be optimized by specifying capacity per workload.

AWS Aurora is a MySQL- and PostgreSQL-compatible, fully-managed relational database service built for the traditional enterprise database that needs performance and availability with the cost-effectiveness of open source databases.

It has the ability to automatically start up, shut down, and scale capacity up or down based on the application’s needs. It’s a cost-effective solution for infrequent or unpredictable workloads.

Amazon Athena/Amazon Redshift Spectrum uses the AWS Glue as a central location to store and retrieve table metadata. It has the ability to analyze unstructured, semi-structured, and structured data store. Athena can also generate reports and Amazon QuickSightcan can be integrated with Athena for easy data visualization.

As per best practices, all services are connected with AWS IAM Role. In many scenarios, one can take advantage of this AWS managed service rather than managing a typical server-based infrastructure.

With the help of this serverless multi-tier architecture, one can easily create production application components that are easy to maintain, decouple, secure, and scale.

AWS Architecture Application firewall CloudFront Data (computing) Web Service Relational database

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Role of Development Team in an Agile Environment
  • 10 Steps to Become an Outstanding Java Developer
  • Choosing Between REST and GraphQL
  • How to Upload/Download a File To and From the Server

Comments

Cloud Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • 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
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo