does Serverless work? Storage Databases Analytics Machine Learning . . . Your unique business logic User uploads a picture Customer data updated Anomaly detected API call . . . Fully-managed services Events Functions
in the second half of 2015… and later on! APIs! ”Alexa!” & IoT Microservices DevOps Browser Web APIs Amazon Echo IoT Devices Services Data Streams DynamoDB Table S3 Bucket Lambda Function API Gateway Schedule
Invocations AWS Lambda Asynchronous Invocations (Event) Max event age Max retry attempt Destinations (to Lambda, SNS, SQS, EventBridge) ⇣ More controls for async and event-driven apps Scalability New Paradigm
Invocations Costs Scalability New Paradigm Kinesis / DynamoDB Streams Parallelization factor (no need for fan-outs) Failure-handling ⇣ Easier to scale streaming analytics and manage errors when processing a stream
Invocations Costs New Paradigm Application Load Balancer (ALB) Weighted Target Groups ⇣ Fine-grained deployments with ALB, too Stickiness! Create rules depending on Host, HTTP header/method, Query string, or Source IP Simpler migrations to serverless
Environment Latency Costs Scalability AWS Lambda Provisioned Concurrency ⇣ No more “cold starts” Real-time apps and games Applications with a slow initialization Download config/data on /tmp
Lambda – Provisioned Concurrency We do the initialization, you are responsible for the first invocation of the handler Avoid lazy initializations Integrated with CloudWatch Application Auto Scaling and AWS CodeDeploy
Environment Costs Scalability New Paradigm AWS Step Functions Express Workflows ⇣ Build more modular apps Separate business process flow from implementation
Integrations Costs Scalability New Paradigm Amazon Relational Database Service (RDS) RDS Proxy ⇣ Using relational databases in serverless apps is much easier AWS Secrets Manager stores the user name and password for the database
Integrations Costs New Paradigm Amazon EventBridge Schema Registry Rules can now be triggered by CloudWatch Alarms ⇣ Building event-driven apps with IDE integration Integrating PaaS solutions with your apps
Integrations Scalability New Paradigm Amazon Athena Create user defined functions (UDF) using Lambda functions Run federated queries ⇣ Using SQL for analyzing… almost anything!
Paradigm AWS Amplify Native iOS/Android Mobile Backends Amplify DataStore ⇣ Mobile backends for native apps Persistent on-device storage to write, read, and observe changes online or offline, and seamlessly sync to the cloud as well as across devices Service Integrations
Management for Lambda Functions Environment Variables Parameter Store AWS Secrets Manager AWS AppConfig In the function configuration For function-specific configurations Part of AWS Systems Manager Can be shared across multiple functions For secrets, can automate rotating secrets Integrated with the new RDS Proxy Part of AWS Systems Manager Full control during the roll out of configuration changes
Costs Scalability New Paradigm Tracing – AWS X-Ray Trace Maps – for single requests Simplified identification of service disruption – in Service Maps SNS/SQS support (added in July/August) Amazon API Gateway (since 2018) AWS AppSync (new) ⇣ More and easier observability
Costs Scalability New Paradigm Monitoring CloudWatch Embedded Metric Format Percentiles on CloudWatch metrics CloudWatch Synthetics CloudWatch ServiceLens CloudWatch Anomaly Detection (added in September) ⇣ More visibility into your application behavior
Savings Plans Simplify purchasing with a flexible pricing model applying to Amazon EC2, AWS Fargate, and AWS Lambda usage Recommendations in AWS Cost Explorer Any instance family, any region VMs, Containers, and Functions Flexibility
3 euros per interview Amazon Translate + Amazon Comprehend + Amazon SageMaker “By using AWS Lambda functions, we are running translations with just three lines of code” Siemens Employee Surveys less than one euro per interview Case Study
delivery Run simulation jobs and add logs to S3 bucket Lambda function FanOut Step Function parallel jobs Lambda function If successful, get output If failed, get execution history Start AWS RoboMaker Update Amazon DynamoDB with job IDS Aggregate Results Parse Logs logs in S3 bucket Amazon Simple Storage Service (Amazon S3) Amazon DynamoDB AWS RoboMaker Check simulation job status Trigger Lambda every 2 minutes Amazon CloudWatch Event Time Based Send task success/failure heartbeat Controller Step Function FanOut Tests Step Function AWS Step Functions workflow AWS Step Functions workflow Start controller execution and wait to finish 1 2 3 4 5 6
what can you do with serverless, now? ✓ Web/Mobile/IoT backends ✓ Batch/streaming analytics ✓ DevOps & IT automation ✓ Voice/text chat interfaces ✓ Real-time apps, multi-player games ✓ Complex async jobs/tasks/activities ✓ Reduce costs even more ✓ Reduce complexity ✓ And much, much more!