Get Started Building Your First Serverless Event Driven Application Svs209

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.