S V S 3 3 7 - R Best practices for building multi-region, active- active serverless applications

Adrian Hornsby Principal Evangelist Web Services

© 2019, , Inc. or its affiliates. All rights reserved. Why build a global architecture? Once upon a time …

Origin And now . . .

Origin ~300 ms Improve latency for end users

Origin Origin Improve availability and disaster recovery

Service 1 Service 1

Service 2 Applications in Applications in Service 2 US West US East Service 3 Service 3 Service 4 Service 4

Users from Users from San Francisco New York Amazon global network Cross-region VPC peering

Origin Origin cross-region replication

Bucket with Bucket with objects objects Amazon DynamoDB global https://aws.amazon.com/blogs/aws/new-convert-your-single-region-amazon-dynamodb-tables-to-global-tables/ Active-Active | Active-Passive | What to do? Serverless cost model is a huge advantage here! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. > Amazon API Gateway > AWS Lambda > Amazon DynamoDB

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region

Amazon API Gateway AWS Lambda Amazon DynamoDB

Region us-east-1

Global Table Amazon Route 53 Region https://global.adhorn.me

Amazon API Gateway AWS Lambda Amazon DynamoDB

Region us-west-2 Multi-region with Route 53 Amazon Route 53 Latency-based routing

Amazon Route 53

Region Region

Application Application Geo-based routing

Amazon Route 53

Region Region

Application Application Weighted round-robin routing

Amazon Route 53

Region Region

Application Application DNS failover

Amazon Route 53

Region Region

Application Application Region

Amazon DynamoDB

Region us-east-1

Global Table

Region

Amazon DynamoDB

Region us-west-2 Region

AWS Lambda Amazon DynamoDB

Region us-east-1

Global Table

Region

AWS Lambda Amazon DynamoDB

Region us-west-2

API Gateway Region Custom Domain Name

Regional API Endpoint Amazon API Gateway AWS Lambda

https://globalddb.adhorn.me

Region Amazon Route 53 Custom Domain Name

Regional API Endpoint Amazon API Gateway AWS Lambda Route 53: Traffic policy Health checks with Route 53 Voilà! Region

Amazon API Gateway AWS Lambda Amazon DynamoDB

Region us-east-1

Global Table Amazon Route 53 Region https://global.adhorn.me

Amazon API Gateway AWS Lambda Amazon DynamoDB

Region us-west-2 AWS Global Accelerator > Application Load Balancer > Lambda > DynamoDB

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region eu-central-1

Global Table AWS Global Accelerator Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region us-west-2 AWS Global Accelerator

Region

Amazon DynamoDB

Region eu-central-1

Global Table Region

Amazon DynamoDB

Region us-west-2

Region

AWS Lambda Amazon DynamoDB

Region eu-central-1

Global Table Region

AWS Lambda Amazon DynamoDB

Region us-west-2

Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region eu-central-1

Global Table Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region us-west-2

Voilà! Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region eu-central-1

Global Table AWS Global Accelerator Region

Application Load Balancer AWS Lambda Amazon DynamoDB

Region us-west-2 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://medium.com/@adhorn Learn serverless with AWS Training and Certification Resources created by the experts at AWS to help you learn modern application development

Free, on-demand courses on serverless, including Deep Dive: Lambda@Edge and Deep Dive on AWS Fargate

Additional digital and classroom trainings cover modern application development and computing

Visit the Learning Library at https://aws.training

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you!

Adrian Hornsby [email protected]

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.