Twelve-factor apps are becoming prevalent these days. Isolating dependencies, having backing services, disposability and stateless processes are common features of serverless applications. Serverless applications are triggered by external events and they invoke code deployed in the environment. The code is loosely coupled with other functional code and designed to perform a single task at a time. Serverless Frameworks orchestrate the code at the runtime.

AWS Lambda, Google Cloud,, IBM OpenWhisk, Azure Functions, Serverless Framework and Zappa are the serverless environments used as function as a service platform (FaaS). The serverless application might have functionality such as authentication, authorization, page navigation, searching, parsing json, transactions, scheduling, processing, and messages from stream or queue. The timeouts are configured for the serverless apps. Sometimes, maximum is around 5 minutes before being stopped. These limits are for functions as a service deployed on AWS Lambda, Microsoft Azure and Google Cloud Functions. AWS has a limit of 1000 concurrent executions for the functions. On special requests, AWS can raise the limit to a higher number in the order of thousands.

The architecture of serverless apps needs to have different coordinated FaaS functions. These functions will use API gateway for configuring routes and endpoints. The request handling, routing & response management processes are handled by API Gateway. CloudFront distribution can be configured as a content delivery network for caching responses and delivery attached to API Gateway. The serverless app lifetime is the time taken for request processing and response sent to API Gateway. On AWS Lambda, Zappa Serverless framework named after guitarist is popular for creating serverless applications. The processing time and the cost associated is cheaper than IaaS/PaaS hosts like Ec2, Heroku etc., The apps built can be scaled to billions of events and no additional effort is required. Lambda can handle large projects and Zappa can be set through slim_handler as true.

#serverless #zappa

Zappa - Serverless Python Web Services
1.55 GEEK