Serverless Framework ● Most widely used Serverless toolkit ● Released in 2015 ● Simple Developer Experience ● Focus on Functions, not Cloud Infrastructure ● Cloud-agnostic - AWS provider: - Compiles to CloudFormation - deployed as CloudFormation Stack
Deployment Frameworks AWS SAM Terraform + Easy to use + Official AWS Support + SAM Local Docker - Missing basic features - AWS only + Great for infrastructure + Cloud agnostic - Verbose - No extra Serverless support - Steap learning curve Serverless Framework + Easy to use + Cloud agnostic + Biggest community + Easy local testing* - Limited local testing for Java
When do coldstarts happen? ● First invocation instance ● Concurrent invocations ● After provider resource clean up ● After deployment & configuration change
AWS Lambda Custom Runtime ● Implement AWS Lambda in ANY language ● Runtime triggers the Lambda function handler ● Can be included in the Function deployment - Executable file: bootstrap
Conclusion ● Deployment ✅ Serverless Framework or AWS SAM ✅ Safe deployments with CodeDeploy ✅ Separate stateful and stateless parts of build ● Performance ✅ Critical latency: nodejs ✅ Keep an eye on GraalVM
Get started! Amazon Web Services — a practical guide https://github.com/open-guides/og-aws AWS Certification preparation https://bit.ly/2aroFYb Serverless framework https://serverless.com AWS Well-Architected https://aws.amazon.com/architecture/well-architected The Burning Monk - Yan Cui https://theburningmonk.com/
Links AWS re:Invent 2017: Become a Serverless Black Belt https://www.youtube.com/watch?v=oQFORsso2go A Serverless Journey: Under the Hood of AWS Lambda https://youtu.be/QdzV04T_kec