30
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Channy Yun Tech Evangelist, Amazon Web Services Korea ĜĊĿľŅĘļŃą¨äéĵĿĠľŅĘļŃ ćŅĐģđĠĹôÁ+PąkUåă @channyun

Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Embed Size (px)

Citation preview

Page 1: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Channy YunTech Evangelist, Amazon Web Services Korea

ĜĊĿľŅĘļŃą¨äéĵĿĠľŅĘļŃćŅĐģđĠĹôÁ+�PąkUåă

@channyun

Page 2: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

�E�

• 1996-2003 ĊċĮ±��ÿęĞŅĥćġįCTO• 2004-2014 Daum API±�ĠŅķ°ÙĀ÷

±��ČĪŃĘċľęĥ

• 2014- AWSģġđČĪŃĘċľęĥ• 9ÜòAWSĕŅĬęŌElastic Beanstalk

• 2002- Mozilla¹/ôĔĶĺĨģĈľŅğŅ• 2007- ¹/WeblwĔĶĺĨģĈľŅğŅ• 2012- AWSKRUGĔĶĺĨģĈĸŃĪŅ

Page 3: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

AWSĉŃĭĽęĥĽđĠĹĕŅĬęôīĞŅŃ

Multi-AZ Cross Region Hybrid ITSingle AZ

AZ AZ AZ Region Region

Edge

ĒŁŅĪĿĔŃģŃĢôD±

đĽĊĦÁ+�Pą��

ĒŁŅĪĿĕŅĬęôª�

đĽĊĦôZHPô��

čŃįŀĶęð©$

16ľŅĘļŃňRegionʼnð42�ô �+�»4ňAZʼn72�ôČġĘŁēŅėļŃňEdge Locationʼn

(2017, 3c)

Page 4: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

&�RegionÁ+�Pćđěę

Multi-AZ

AZ AZ

đĽĊĦÁ+�Pą��

Page 5: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

OK … should I use Multi-Region?

Page 6: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

ĵĿĠľŅĘļŃs�~�

½@ôĕĮěġĥóBåăJëb²ą��

q�«<ňĤŅĞ�nʼn

xAL`ô��ąvéå

Page 7: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

1c Asia Pacific(Seoul)ľŅĘļŃô±:Amazon Elasticsearch, CloudSearchAWS MarketPlace

3c EC2 Spot Instance, AWS Storage Gateway

4c AWS Config, Amazon AuroraRDS for SQL Server

5c CloudFront ��ČġĘŁēŅėļŃEC2 Dedicated Hosting

6c VPC FlowLogs, NAT GatewayCloudWatch Events

8c Amazon API Gateway, AWS LambdaAWS OpsWorks, Amazon InspectorAWS Application Load BalancerAWS Database Migration Service

9c Amazon Cognito, AWS IoT

10c EC2 X1 Instance

12c Amazom GameLift, AWS Config Rules

2016G1cÓĜĊĿľŅĘļѱ� fÓ

�30+^�ĕŅĬęðo�ôľľŅę

Page 8: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

http://zhiguang.me/2016/05/10/latency-between-aws-global-regions/

ľŅĘļŃ²ôŀĉģŃė

Page 9: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

rRŌ24��ôAWSĕŅĬę

• Amazon Simple Storage Service (Amazon S3)

• Amazon Elastic File System (Amazon EFS)

• Amazon Relational Database Services (RDS)

• Amazon DynamoDB

• òñòñ…

Page 10: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Cross-RegionBOĕŅĬęĬĿĤĈŃĒĮŁġđ

Amazon Route 53 (Managed DNS) & ClodFront (Edge)

Amazon S3 Cross-Regional Replications

Amazon RDS & DynamoDB Cross-Regional Replications

Network

Storage

Database

Application

CI/CD with CodePipeline & CodeDeploy

Page 11: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

• ĒŁŅĪĿDNS

• ĩġĥłŅđİĿęĠċġđ

• ŀĉģŃėıŅęôĿŅģĈŃĒ

• #¯ĽĊŃĦŁĬŃ

• 70 �ôPOPąãé���mô(Ă�ý

• AWSÙĀ÷¸AWSľĜŅęąĕĴŅĥ

Amazon Route 53

Page 12: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Example: Failover with NS Recordsexample.net

Region A Region B

prod-1 prod-2

Page 13: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Demo: JAWS Days Failover!

Page 14: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

prod-1 prod-2

95% 5%

example.net

health+

weight

prod.examp.nethealth

examp-fail.s3-website

Region A Region B

Example: Weighted with failover

Page 15: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

• ^ãÖPUTôýą��ãüåÔ

• �ĪēġĥüéõįŀĭĈġđę

ıŅę

• �Rô2ìôľŅĘļŃ/ęĥŀŅ

ĘđĽę²ô1Ō1ŀįľēŅėļŃ

• įĽĉĵľćĎĊŃĥÚāĕĮćĎ

ĊŃĥøô��S3Vdn

Source (Tokyo)

Destination (Seoul)

Amazon S3: Cross-Region Replication

http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/UG/cross-region-replication.html

Page 16: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

How to replicate S3 Objects?

Page 17: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Amazon RDS: Cross-Region Replication

• AuroraÓMySQLÓMariaDBÓ

PostgreSQLň9.3.5 �ʼn

• xAL`ô��ąvéå

• ĤŅĞıŅęĵęĞŅô£Yą

¦uåă

• ŀįľĎąĵęĞŅóaiáçă

http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ReadRepl.html

Page 18: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

How to make RDS ReadReplica?

Page 19: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Amazon DynamoDB Cross-Region Replication

Open Source Cross-Region Replication Library

Region B

Region ADynamoDB Streams

• ĜľĺŅėļŃõAmazon DynamoDBđŁęľŅĘļŃŀįľēŅėļŃĽĉĮĽľą��ãüå

• DynamoDBęĥľŅķąs�ãîÓģŅĮĿą�\ôľŅĘļŃ²ïúûľćĿĞĉķï,eáçă

• ćįľēŅėļŃïđŁęńľŅĘļŃńŀįľēŅėļŃńĽĉĮĽľŅą �åă

• GitHubľĴĘĥľï �+�:ü https://github.com/awslabs/dynamodb

-cross-region-library

Page 20: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Amazon DynamoDB Cross-Region Replication

• AWS Lambdaą �ŌDB StreamÛ��ãéðÜLambda³\ô?�

DAT201 Cross-Region Replication with Amazon DynamoDB Streams (re:Invent 2016)http://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-crossregion-replication-with-amazon-dynamodb-streams-dat201https://www.youtube.com/watch?v=NtaTC2Fq7Wo

DynamoDBclient application

• Amazon Kinesis �ŌClient Libraryą��ãé��

Page 21: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Cross-Regional Application Deployment

• https://aws.amazon.com/blogs/devops/building-a-cross-regioncross-account-code-deployment-solution-on-aws/

• https://aws.amazon.com/blogs/devops/automatically-deploy-from-amazon-s3-using-aws-codedeploy/

• AWS CodePipeline & CodeDeploy + AWS Lambda

• ĬĿĦ=UbLambda³\ą��ãéľŅĘļŃô�$

• ľŅĘļŃ²ôćįľēŅėļŃôk�ÙĀ÷®�Û+�

• N�óOäîÓz>ôľŅĘļŃôĬĿĦ�hôý �+�

Page 22: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Serverless App for Cross-Region?

Route 53 + API Gateway + CloudFront + Certificate Manager

Region A

CloudFormation + CodeBuild + CodePipeline

Region B

Page 23: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Netflix Case:

https://www.slideshare.net/AmazonWebServices/arc305-28387146https://www.youtube.com/watch?v=hAyA86QGRnI

http://techblog.netflix.com/2013/12/active-active-for-multi-regional.html

Page 24: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

From Instance to Regional’ Fail

Chaos Monkey

https://github.com/netflix/chaosmonkey

Instance Fail?

Chaos Gorilla

Zone Fail?

Chaos Kong

Region Fail?

Page 25: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Netflix’s Best Practices

• �¶• Õă24ô6%Û�ô24óIºą�ØăùÜïõòÖ• 24ô�·õ�ôóIºą�ØăùÜïõòÖ• 24²ôĩġĥłŅđ�"õÓo�P/[�óIºãîõòāòÖ

• �°P• 1ìĀĂ7Ýôþôą�ĂòáÖÔ• ���óõÓćıĉĽĬľģĈĝŅŃðľŅĘļŃ²ïĕŅĬęą®�åă

Page 26: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

• Service team ran like a startup• Less than 10 core people working

on new PS3 storeservices

• PSN’s user base was already in the several hundred millions of users

• Relied on quick iterations of architecture on AWS

Sony Case:

ARC309- Moving Mission Critical Apps from One Region to Multi-Region active/active (re:Invent 2016) https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-moving-mission-critical-apps-from-one-region-to-multiregion-activeactive-arc309

Page 27: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Putting it all together

Region 1 Region 2

Create infrastructure

Replicate

DNS

Page 28: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Sony’s Best Practices• ĤŅĞô,eõ¸Fó¯�òôïÓüæĤŅĞW�ó5íÖé�;³�ôĵġįą�UãüåÔ

• FóNetflixï|�ôıŃĠĵŅĐŃĒą?�ãüåÔ• ŀďėŅÛ�ô24ôĤĖĉŃą!Kåăßðą +ãòÖïÝêáÖÔ *Öþôð^ãÖþôô²ô��ò��ðĪĽŃęą�ìÞăÔ

• ćįľēŅėļŃõĔŃģĐęĥÀ$3ïòÞĄöòĂüçĆÔ

• ĤŅĞ¥§ôĨŅĚą�TãîÝêáÖÔߥõÓ¬XãéĜľĺŅėļŃóIºãüåÔ

• VPCĩġĥłŅđ�.ňCIDRĮŁġđʼnÛRegionð¯�ãòÖĀ×óãîÝêáÖÔ

• &�´AyôòÖÁ+�PňHAʼn��ą?�åăĀ×óãîÝêáÖÔ

Page 29: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

Cross-RegionBOĕŅĬęĬĿĤĈŃĒĮŁġđ

Amazon Route 53 (Managed DNS) & ClodFront (Edge)

Amazon S3 Cross-Regional Replications

Amazon RDS & DynamoDB Cross-Regional Replications

Network

Storage

Database

Application

CI/CD with CodePipeline & CodeDeploy Serverless Apps

Page 30: Cross-regional Application Deplolyment on AWS - Channy Yun (JAWS Days 2017)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

ÕĂÛð×àâÖüåņ

��¤]Ō

http://bit.ly/channy-jawsdays2017

@channyun