Best Practices for Advanced Serverless Developers Svs401

Title

AWS re:Invent 2022 - Best practices for advanced serverless developers (SVS401)

Summary

  • Serverless Mindset: Serverless is considered a mindset focusing on business value rather than underlying servers. It's about optimizing for operations and building within the cloud.
  • Event-Driven Applications: Emphasizes the importance of events as the language of serverless applications, promoting asynchronous patterns and event-carried state transfer for decoupling.
  • Serviceful Serverless: Encourages using managed services and features, reducing the need for custom Lambda code by using direct service integrations.
  • Lambda Capabilities: Discusses Lambda's invocation models, execution lifecycle, and optimization strategies, including cold start mitigation and leveraging Graviton2 processors.
  • Infrastructure as Code: Stresses the use of frameworks like SAM and CDK for defining cloud resources, ensuring security best practices, and enabling reusable templates for deployment across environments.
  • Development Workflow: Highlights the importance of testing quickly rather than just locally, using tools like SAM Accelerate for fast feedback cycles, and the benefits of isolated accounts and CI/CD pipelines.
  • Observability and Testing: Advocates for testing in production, observability-driven development, structured logging, and using tools like Lambda Power Tools for enhanced observability.

Insights

  • Serverless Evolution: AWS's serverless offerings have evolved beyond Lambda, with services like S3 and SQS being foundational. The serverless approach is ingrained in AWS's philosophy.
  • EventBridge: The service is highlighted for its event routing capabilities, allowing for sophisticated rules and integration patterns, reinforcing the importance of event-driven architectures.
  • Service Integrations: The talk suggests minimizing Lambda functions in favor of direct service integrations, which can lead to more efficient and cost-effective serverless architectures.
  • Cold Starts: The speaker provides detailed insights into Lambda's cold start process and offers practical tips for optimization, such as using provisioned concurrency and selecting the right memory configurations.
  • Infrastructure as Code (IaC): IaC is presented as a critical component of serverless best practices, with SAM and CDK being powerful tools for managing serverless applications.
  • Development Practices: The talk encourages a shift in development practices towards cloud-centric testing and development, leveraging the cloud for more accurate and efficient testing.
  • Observability: The importance of observability is underscored, with suggestions for using feature flags, canary testing, and structured logging to improve monitoring and troubleshooting of serverless applications.
  • Community Contributions: The speaker mentions open-source contributions like serverless patterns and Lambda Power Tools, indicating a strong community-driven aspect to AWS's serverless ecosystem.