Building a Multi Region Serverless Application with Aws Appsync Fwm310

Title

AWS re:Invent 2022 - Building a multi-Region serverless application with AWS AppSync (FWM310)

Summary

  • Ozioma Uzebu, a Senior Solutions Architect at AWS, presents on building multi-region serverless applications using AWS AppSync.
  • The talk covers the basics of GraphQL and AWS AppSync, including benefits such as eliminating over-fetching/under-fetching, decoupling front-end and back-end development, and built-in support for real-time APIs.
  • Multi-region deployment of AWS AppSync is discussed, including reasons for and against it, such as complexity, cost, data replication, and testing.
  • Use cases for multi-region deployment include business continuity/disaster recovery, improved latency for geographically dispersed users, and data residency requirements.
  • Routing options for multi-region AppSync are explored, including Amazon Route 53 with API Gateway or CloudFront with Lambda@Edge.
  • The architecture for non-critical and critical workloads is detailed, including active-active patterns and the use of DynamoDB Global Tables for data replication.
  • Subscription support in multi-region setups is addressed using local resolvers and DynamoDB streams.
  • Management of regional failures and authorization methods suitable for multi-region deployments are discussed.
  • A demo showcases an active-active AppSync deployment, routing control with Amazon Route 53 Application Recovery Controller, and failover/failback procedures.
  • Resources for getting started with multi-region AppSync deployments are provided, including a CDK app on GitHub and a blog post.

Insights

  • AWS AppSync is a powerful tool for building serverless applications with GraphQL, offering benefits like efficient data fetching and real-time updates.
  • Multi-region deployment of AppSync can be complex and costly but is necessary for certain use cases such as disaster recovery, low latency, and compliance with data residency laws.
  • The choice of routing strategy and data replication method is critical in a multi-region setup, with options like Amazon Route 53, API Gateway, CloudFront, and DynamoDB Global Tables available.
  • Subscription support across regions requires careful architecture, utilizing local resolvers and AWS services like DynamoDB streams and Lambda functions.
  • Managing regional failover involves monitoring, alarms, and the use of services like Amazon Route 53 Application Recovery Controller to switch traffic between regions.
  • Authorization in a multi-region context should avoid single points of failure, with AWS Lambda Authorizer being a recommended solution.
  • AWS provides resources such as CDK templates and blog posts to help developers get started with multi-region AppSync deployments.