Tuesday 24 September 2019

Serverless 3 tier architecture on AWS

Motive: How a 3 tier application stack can be migrated to AWS Lambda, what is pros and cons associated and expected serverless architecture.

What is mean by Serverless Concept: A serverless architecture is a way to build and run applications and services without having to manage infrastructure. Your application still runs on servers, but all the server management is done by AWS. You no longer have to provision, scale, and maintain servers to run your applications, databases, and storage systems.

 What is AWS Lambda and its working: AWS Lambda is a managed service of AWS, Lambda is a function as a service and was launched in 2014. This service automatic provision a server when a need/call for a function received and release the server once the call is over. The time taken in provision of service (when function call received) may vary from few seconds to 10 minutes to respond to first function query. If there is no function call for next 15 minutes then it starts release of the server and follow the same way for further process. This means theoretically, there may be reasonable delay to the request in such case for every first call after a timeout period.

Pros and Cons of using serverless services managed by AWS:
Pros:
    No operating systems to choose, patch, or manage.
    No servers to monitor, scale-out, or secure.
    No risk to infrastructure cost by over-provisioning.
    No risk to application performance by under-provisioning.
    Reduced Cost of Execution  

Cons:
  No Control Over Environment
  More Complex Call Patterns  
  Less control on Database compared to hosted on EC2  
  Need to investigate if this architecture suffice compliance requirement like PCIDDS or other if applicable as application stack's   environment is in hand of AWS support.

Expected Application Stack Architecture:



AWS S3: For Presentation Tier
AWS Application Gateway: For Integration Tier
AWS Lambda: DAO Tier
AWS Database: DB Tier