SlideShare ist ein Scribd-Unternehmen logo
1 von 73
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Adrian Hornsby, Cloud Architecture Evangelist
@adhorn
Building Global, Multi-Region
Serverless Backends
(powered by DynamoDB Global Tables)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Session objectives
1. Understand System Reliability and Availability.
2. Understand why we build a Multi-Region Active-Active architecture.
3. Understand how to build a Multi-Region Active-Active architecture
on AWS.
4. Hands-on Demo: Building Multi-Region Serverless App.
5. Conclusion.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
System Reliability and Availability
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Failures are a given and
everything will eventually
fail over time.
Werner Vogels
CTO – Amazon.com
“ “
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
System failure rate
Early Failures
Wear Out Failures
Observed Failures
Random Failures
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
System failure rate
For high-velocity deployments
Early Failures
Wear Out Failures
Observed Failures
Random Failures
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
System Availability
Availability =
Normal Operation Time
Total Time
MTBF**
MTBF** + MTTR*
=
* Mean Time To Repair (MTTR)
**Mean Time Between Failure (MTBF)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability
Availability Downtime per year Categories
95% (1-nine) 18 days 6 hours
Batch processing, Data extraction,
Load jobs.
99% (2-nines) 3 days 15 hours Internal Tools, Project Tracking
99.9% (3-nines) 8 hours 45 minutes Online Commerce
99.99% (4-nines) 52 minutes Video Delivery, Broadcast systems
99.999% (5-nines) 5 minutes Telecom Industry (ATM Transactions)
99.9999% (6-nines) 31 seconds Answering to my loved one*
* Joke J
http://royal.pingdom.com/wp-content/uploads/2015/04/pingdom_uptime_cheat_sheet.pdf
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability in Series
Part X Part Y
A = Ax Ay
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability in Series
Component Availability Downtime
X 99% (2-nines) 3 days 15 hours
Y 99.99% (4-nines) 52 minutes
X and Y Combined 98.99% 3 days 16 hours 33 minutes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability in Parallel
A = 1 – (1 – Ax)2
Part X
Part X
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability in Parallel
Component Availability Downtime
X 99% (2-nines) 3 days 15 hours
Two X in parallel 99.99% (4-nines) 52 minutes
Three X in parallel 99.9999% (6-nines) 31 seconds
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“Component redundancy increases
availability significantly!”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability Zone A Availability Zone B Availability Zone C
AWS Region
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Availability Zone A Availability Zone B Availability Zone C
Multi-AZ Well-Architected
Application
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
Amazon
RDS
Amazon
ElastiCache
Amazon
S3
Amazon
EFS
Amazon
SQS
Amazon
Kinesis
Amazon
ElasticSearch
Default
Configurable for
multi-AZ deployment
Some of the Regional AWS Services
AWS
Lambda
Amazon
API Gateway
AWS
ELB
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Regional services
AZ1 AZ2 AZ3
Service XYZ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
No servers to provision
or manage
Scales with usage
Never pay for idle Availability and fault
tolerance built in
Why Serverless components??
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• 18 Geographic Regions
• 50 Availability Zones (AZs)
• 4 regions and 12 more Availability Zones announced
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cost of Availability (approx.)
Cost
Availability
Complexity
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Generally speaking a reliable machine has high
availability but an available machine may or
may not be very reliable.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
On reliability
Ability of a system to :
1. Recover from infrastructure or service disruptions
2. Dynamically acquire computing resources to meet demand
3. Mitigate disruptions such as misconfigurations or transient network issues.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2 important lesson learned
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Exponential Backoff
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Message passing for async. patterns
A
Queue
B
A
Queue
BListener
Pub-Sub
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Web
Instances
Worker
Instance
Worker
Instance
Queue
API
Instance
API
Instance
API
Instance
API: {DO foo}
PUT JOB: {JobID: 0001, Task: DO foo}
API: {JobID: 0001}
GET JOB: {JobID: 0001, Task: DO foo}
Cache
Result:
{
JobID: 0001,
Result: bar
}
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Worker
Instance
Worker
Instance
Queue
API
Instance
API
Instance
API
Instance
Cache
Amazon SNS
Push Notification
User
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Well-Architected Framework
Operational Excellence
Security
Reliability
Performance Efficiency
Cost Optimization
https://aws.amazon.com/architecture/well-architected/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why build a Multi-Region
Active-Active architecture?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why Multi-Region?
1. Improve Latency for end-users
~300ms
~140ms
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why Multi-Region?
1. Improve Latency for end-users
2. Disaster Recovery
Applications
in US West
Applications
in US East
Users from
San Francisco
Users from
New York
Service 1
Service 2
Service 3
Service 4
Service 1
Service 2
Service 3
Service 4
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why Multi-Region?
1. Improve Latency for end-users
2. Disaster Recovery
3. Business Requirements
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Netflix 2013
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Netflix 2016
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Chaos Engineering
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How to build a Multi-Region Architecture on
AWS.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Data Replication
Component A
Component B
Component C
Latency < 5 ms
Synchronous Asynchronous
Latency > 5 ms
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Process A Process B Process A Process B
Synchronous Asynchronous
Waiting
Working
Continues
get or fetch resultGet result
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Reliable & Secure Network
AWS Region
A
AWS Region
B
Amazon Global Network
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
James Hamilton – 2016 re:Invent
Vice President & Distinguished Engineer
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Multi-Region Multi-VPC Connectivity
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
S3 - Cross-Region Replication
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cross-Region Read Replicas for Amazon RDS
** For Aurora, MySQL,
MariaDB and PostgreSQL
engines.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“Simple” Cross-Region Usage Pattern
• Regional Reads
• All critical writes traffic
to a single master
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Aurora multi-master - scale out reads & writes
First MySQL compatible DB service with scale-out across multiple data centers
Zero application downtime from ANY instance failure
Zero application downtime from ANY AZ failure
Faster write performance and higher scale
Sign up for single-region multi-master preview today;
Multi-Region Multi-Master coming in 2018
Availability
Zone 1
Scale out both reads and writes
Availability
Zone 2
Availability
Zone 3
Application
Read/Write
Master 1
Shared distributed storage volume
Read/Write
Master 2
Read/Write
Master 3
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB
Fast and flexible NoSQL database service for any scale
Fast, consistent
performance
Highly scalable Fully managed Business critical
reliability
Consistent single-digit millisecond
latency; DAX in-memory
performance reduces response
times to microseconds
Auto-scaling to hundreds
of terabytes of data that
serve millions of
requests per second
Automatic provisioning,
infrastructure
management, scaling,
and configuration with
zero downtime
Data is replicated across
fault tolerant Availability
Zones, with fine-grained
access control
The
imag
e
part
with
relati
onshi
p ID
rId3
was
not
foun
d in
the
file.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Prime Day 2017 Metrics
Block Storage – Use of Amazon Elastic Block Store (EBS) grew by 40% year-over-year, with
aggregate data transfer jumping to 52 petabytes (a 50% increase) for the day and total I/O requests
rising to 835 million (a 30% increase).
NoSQL Database – Amazon DynamoDB requests from Alexa, the Amazon.com sites, and the Amazon
fulfillment centers totaled 3.34 trillion, peaking at 12.9 million per second.
Stack Creation – Nearly 31,000 AWS CloudFormation stacks were created for Prime Day in order to
bring additional AWS resources on line.
API Usage – AWS CloudTrail processed over 50 billion events and tracked more than 419 billion, all in
support of Prime Day.
Configuration Tracking – AWS Config generated over 14 million Configuration items for AWS resources.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB Global Tables (GA)
First fully managed, multi-master, multi-region database
Build high performance, globally distributed applications
Low latency reads & writes to locally available tables
Disaster proof with multi-region redundancy
Easy to set up and no application rewrites required
Globally dispersed users
Replica (N. America)
Replica (Europe)
Replica (Asia)
Global App
Global Table
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB Streams
• Each stream record appears exactly once in the stream.
• For each item that is modified in a DynamoDB table, the
stream records appear in the same sequence as the actual
modifications to the item
Amazon
DynamoDB
AWS
Lambda
Streams
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Route 53
• AWS’s Authoritative Domain Name Service.
• Highly available and scalable.
• Supports Traffic Flow through a variety of routing, all
of which can be combined with DNS Failover.
• Enable a variety of low-latency, fault-tolerant
architectures.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traffic Routing with Route53
1. Latency Based Routing
Amazon
Route53
Resource A
Resource B
137ms latency
76ms latency
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traffic Routing with Route53
1. Latency Based Routing
2. Geo DNS
Amazon
Route53
Resource A
In US
Resource B
in EU
User in US
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traffic Routing with Route53
1. Latency Based Routing
2. Geo DNS
3. Weighted Round Robin
Amazon
Route53
Resource A
In US
Resource B
in EU
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traffic Routing with Route53
1. Latency Based Routing
2. Geo DNS
3. Weighted Round Robin
4. DNS Failover
Amazon
Route53
Resource A
In US
Resource B
in EU
User in US
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hands-on Demo:
Building Multi-Region Serverless Application
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
Amazon
Route53
eu-west-1
us-east-1
GlobalTables
https://globalddb.adhorn.me/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
Amazon
DynamoDB
eu-west-1
us-east-1
GlobalTables
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
AWS Lambda
Amazon
DynamoDB
AWS Lambda
eu-west-1
us-east-1
GlobalTables
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambda Function
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
eu-west-1
us-east-1
GlobalTables
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
us-west-2
us-east-1
Client
Amazon
Route 53
Regional
API
Endpoint
Regional
API
Endpoint
Custom
Domain
Name
Custom
Domain
Name
API Gateway
API Gateway
Lambda
Lambda
globalddb.adhorn.me
CNAME
CNAM
E
Multi-Region with API Gateway
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Route53: Traffic Policy
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
Amazon
DynamoDB
AWS LambdaAmazon API
Gateway
Amazon
Route53
eu-west-1
us-east-1
GlobalTables
https://globalddb.adhorn.me/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Conclusion
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
We learned about
1. System Reliability and Availability.
2. Why to build a Multi-Region Active-Active architecture.
3. How to build a Multi-Region Active-Active architecture on AWS.
4. We looked at a Multi-Region Serverless App
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thanks you!
@adhorn #BuildOnAWS
https://medium.com/@adhorn

Weitere ähnliche Inhalte

Was ist angesagt?

Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSAmazon Web Services
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One DayAmazon Web Services
 
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...Amazon Web Services
 
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksOverview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksAmazon Web Services
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformAmazon Web Services
 
Introduction to the Serverless Cloud
Introduction to the Serverless CloudIntroduction to the Serverless Cloud
Introduction to the Serverless CloudAmazon Web Services
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWSAmazon Web Services
 
SRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessSRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessAmazon Web Services
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017Amazon Web Services
 
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdfSRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdfAmazon Web Services
 
Building Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSBuilding Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSAmazon Web Services
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017Amazon Web Services
 

Was ist angesagt? (20)

Serverless Developer Experience
Serverless Developer ExperienceServerless Developer Experience
Serverless Developer Experience
 
Serverless DevOps to the Rescue
Serverless DevOps to the RescueServerless DevOps to the Rescue
Serverless DevOps to the Rescue
 
Serverless - State of the Union
Serverless - State of the UnionServerless - State of the Union
Serverless - State of the Union
 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECS
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One Day
 
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...
Authoring and Deploying Serverless Applications with AWS SAM - SRV311 - re:In...
 
re:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Servicesre:Invent 2018: AI/ML Services
re:Invent 2018: AI/ML Services
 
Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech TalksOverview of Serverless Application Deployment Patterns - AWS Online Tech Talks
Overview of Serverless Application Deployment Patterns - AWS Online Tech Talks
 
Create a Serverless Image Processing Platform
Create a Serverless Image Processing PlatformCreate a Serverless Image Processing Platform
Create a Serverless Image Processing Platform
 
Introduction to the Serverless Cloud
Introduction to the Serverless CloudIntroduction to the Serverless Cloud
Introduction to the Serverless Cloud
 
Serverless - State Of the Union
Serverless - State Of the UnionServerless - State Of the Union
Serverless - State Of the Union
 
Getting Started with Docker On AWS
Getting Started with Docker On AWSGetting Started with Docker On AWS
Getting Started with Docker On AWS
 
SRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessSRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with Serverless
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017
Best Practices for Orchestrating AWS Lambda Workloads - SRV335 - re:Invent 2017
 
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdfSRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
SRV332_Building Serverless Real-Time Data Processing (Now with Unicorns!).pdf
 
Building Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWSBuilding Scalable and Secure Mobile Apps with AWS
Building Scalable and Secure Mobile Apps with AWS
 
What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017What's New in Serverless - SRV305 - re:Invent 2017
What's New in Serverless - SRV305 - re:Invent 2017
 

Ähnlich wie Building Global Serverless Backends powered by Amazon DynamoDB Global Tables

Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.Adrian Hornsby
 
Building Multiregion Serverless Backends
Building Multiregion Serverless BackendsBuilding Multiregion Serverless Backends
Building Multiregion Serverless BackendsAmazon Web Services
 
Building Global Serverless Backends
Building Global Serverless BackendsBuilding Global Serverless Backends
Building Global Serverless BackendsAmazon Web Services
 
How to Design a Multi-Region Active-Active Architecture
How to Design a Multi-Region Active-Active ArchitectureHow to Design a Multi-Region Active-Active Architecture
How to Design a Multi-Region Active-Active ArchitectureAmazon Web Services
 
ARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureAmazon Web Services
 
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...Amazon Web Services
 
Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017Amazon Web Services
 
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...Amazon Web Services
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...Amazon Web Services
 
Running Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSRunning Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSAmazon Web Services
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAmazon Web Services
 
Journey Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million UsersJourney Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million UsersAdrian Hornsby
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Adrian Hornsby
 
Learn how to build serverless applications using the AWS Serverless Platform-...
Learn how to build serverless applications using the AWS Serverless Platform-...Learn how to build serverless applications using the AWS Serverless Platform-...
Learn how to build serverless applications using the AWS Serverless Platform-...Amazon Web Services
 
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta pengguna
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta penggunaScale Website dan Mobile Applications Anda di AWS hingga 10 juta pengguna
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta penggunaAmazon Web Services
 
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...New Relic
 
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...Amazon Web Services
 
Reactive Architectures with Microservices
Reactive Architectures with MicroservicesReactive Architectures with Microservices
Reactive Architectures with MicroservicesAWS Germany
 
建構全球跨區域 x Active-Active架構的無伺服器化後台服務
建構全球跨區域  x Active-Active架構的無伺服器化後台服務建構全球跨區域  x Active-Active架構的無伺服器化後台服務
建構全球跨區域 x Active-Active架構的無伺服器化後台服務Amazon Web Services
 
ARC207_Monitoring Performance of Enterprise Applications on AWS
ARC207_Monitoring Performance of Enterprise Applications on AWSARC207_Monitoring Performance of Enterprise Applications on AWS
ARC207_Monitoring Performance of Enterprise Applications on AWSAmazon Web Services
 

Ähnlich wie Building Global Serverless Backends powered by Amazon DynamoDB Global Tables (20)

Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.Building a Multi-Region, Active-Active Serverless Backends.
Building a Multi-Region, Active-Active Serverless Backends.
 
Building Multiregion Serverless Backends
Building Multiregion Serverless BackendsBuilding Multiregion Serverless Backends
Building Multiregion Serverless Backends
 
Building Global Serverless Backends
Building Global Serverless BackendsBuilding Global Serverless Backends
Building Global Serverless Backends
 
How to Design a Multi-Region Active-Active Architecture
How to Design a Multi-Region Active-Active ArchitectureHow to Design a Multi-Region Active-Active Architecture
How to Design a Multi-Region Active-Active Architecture
 
ARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active ArchitectureARC319_Multi-Region Active-Active Architecture
ARC319_Multi-Region Active-Active Architecture
 
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
ARC306_High Resiliency & Availability Of Online Entertainment Communities Usi...
 
Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017Networking State of the Union - NET205 - re:Invent 2017
Networking State of the Union - NET205 - re:Invent 2017
 
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
SRV331_Build a Multi-Region Serverless Application for Resilience and High Av...
 
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
DEV325_Application Deployment Techniques for Amazon EC2 Workloads with AWS Co...
 
Running Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWSRunning Mission Critical Workloads on AWS
Running Mission Critical Workloads on AWS
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
 
Journey Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million UsersJourney Towards Scaling Your API to 10 Million Users
Journey Towards Scaling Your API to 10 Million Users
 
Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.Chaos Engineering: Why Breaking Things Should Be Practised.
Chaos Engineering: Why Breaking Things Should Be Practised.
 
Learn how to build serverless applications using the AWS Serverless Platform-...
Learn how to build serverless applications using the AWS Serverless Platform-...Learn how to build serverless applications using the AWS Serverless Platform-...
Learn how to build serverless applications using the AWS Serverless Platform-...
 
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta pengguna
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta penggunaScale Website dan Mobile Applications Anda di AWS hingga 10 juta pengguna
Scale Website dan Mobile Applications Anda di AWS hingga 10 juta pengguna
 
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...
ARC207 Monitoring Performance of Enterprise Applications on AWS: Understandin...
 
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
 
Reactive Architectures with Microservices
Reactive Architectures with MicroservicesReactive Architectures with Microservices
Reactive Architectures with Microservices
 
建構全球跨區域 x Active-Active架構的無伺服器化後台服務
建構全球跨區域  x Active-Active架構的無伺服器化後台服務建構全球跨區域  x Active-Active架構的無伺服器化後台服務
建構全球跨區域 x Active-Active架構的無伺服器化後台服務
 
ARC207_Monitoring Performance of Enterprise Applications on AWS
ARC207_Monitoring Performance of Enterprise Applications on AWSARC207_Monitoring Performance of Enterprise Applications on AWS
ARC207_Monitoring Performance of Enterprise Applications on AWS
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Building Global Serverless Backends powered by Amazon DynamoDB Global Tables

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Adrian Hornsby, Cloud Architecture Evangelist @adhorn Building Global, Multi-Region Serverless Backends (powered by DynamoDB Global Tables)
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Session objectives 1. Understand System Reliability and Availability. 2. Understand why we build a Multi-Region Active-Active architecture. 3. Understand how to build a Multi-Region Active-Active architecture on AWS. 4. Hands-on Demo: Building Multi-Region Serverless App. 5. Conclusion.
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. System Reliability and Availability
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Failures are a given and everything will eventually fail over time. Werner Vogels CTO – Amazon.com “ “
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. System failure rate Early Failures Wear Out Failures Observed Failures Random Failures
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. System failure rate For high-velocity deployments Early Failures Wear Out Failures Observed Failures Random Failures
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. System Availability Availability = Normal Operation Time Total Time MTBF** MTBF** + MTTR* = * Mean Time To Repair (MTTR) **Mean Time Between Failure (MTBF)
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability Availability Downtime per year Categories 95% (1-nine) 18 days 6 hours Batch processing, Data extraction, Load jobs. 99% (2-nines) 3 days 15 hours Internal Tools, Project Tracking 99.9% (3-nines) 8 hours 45 minutes Online Commerce 99.99% (4-nines) 52 minutes Video Delivery, Broadcast systems 99.999% (5-nines) 5 minutes Telecom Industry (ATM Transactions) 99.9999% (6-nines) 31 seconds Answering to my loved one* * Joke J http://royal.pingdom.com/wp-content/uploads/2015/04/pingdom_uptime_cheat_sheet.pdf
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability in Series Part X Part Y A = Ax Ay
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability in Series Component Availability Downtime X 99% (2-nines) 3 days 15 hours Y 99.99% (4-nines) 52 minutes X and Y Combined 98.99% 3 days 16 hours 33 minutes
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability in Parallel A = 1 – (1 – Ax)2 Part X Part X
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability in Parallel Component Availability Downtime X 99% (2-nines) 3 days 15 hours Two X in parallel 99.99% (4-nines) 52 minutes Three X in parallel 99.9999% (6-nines) 31 seconds
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “Component redundancy increases availability significantly!”
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability Zone A Availability Zone B Availability Zone C AWS Region
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Availability Zone A Availability Zone B Availability Zone C Multi-AZ Well-Architected Application
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Amazon RDS Amazon ElastiCache Amazon S3 Amazon EFS Amazon SQS Amazon Kinesis Amazon ElasticSearch Default Configurable for multi-AZ deployment Some of the Regional AWS Services AWS Lambda Amazon API Gateway AWS ELB
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Regional services AZ1 AZ2 AZ3 Service XYZ
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. No servers to provision or manage Scales with usage Never pay for idle Availability and fault tolerance built in Why Serverless components??
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • 18 Geographic Regions • 50 Availability Zones (AZs) • 4 regions and 12 more Availability Zones announced
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cost of Availability (approx.) Cost Availability Complexity
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Generally speaking a reliable machine has high availability but an available machine may or may not be very reliable.
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. On reliability Ability of a system to : 1. Recover from infrastructure or service disruptions 2. Dynamically acquire computing resources to meet demand 3. Mitigate disruptions such as misconfigurations or transient network issues.
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2 important lesson learned
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Exponential Backoff
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Message passing for async. patterns A Queue B A Queue BListener Pub-Sub
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Web Instances Worker Instance Worker Instance Queue API Instance API Instance API Instance API: {DO foo} PUT JOB: {JobID: 0001, Task: DO foo} API: {JobID: 0001} GET JOB: {JobID: 0001, Task: DO foo} Cache Result: { JobID: 0001, Result: bar }
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Worker Instance Worker Instance Queue API Instance API Instance API Instance Cache Amazon SNS Push Notification User
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Well-Architected Framework Operational Excellence Security Reliability Performance Efficiency Cost Optimization https://aws.amazon.com/architecture/well-architected/
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why build a Multi-Region Active-Active architecture?
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why Multi-Region? 1. Improve Latency for end-users ~300ms ~140ms
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why Multi-Region? 1. Improve Latency for end-users 2. Disaster Recovery Applications in US West Applications in US East Users from San Francisco Users from New York Service 1 Service 2 Service 3 Service 4 Service 1 Service 2 Service 3 Service 4
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why Multi-Region? 1. Improve Latency for end-users 2. Disaster Recovery 3. Business Requirements
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Netflix 2013
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Netflix 2016
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Chaos Engineering
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How to build a Multi-Region Architecture on AWS.
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Data Replication Component A Component B Component C Latency < 5 ms Synchronous Asynchronous Latency > 5 ms
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Process A Process B Process A Process B Synchronous Asynchronous Waiting Working Continues get or fetch resultGet result
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Reliable & Secure Network AWS Region A AWS Region B Amazon Global Network
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. James Hamilton – 2016 re:Invent Vice President & Distinguished Engineer
  • 41.
  • 42.
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Multi-Region Multi-VPC Connectivity
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. S3 - Cross-Region Replication
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cross-Region Read Replicas for Amazon RDS ** For Aurora, MySQL, MariaDB and PostgreSQL engines.
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “Simple” Cross-Region Usage Pattern • Regional Reads • All critical writes traffic to a single master
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aurora multi-master - scale out reads & writes First MySQL compatible DB service with scale-out across multiple data centers Zero application downtime from ANY instance failure Zero application downtime from ANY AZ failure Faster write performance and higher scale Sign up for single-region multi-master preview today; Multi-Region Multi-Master coming in 2018 Availability Zone 1 Scale out both reads and writes Availability Zone 2 Availability Zone 3 Application Read/Write Master 1 Shared distributed storage volume Read/Write Master 2 Read/Write Master 3
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Fast and flexible NoSQL database service for any scale Fast, consistent performance Highly scalable Fully managed Business critical reliability Consistent single-digit millisecond latency; DAX in-memory performance reduces response times to microseconds Auto-scaling to hundreds of terabytes of data that serve millions of requests per second Automatic provisioning, infrastructure management, scaling, and configuration with zero downtime Data is replicated across fault tolerant Availability Zones, with fine-grained access control The imag e part with relati onshi p ID rId3 was not foun d in the file.
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Prime Day 2017 Metrics Block Storage – Use of Amazon Elastic Block Store (EBS) grew by 40% year-over-year, with aggregate data transfer jumping to 52 petabytes (a 50% increase) for the day and total I/O requests rising to 835 million (a 30% increase). NoSQL Database – Amazon DynamoDB requests from Alexa, the Amazon.com sites, and the Amazon fulfillment centers totaled 3.34 trillion, peaking at 12.9 million per second. Stack Creation – Nearly 31,000 AWS CloudFormation stacks were created for Prime Day in order to bring additional AWS resources on line. API Usage – AWS CloudTrail processed over 50 billion events and tracked more than 419 billion, all in support of Prime Day. Configuration Tracking – AWS Config generated over 14 million Configuration items for AWS resources.
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Global Tables (GA) First fully managed, multi-master, multi-region database Build high performance, globally distributed applications Low latency reads & writes to locally available tables Disaster proof with multi-region redundancy Easy to set up and no application rewrites required Globally dispersed users Replica (N. America) Replica (Europe) Replica (Asia) Global App Global Table
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Streams • Each stream record appears exactly once in the stream. • For each item that is modified in a DynamoDB table, the stream records appear in the same sequence as the actual modifications to the item Amazon DynamoDB AWS Lambda Streams
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Route 53 • AWS’s Authoritative Domain Name Service. • Highly available and scalable. • Supports Traffic Flow through a variety of routing, all of which can be combined with DNS Failover. • Enable a variety of low-latency, fault-tolerant architectures.
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traffic Routing with Route53 1. Latency Based Routing Amazon Route53 Resource A Resource B 137ms latency 76ms latency
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traffic Routing with Route53 1. Latency Based Routing 2. Geo DNS Amazon Route53 Resource A In US Resource B in EU User in US
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traffic Routing with Route53 1. Latency Based Routing 2. Geo DNS 3. Weighted Round Robin Amazon Route53 Resource A In US Resource B in EU
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traffic Routing with Route53 1. Latency Based Routing 2. Geo DNS 3. Weighted Round Robin 4. DNS Failover Amazon Route53 Resource A In US Resource B in EU User in US
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hands-on Demo: Building Multi-Region Serverless Application
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB AWS LambdaAmazon API Gateway Amazon DynamoDB AWS LambdaAmazon API Gateway Amazon Route53 eu-west-1 us-east-1 GlobalTables https://globalddb.adhorn.me/
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Amazon DynamoDB eu-west-1 us-east-1 GlobalTables
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB AWS Lambda Amazon DynamoDB AWS Lambda eu-west-1 us-east-1 GlobalTables
  • 66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda Function
  • 67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB AWS LambdaAmazon API Gateway Amazon DynamoDB AWS LambdaAmazon API Gateway eu-west-1 us-east-1 GlobalTables
  • 68. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. us-west-2 us-east-1 Client Amazon Route 53 Regional API Endpoint Regional API Endpoint Custom Domain Name Custom Domain Name API Gateway API Gateway Lambda Lambda globalddb.adhorn.me CNAME CNAM E Multi-Region with API Gateway
  • 69. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Route53: Traffic Policy
  • 70. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB AWS LambdaAmazon API Gateway Amazon DynamoDB AWS LambdaAmazon API Gateway Amazon Route53 eu-west-1 us-east-1 GlobalTables https://globalddb.adhorn.me/
  • 71. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Conclusion
  • 72. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. We learned about 1. System Reliability and Availability. 2. Why to build a Multi-Region Active-Active architecture. 3. How to build a Multi-Region Active-Active architecture on AWS. 4. We looked at a Multi-Region Serverless App
  • 73. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thanks you! @adhorn #BuildOnAWS https://medium.com/@adhorn