Title
AWS re:Invent 2022 - Get started building your first serverless, event-driven application (SVS209)
Summary
- Presenter: Emily Shea, head of application integration go-to-market at AWS.
- Audience: Mix of beginners to experienced developers in serverless technology.
- Personal Journey: Emily shared her personal experience of learning serverless from a non-tech background.
- Serverless Benefits: Focus on business logic, rapid deployment, and less time on infrastructure.
- Content:
- Overview of serverless services (Lambda, API Gateway, S3, DynamoDB, SQS, SNS, EventBridge, Step Functions, Amplify, Cognito).
- Developer tooling and testing strategies for serverless applications.
- Evolution of a serverless application from MVP to adding features like user authentication and audio file generation.
- Cost-effectiveness of serverless applications.
- Example Application: A Chinese language learning app that sends daily vocab reminders, which evolved to include user subscriptions, a UI, and audio pronunciation features.
- Key Tips:
- Use infrastructure as code frameworks (e.g., AWS SAM).
- Automate deployment pipelines.
- Write unit tests for complex logic within Lambda functions.
- Test against real AWS services in the cloud for integration-heavy functions.
- Consider DynamoDB for new applications and design around access patterns.
- Use workflows (e.g., Step Functions) for orchestrating services.
- Extend applications with events for easy scalability.
- Resources: Emily's Twitter, the Tiantian website, GitHub repository, Serverless Land, and AWS Skill Builder program.
Insights
- Serverless Adoption: The audience's varying levels of experience with serverless technology indicate a growing interest and adoption rate among developers.
- Learning Curve: Emily's non-technical background and successful transition into serverless development suggest that serverless technologies are accessible to a broader range of individuals, not just those with a technical background.
- Cost Efficiency: The example application's low operational cost demonstrates the cost-effectiveness of serverless architectures, especially for applications with sporadic usage patterns.
- Infrastructure as Code: The emphasis on using frameworks like AWS SAM for deploying serverless applications highlights the industry's shift towards infrastructure as code for better maintainability and scalability.
- Testing Strategies: The distinction between unit testing for complex logic and cloud testing for integration-heavy functions provides valuable guidance for developers on effective testing practices in a serverless environment.
- Event-Driven Architecture: The use of events to extend the application showcases the flexibility and scalability of event-driven architectures, which are core to serverless applications.
- DynamoDB Design: The focus on designing data structures in DynamoDB around access patterns rather than traditional relational models underscores the importance of understanding the nuances of NoSQL databases when building serverless applications.
- Community Resources: The mention of Serverless Land and AWS Skill Builder indicates AWS's commitment to providing educational resources to the developer community, fostering a deeper understanding of serverless technologies.