SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
N O R D I C S
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building Global Services with
Serverless
Adrian Hornsby
Sr. Technical Evangelist
Amazon Web Services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why build a global architecture?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Once upon a time …
Origin
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
And Now …
Origin
~300ms
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Origin
Improve latency for end-users
Origin
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Improve availability and 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless cost model is a huge advantage here!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Global Network
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Origin
Cross region VPC peering
Origin
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon S3 cross-region replication
Bucket with
objects
Bucket with
objects
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Active-Active | Active-Passive | What to do?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
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
Amazon DynamoDB Global Tables
Fully managed, multi-master, multi-region database
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Aurora Serverless
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Multi-region with
Route 53
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Latency based routing
RegionRegion
Application Application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Geo-based routing
Region us-east-1Region us-west-2
Application Application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Weighted round robin routing
Region us-east-1Region us-west-2
Application Application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DNS failover
Region us-east-1Region us-west-2
Application Application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Route53: Traffic Policy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Health checks with Route 53
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
Global Table
https://global.adhorn.me
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
https://globalddb.adhorn.me
Regional
API
Endpoint
Custom
Domain
Name
Regional
API
Endpoint
Custom
Domain
Name
API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region us-east-1
Region us-west-2
Global Table
https://globalddb.adhorn.me
Voilà!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon CloudFront AWS Lambda
Lambda@Edge
Lambda@Edge
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Write Once, Run Lambda Functions Globally
N Virginia
AWS Location
AWS Location
AWS Location
AWS Location
AWS Location
AWS Location
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda@Edge Programming Model
exports.handler = (event, context, callback) => {
/* viewer-request and origin-request events
* have the request as input */
const request = event.Records[0].cf.request;
/* viewer-response and origin-response events
* have the response as input */
const response = event.Records[0].cf.response; */
/* Do the processing – say add a header */
/* When I am done I let CloudFront what to do next */
callback(null, request);
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
#awssummit
Multi-region Setup
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
#awssummit
Reduce latency for
global teams
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda @ Edge
exports.handler = (event, context, callback) => {
const request = event.Records[0].cf.request;
const region = extractRegionCookieValue(request.headers);
if (region)
request.origin.custom.domainName = `${region}`-int.frontapp.com`
return request;
}
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Global Accelerator
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region eu-central-1
Region eu-west-2
Global Table
2x Anycast IPs
Global
Accelerator
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region eu-central-1
Region eu-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region eu-central-1
Region eu-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region eu-central-1
Region eu-west-2
Global Table
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Region eu-central-1
Region eu-west-2
Global Table
2x Anycast IPs
Global
Accelerator
Voilà!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DNS Issues
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https://medium.com/@adhorn
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adrian Hornsby

More Related Content

What's hot

SageMaker Algorithms Infinitely Scalable Machine Learning
SageMaker Algorithms Infinitely Scalable Machine LearningSageMaker Algorithms Infinitely Scalable Machine Learning
SageMaker Algorithms Infinitely Scalable Machine Learning
Amazon Web Services
 
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
Amazon Web Services
 
Working with Amazon SageMaker Algorithms for Faster Model Training
Working with Amazon SageMaker Algorithms for Faster Model TrainingWorking with Amazon SageMaker Algorithms for Faster Model Training
Working with Amazon SageMaker Algorithms for Faster Model Training
Amazon Web Services
 
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019 RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
AWSKRUG - AWS한국사용자모임
 
AWS-DeepRacer-Workshop-HK-Donnie-Prakoso
AWS-DeepRacer-Workshop-HK-Donnie-PrakosoAWS-DeepRacer-Workshop-HK-Donnie-Prakoso
AWS-DeepRacer-Workshop-HK-Donnie-Prakoso
Amazon Web Services
 
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
Amazon Web Services Korea
 
The Basics - Creating a Scene
The Basics - Creating a SceneThe Basics - Creating a Scene
The Basics - Creating a Scene
Amazon Web Services
 
Adding a Sumerian Host to Your Scene
Adding a Sumerian Host to Your SceneAdding a Sumerian Host to Your Scene
Adding a Sumerian Host to Your Scene
Amazon Web Services
 
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019 딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
AWSKRUG - AWS한국사용자모임
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020
Marcia Villalba
 
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech TalkGet Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
Amazon Web Services
 

What's hot (11)

SageMaker Algorithms Infinitely Scalable Machine Learning
SageMaker Algorithms Infinitely Scalable Machine LearningSageMaker Algorithms Infinitely Scalable Machine Learning
SageMaker Algorithms Infinitely Scalable Machine Learning
 
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
Serving Five Billion Meals a Year, Compass Group Relies on AWS to Run SAP - E...
 
Working with Amazon SageMaker Algorithms for Faster Model Training
Working with Amazon SageMaker Algorithms for Faster Model TrainingWorking with Amazon SageMaker Algorithms for Faster Model Training
Working with Amazon SageMaker Algorithms for Faster Model Training
 
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019 RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
RoboMaker로 DeepRacer 자율 주행차 만들기 :: 유정열 - AWS Community Day 2019
 
AWS-DeepRacer-Workshop-HK-Donnie-Prakoso
AWS-DeepRacer-Workshop-HK-Donnie-PrakosoAWS-DeepRacer-Workshop-HK-Donnie-Prakoso
AWS-DeepRacer-Workshop-HK-Donnie-Prakoso
 
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
AWS Lambda 자세히 살펴보기 (조성열, AWS 시스템 엔지니어) :: AWS DevDay2018
 
The Basics - Creating a Scene
The Basics - Creating a SceneThe Basics - Creating a Scene
The Basics - Creating a Scene
 
Adding a Sumerian Host to Your Scene
Adding a Sumerian Host to Your SceneAdding a Sumerian Host to Your Scene
Adding a Sumerian Host to Your Scene
 
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019 딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
딥러닝@EDM페스티발 누가누가 잘 노나? :: 김태웅 - AWS Community Day 2019
 
Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020Serverless <3 GraphQL - AWS UG Tampere 2020
Serverless <3 GraphQL - AWS UG Tampere 2020
 
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech TalkGet Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
Get Ready for re:Invent 2017 Content Overview - AWS Online Tech Talk
 

Similar to BuildingGlobalServices_DevDays2019.pdf

"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ..."How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
Provectus
 
Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWS
Rob De Feo
 
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
AWS DevDay Vienna - Resiliency and availability design patterns for the cloudAWS DevDay Vienna - Resiliency and availability design patterns for the cloud
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
Cobus Bernard
 
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
AWS DevDay Cologne - Resiliency and availability design patterns for the cloudAWS DevDay Cologne - Resiliency and availability design patterns for the cloud
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
Cobus Bernard
 
PatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdfPatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdf
Amazon Web Services
 
PatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdfPatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdf
Amazon Web Services
 
최신 DDoS 동향 - Modern DDoS Trends
최신 DDoS 동향 - Modern DDoS Trends최신 DDoS 동향 - Modern DDoS Trends
최신 DDoS 동향 - Modern DDoS Trends
Jean Ryu
 
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
Amazon Web Services Korea
 
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS SummitIntroduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Amazon Web Services
 
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Amazon Web Services
 
Amazon and Region Build Engineering
Amazon and Region Build EngineeringAmazon and Region Build Engineering
Amazon and Region Build Engineering
Rich Alberth
 
AWS DevDay Berlin - Resiliency and availability design patterns for the cloud
AWS DevDay Berlin - Resiliency and availability design patterns for the cloudAWS DevDay Berlin - Resiliency and availability design patterns for the cloud
AWS DevDay Berlin - Resiliency and availability design patterns for the cloud
Cobus Bernard
 
Websites Go Serverless - ServerlessDays TLV 2019
Websites Go Serverless - ServerlessDays TLV 2019Websites Go Serverless - ServerlessDays TLV 2019
Websites Go Serverless - ServerlessDays TLV 2019
Boaz Ziniman
 
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Amazon Web Services
 
Digital transformation for local news - SVC220 - New York AWS Summit
Digital transformation for local news - SVC220 - New York AWS SummitDigital transformation for local news - SVC220 - New York AWS Summit
Digital transformation for local news - SVC220 - New York AWS Summit
Amazon Web Services
 
How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using Serverless
Chris Munns
 
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
Amazon Web Services
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Amazon Web Services
 
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
Amazon Web Services
 
Making s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edgeMaking s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edge
Yann Hamon
 

Similar to BuildingGlobalServices_DevDays2019.pdf (20)

"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ..."How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
 
Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWS
 
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
AWS DevDay Vienna - Resiliency and availability design patterns for the cloudAWS DevDay Vienna - Resiliency and availability design patterns for the cloud
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
 
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
AWS DevDay Cologne - Resiliency and availability design patterns for the cloudAWS DevDay Cologne - Resiliency and availability design patterns for the cloud
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
 
PatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdfPatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdf
 
PatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdfPatternsResiliency_DevDays2019.pdf
PatternsResiliency_DevDays2019.pdf
 
최신 DDoS 동향 - Modern DDoS Trends
최신 DDoS 동향 - Modern DDoS Trends최신 DDoS 동향 - Modern DDoS Trends
최신 DDoS 동향 - Modern DDoS Trends
 
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
교육, 연구 개발자가 직접 전하는 AWS를 선택한 이유 Part.3 - 김재동 교사, IndiSchool (NPO) :: AWS Summi...
 
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS SummitIntroduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
 
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
 
Amazon and Region Build Engineering
Amazon and Region Build EngineeringAmazon and Region Build Engineering
Amazon and Region Build Engineering
 
AWS DevDay Berlin - Resiliency and availability design patterns for the cloud
AWS DevDay Berlin - Resiliency and availability design patterns for the cloudAWS DevDay Berlin - Resiliency and availability design patterns for the cloud
AWS DevDay Berlin - Resiliency and availability design patterns for the cloud
 
Websites Go Serverless - ServerlessDays TLV 2019
Websites Go Serverless - ServerlessDays TLV 2019Websites Go Serverless - ServerlessDays TLV 2019
Websites Go Serverless - ServerlessDays TLV 2019
 
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
 
Digital transformation for local news - SVC220 - New York AWS Summit
Digital transformation for local news - SVC220 - New York AWS SummitDigital transformation for local news - SVC220 - New York AWS Summit
Digital transformation for local news - SVC220 - New York AWS Summit
 
How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using Serverless
 
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
[NEW LAUNCH!] Introduction to AWS Global Accelerator (NET330) - AWS re:Invent...
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
 
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - Santa Clar...
 
Making s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edgeMaking s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edge
 

More from 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 Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 Service
Amazon Web Services
 

More from 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
 

BuildingGlobalServices_DevDays2019.pdf

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. N O R D I C S
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building Global Services with Serverless Adrian Hornsby Sr. Technical Evangelist Amazon Web Services
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why build a global architecture?
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Once upon a time … Origin
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. And Now … Origin ~300ms
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Origin Improve latency for end-users Origin
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Improve availability and 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
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless cost model is a huge advantage here!
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Global Network
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Origin Cross region VPC peering Origin
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon S3 cross-region replication Bucket with objects Bucket with objects
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Active-Active | Active-Passive | What to do?
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. 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 Amazon DynamoDB Global Tables Fully managed, multi-master, multi-region database
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Aurora Serverless
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Multi-region with Route 53
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Latency based routing RegionRegion Application Application
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Geo-based routing Region us-east-1Region us-west-2 Application Application
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Weighted round robin routing Region us-east-1Region us-west-2 Application Application
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. DNS failover Region us-east-1Region us-west-2 Application Application
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Route53: Traffic Policy
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Health checks with Route 53
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 Global Table https://global.adhorn.me
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 Global Table
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 Global Table
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 https://globalddb.adhorn.me Regional API Endpoint Custom Domain Name Regional API Endpoint Custom Domain Name API Gateway
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 Global Table
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region us-east-1 Region us-west-2 Global Table https://globalddb.adhorn.me Voilà!
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon CloudFront AWS Lambda Lambda@Edge Lambda@Edge
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Write Once, Run Lambda Functions Globally N Virginia AWS Location AWS Location AWS Location AWS Location AWS Location AWS Location
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda@Edge Programming Model exports.handler = (event, context, callback) => { /* viewer-request and origin-request events * have the request as input */ const request = event.Records[0].cf.request; /* viewer-response and origin-response events * have the response as input */ const response = event.Records[0].cf.response; */ /* Do the processing – say add a header */ /* When I am done I let CloudFront what to do next */ callback(null, request); }
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. #awssummit Multi-region Setup
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. #awssummit Reduce latency for global teams
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda @ Edge exports.handler = (event, context, callback) => { const request = event.Records[0].cf.request; const region = extractRegionCookieValue(request.headers); if (region) request.origin.custom.domainName = `${region}`-int.frontapp.com` return request; }
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Global Accelerator
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region eu-central-1 Region eu-west-2 Global Table 2x Anycast IPs Global Accelerator
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region eu-central-1 Region eu-west-2 Global Table
  • 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region eu-central-1 Region eu-west-2 Global Table
  • 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region eu-central-1 Region eu-west-2 Global Table
  • 51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Region eu-central-1 Region eu-west-2 Global Table 2x Anycast IPs Global Accelerator Voilà!
  • 57. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. DNS Issues
  • 59. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. https://medium.com/@adhorn
  • 60. Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adrian Hornsby