cross-regional application deplolyment on aws - channy yun (jaws days 2017)
Post on 19-Mar-2017
3.136 Views
Preview:
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Channy YunTech Evangelist, Amazon Web Services Korea
ĜĊĿľŅĘļŃą¨äéĵĿĠľŅĘļŃćŅĐģđĠĹôÁ+�PąkUåă
@channyun
�E�
• 1996-2003 ĊċĮ±��ÿęĞŅĥćġįCTO• 2004-2014 Daum API±�ĠŅķ°ÙĀ÷
±��ČĪŃĘċľęĥ
• 2014- AWSģġđČĪŃĘċľęĥ• 9ÜòAWSĕŅĬęŌElastic Beanstalk
• 2002- Mozilla¹/ôĔĶĺĨģĈľŅğŅ• 2007- ¹/WeblwĔĶĺĨģĈľŅğŅ• 2012- AWSKRUGĔĶĺĨģĈĸŃĪŅ
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)
&�RegionÁ+�Pćđěę
Multi-AZ
AZ AZ
đĽĊĦÁ+�Pą��
OK … should I use Multi-Region?
ĵĿĠľŅĘļŃs�~�
½@ôĕĮěġĥóBåăJëb²ą��
q�«<ňĤŅĞ�nʼn
xAL`ô��ąvéå
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�ôľľŅę
http://zhiguang.me/2016/05/10/latency-between-aws-global-regions/
ľŅĘļŃ²ôŀĉģŃė
rRŌ24��ôAWSĕŅĬę
• Amazon Simple Storage Service (Amazon S3)
• Amazon Elastic File System (Amazon EFS)
• Amazon Relational Database Services (RDS)
• Amazon DynamoDB
• òñòñ…
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
• ĒŁŅĪĿDNS
• ĩġĥłŅđİĿęĠċġđ
• ŀĉģŃėıŅęôĿŅģĈŃĒ
• #¯ĽĊŃĦŁĬŃ
• 70 �ôPOPąãé���mô(Ă�ý
• AWSÙĀ÷¸AWSľĜŅęąĕĴŅĥ
Amazon Route 53
Example: Failover with NS Recordsexample.net
Region A Region B
prod-1 prod-2
Demo: JAWS Days Failover!
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
• ^ãÖ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
How to replicate S3 Objects?
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
How to make RDS ReadReplica?
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
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ą��ãé��
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ôý �+�
Serverless App for Cross-Region?
Route 53 + API Gateway + CloudFront + Certificate Manager
Region A
CloudFormation + CodeBuild + CodePipeline
Region B
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
From Instance to Regional’ Fail
Chaos Monkey
https://github.com/netflix/chaosmonkey
Instance Fail?
Chaos Gorilla
Zone Fail?
Chaos Kong
Region Fail?
Netflix’s Best Practices
• �¶• Õă24ô6%Û�ô24óIºą�ØăùÜïõòÖ• 24ô�·õ�ôóIºą�ØăùÜïõòÖ• 24²ôĩġĥłŅđ�"õÓo�P/[�óIºãîõòāòÖ
• �°P• 1ìĀĂ7Ýôþôą�ĂòáÖÔ• ���óõÓćıĉĽĬľģĈĝŅŃðľŅĘļŃ²ïĕŅĬęą®�åă
• 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
Putting it all together
Region 1 Region 2
Create infrastructure
Replicate
DNS
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��ą?�åăĀ×óãîÝêáÖÔ
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
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ÕĂÛð×àâÖüåņ
��¤]Ō
http://bit.ly/channy-jawsdays2017
@channyun
top related