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.