it’s better than 2, elasticity is better than any number Amazon EC2 Auto Scaling Amazon RDS Database Application Load Balancer Customers Amazon Aurora RDS for MySQL RDS for PostgreSQL RDS for MariaDB RDS for Oracle RDS for SQL Server
the database is more difficult Amazon EC2 Auto Scaling Amazon Aurora Database Application Load Balancer Customers Amazon Aurora MySQL or PostgreSQL compatible
Pods, and Services Amazon Aurora MySQL or PostgreSQL compatible Amazon DynamoDB Amazon DocumentDB with MongoDB compatibility Amazon Neptune (Graph) Amazon QLDB (Ledger) Amazon Managed Apache Cassandra Service Amazon ECS Amazon EKS Task Pod Service
storage AWS Lambda Function Function Function Amazon API Gateway Application Load Balancer AWS SDK Lambda Invoke API sync/async Amazon S3 Bucket HTML, CSS, JS Images
storage and authentication AWS Lambda Function Function Function Amazon API Gateway Application Load Balancer AWS SDK Lambda Invoke API sync/async Amazon S3 Bucket Amazon Cognito User Auth HTML, CSS, JS Images
does serverless work? API Gateway Storage Databases Analytics . . . Your unique business logic API call User uploads a picture Customer data updated Anomaly detected . . . Fully-managed services Events Functions
and scalability – Fully managed services Region Availability Zone Availability Zone Availability Zone API Gateway Lambda Function DynamoDB Table S3 Bucket
real-time apps – What to build? • Building a chat is the mandatory example for WebSockets • Can I build something that can help in being a “better” person? • Not in person communication is hard • Can machine learning help? Some services are super easy to use!
build a “Positive Chat” J • Avoid negative sentiment • Reject negative sentences • Positive sentiment gamification • Automatically translate between different languages • Extract message topics to improve searchability and discoverability • Create and update a chat room “tag cloud” • Search or filter messages by “tag”
build a “Positive Chat” J • Attach images to messages • Moderate content • Describe image content (objects, people, emotions) • Find text in images • Anonymize people faces • For all people or based on estimated age • Cover faces with emoticon based on actual emotions