M A Y 1 8 & 1 9 , 2 0 2 1 A Startup Journey on AWS: from Monolith to Serverless D E V 3 0 1 Agenda Startup Roadmaps Architectures Why Serverless Migrating a monolith to serverless microservices Takeaways Time Until Impact Roadmap Prioritisation in a Startup End of runway Needed At Roadmap Features #1 #2 #3 Needed At Needed At Time Until Impact Roadmap Prioritisation in a Startup End of runway Needed At Roadmap Features #1 #2 #3 #4 Needed At Needed At Needed At Focus on building applications Win Customers Build better products Release features faster Experiment and Innovate more often Focus on business logic If you build it... You must run it No infrastructure provisioning, no management Scale automatically Pay for value Highly available and secure Build Less, Deliver More : The Serverless Paradigm “The reality, of course, today is that if you come up with a great idea you don't get to go quickly to a successful product. There's a lot of undifferentiated heavy lifting that stands between your idea and that success." Jeff Bezos Chief Executive Officer, Amazon Monolith Does everything It’s OK to start with a Monolith, but... Disadvantages • Maintainability • Long deployment cycles • Scalability • Inflexibility © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservices Microservices Does one thing Types of applications built on AWS Server-based applications Containerized applications Serverless applications What is serverless? No infrastructure provisioning, no management Automatic scaling Pay for value Highly available and secure High-level, purpose-built services Code is almost exclusively business logic (less boilerplate) Pay-per-use pricing Serverless applications Greater peace of mind “No server is easier to manage than no server.” Werner Vogels VP & CTO, Amazon.com AWS Lambda AWS Fargate Amazon API Gateway Amazon SNS Amazon SQS AWS Step Functions COMPUTE DATA STORES INTEGRATION AWS AppSync Amazon Aurora Serverless Amazon S3 Amazon DynamoDB Amazon EventBridge Lambda functions API Gateway Core business logic RESTful microservices DynamoDB https://api.myapp.com AWS Cloud Mobile app Starting with serverless is simple 1-n Lambda function sets 1-n API Gateways Microservices environment . . . . . . Various clients, potentially including other microservices Various data tier components, as needed AWS Cloud DynamoDB Mobile client Amazon ElastiCache Amazon S3 Serverless scales easily IoT sensor Client Lambda functions Amazon S3 API Gateway Dynamic website content Web application Amazon CloudFront distribution Static website content (HTML/JS/CSS) DynamoDB Amazon RDS ElastiCache Amazon S3 https://api.example.com www.example.com VPC AWS Cloud Web browser Traditional services also work