SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Advanced Deployment Best Practices
with AWS CodeDeploy
Jeet Shangari
Sr. Technical Account Manager
Amazon Web Services
D E V 4 0 4
Deblina Gupta
Software Engineer
Amazon Web Services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A measure of innovation agility
How many deployments am I performing?
How many are done out of hours?
How many suffer emergency roll backs?
“Too many to count’”“We have a quarterly release cycle”
“We minimize customer impact” “Time is irrelevant”
“We frequently catch problems too late and
need to rollback from pre-release backups”
“We roll forwards not back”
”If the development team is frequently called in the
middle of the night, automation is the likely
outcome. If operations is frequently called, the
usual reaction is to grow the operations team.”
James Hamilton
Distinguished Engineer, AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Strive for continuous deployment.
Use metrics and tooling to gain trust
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services and Infrastructure as Code
Amazon
S3
Prod-subnet
Web
server
App
server
Amazon RDS
ELB
Dev-subnet
Auto Scaling group
Web
server
Auto Scaling group
App
server
Amazon RDS
ELB
Test-subnet
Web
server
App
server
Amazon RDS
ELB
AWS CodePipleline AWS CodeDeployAWS CodeCommit
Services
- Highly available Amazon
CloudWatch
alarm
AWS CloudTrail
AWS
CloudFormation
AWS Elastic
Beanstalk
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy
Scale from single instance to thousands
Multiple configurations for zero downtime deployment
Centralize deployment control and monitoring
Configurable deployment hooks
Deploy to Amazon EC2, On-Prem & AWS Lambda
Staging
CodeDeploy
v1, v2, v3
Production
Dev
Application
revisions
Deployment groups
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application: What you are deploying
– a container for revisions
Revision: A
given version of
your
application
Instance: Target
instance for
deployment
Deployment groups: Group of
instances – a construct for
environment segregation
(Blue/Green, A/B, and more)
AppSpec file: Describes actions
that needs to be taken pre- or post-
deployment
Deployment: The action
of deploying a new
revision onto instances
Deployment config: Rules for how the
deployment gets farmed out to instances. For
zero downtime deployments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step one: Package your application
• Install dependency packages
• Start Apache
• Confirm successful deploy
• More!
• Send application files to one
directory and configuration files to
another
• Set specific permissions on
specific directories and files
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step two: Set up environments and deployment
v2 v2 v2 v2 v2 v2
one at a time
half at a time
all at once
v2 v2 v2 v1 v1 v1
v2 v1 v1 v1 v1 v1 Agent Agent
Dev deployment group
OR
Prod deployment group
Agent
AgentAgent
Agent Agent
Agent
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step three: Deploy!
aws deploy create-deployment 
--application-name MyApp 
--deployment-group-name TargetGroup 
--s3-location bucket=MyBucket,key=MyApp.zip
AWS Command Line
Interface (AWS CLI) &
SDKs
AWS Console
CI/CD partners
GitHub
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
100%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon
Route 53
EC2 instances
ELB
EC2 instances
ELB
90% 10%
Amazon
DynamoDB
MSQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
AWS CodeDeploy: Blue/Green deployment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
EC2 instances
ELB
50% 50%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
EC2 instances
ELB
0% 100%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
EC2 instances
ELB
0% 100%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
100%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: Blue/Green deployment
Amazon
Route 53
EC2 instances
ELB
100%
Amazon
DynamoDB
MySQL RDS
instance
ElastiCache
Cache Node
Blue/Green Deploys
▪ We stand up a duplicate part of our
infrastructure and slowly cut traffic over
to it
✓ Shift via DNS
✓ Makes it easy to do testing of new
features
✓ Makes it easy to roll back
▪ As we shift more traffic over, let auto-
scaling grow/shrink our instances of the
new or old application
✓ Shut down the old when no traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Health tracking—Catch deployment problems
v2v2 v2
Load
Balancer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Health tracking—Catch deployment problems
v3 v2 v2Stop
Load
Balancer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Health tracking—Catch deployment problems
v2v2 v2
Load
Balancer
Rollback
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
NEW: Can deploy AWS Lambda!
Uses AWS SAM to deploy serverless applications
Supports Lambda Alias Traffic Shifting enabling
canaries and blue|green deployments
Can rollback based on Amazon CloudWatch
metrics/alarms
Pre/Post-Traffic Triggers can integrate with other
services (or even call Lambda functions)
AWS CodeDeploy + AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CodeDeploy comes with a number of added capabilities:
• Custom deployment configurations. Examples:
• “Canary 5% for one hour”
• “Linear 20% every one hour”
• Notification events via SNS on
success/failure/rollback
• Console with visibility on deploy status, history, and
rollbacks
AWS CodeDeploy + AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Best practices
1. Introduce changes often (in smaller iterations)
2. Drive your application with continual testing and continuous delivery
• Detect and revise the change early (fail fast)
3. Actively monitor through CloudWatch alarms
• automatically roll back a deployment when a deployment fails
4. Use canary deployments to identify issues and automatically roll back
• Great for serverless apps (debug locally via SAM)
5. A blue/green deployment model is easier to get right – can be used in most cases
6. Automate deployments as part of your scale-up processes
7. Warming caches & services
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deblina Gupta
Jeet Shangari
@jeetshan
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment patterns
Deploy in place—Application ONLY!
• Deploy all at once (service outage)
• Rolling updates
Blue-Green deployment—Application & Infrastructure (AMI)
• Discrete environment
• Multiple environments from branches
• Support A/B testing
• “Rolling DNS”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy: In-Place deployment

Contenu connexe

Tendances

Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon Web Services
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesAmazon Web Services
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessAmazon Web Services
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
 
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...Amazon Web Services Korea
 
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트Amazon Web Services Korea
 
Day 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity PlanDay 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity PlanAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...Amazon Web Services Korea
 

Tendances (20)

CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Deep Dive into AWS SAM
Deep Dive into AWS SAMDeep Dive into AWS SAM
Deep Dive into AWS SAM
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
AWS Route53
AWS Route53AWS Route53
AWS Route53
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
 
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
[애플리케이션 현대화 및 개발] 클라우드를 통한 현대적 애플리케이션 디자인 및 구축 패턴 - 윤석찬, AWS 수석 테크 에반젤리스트
 
AWS Security Best Practices
AWS Security Best PracticesAWS Security Best Practices
AWS Security Best Practices
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
AWS Security and SecOps
AWS Security and SecOpsAWS Security and SecOps
AWS Security and SecOps
 
Day 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity PlanDay 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity Plan
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
 
Microsoft licensing on AWS
Microsoft licensing on AWSMicrosoft licensing on AWS
Microsoft licensing on AWS
 

Similaire à Advanced Deployment Best Practices with AWS CodeDeploy

Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Amazon Web Services
 
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...Amazon Web Services
 
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksHow to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksAmazon Web Services
 
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@PulseGoing Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulseaspyker
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWSAmazon Web Services
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxNelson Kimathi
 
規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐Amazon Web Services
 
AWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAmazon Web Services
 
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...Amazon Web Services
 
How to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityHow to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityAmazon 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
 
A real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloudA real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloudJulien SIMON
 
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Amazon Web Services
 
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Amazon Web Services
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB
 
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdf
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdfRodney Lester: Well-Architected - Reliability Instructor Led Lab.pdf
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdfAmazon Web Services
 

Similaire à Advanced Deployment Best Practices with AWS CodeDeploy (20)

Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
 
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...
Automate Testing & Deployment of Modern Serverless Apps (API318-R1) - AWS re:...
 
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksHow to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
 
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@PulseGoing Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
Going Cloud Native with IBM Cloud and NetflixOSS for Dev@Pulse
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 
Building Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptxBuilding Modern Applications on AWS.pptx
Building Modern Applications on AWS.pptx
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐
 
AWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best Practices
 
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...
Resiliency Testing: Verify That Your System Is as Reliable as You Think (ARC4...
 
How to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityHow to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for Reliability
 
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
 
SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
A real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloudA real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloud
 
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
Enabling Your Organization’s Amazon Redshift Adoption – Going from Zero to He...
 
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
 
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdf
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdfRodney Lester: Well-Architected - Reliability Instructor Led Lab.pdf
Rodney Lester: Well-Architected - Reliability Instructor Led Lab.pdf
 

Plus de 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
 

Plus de 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
 

Advanced Deployment Best Practices with AWS CodeDeploy

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Advanced Deployment Best Practices with AWS CodeDeploy Jeet Shangari Sr. Technical Account Manager Amazon Web Services D E V 4 0 4 Deblina Gupta Software Engineer Amazon Web Services
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A measure of innovation agility How many deployments am I performing? How many are done out of hours? How many suffer emergency roll backs? “Too many to count’”“We have a quarterly release cycle” “We minimize customer impact” “Time is irrelevant” “We frequently catch problems too late and need to rollback from pre-release backups” “We roll forwards not back”
  • 4. ”If the development team is frequently called in the middle of the night, automation is the likely outcome. If operations is frequently called, the usual reaction is to grow the operations team.” James Hamilton Distinguished Engineer, AWS
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Strive for continuous deployment. Use metrics and tooling to gain trust
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Code Services and Infrastructure as Code Amazon S3 Prod-subnet Web server App server Amazon RDS ELB Dev-subnet Auto Scaling group Web server Auto Scaling group App server Amazon RDS ELB Test-subnet Web server App server Amazon RDS ELB AWS CodePipleline AWS CodeDeployAWS CodeCommit Services - Highly available Amazon CloudWatch alarm AWS CloudTrail AWS CloudFormation AWS Elastic Beanstalk
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy Scale from single instance to thousands Multiple configurations for zero downtime deployment Centralize deployment control and monitoring Configurable deployment hooks Deploy to Amazon EC2, On-Prem & AWS Lambda Staging CodeDeploy v1, v2, v3 Production Dev Application revisions Deployment groups
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application: What you are deploying – a container for revisions Revision: A given version of your application Instance: Target instance for deployment Deployment groups: Group of instances – a construct for environment segregation (Blue/Green, A/B, and more) AppSpec file: Describes actions that needs to be taken pre- or post- deployment Deployment: The action of deploying a new revision onto instances Deployment config: Rules for how the deployment gets farmed out to instances. For zero downtime deployments
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step one: Package your application • Install dependency packages • Start Apache • Confirm successful deploy • More! • Send application files to one directory and configuration files to another • Set specific permissions on specific directories and files
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step two: Set up environments and deployment v2 v2 v2 v2 v2 v2 one at a time half at a time all at once v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agent Agent Dev deployment group OR Prod deployment group Agent AgentAgent Agent Agent Agent
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step three: Deploy! aws deploy create-deployment --application-name MyApp --deployment-group-name TargetGroup --s3-location bucket=MyBucket,key=MyApp.zip AWS Command Line Interface (AWS CLI) & SDKs AWS Console CI/CD partners GitHub
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB 100% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Route 53 EC2 instances ELB EC2 instances ELB 90% 10% Amazon DynamoDB MSQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic AWS CodeDeploy: Blue/Green deployment
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB EC2 instances ELB 50% 50% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB EC2 instances ELB 0% 100% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB EC2 instances ELB 0% 100% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB 100% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: Blue/Green deployment Amazon Route 53 EC2 instances ELB 100% Amazon DynamoDB MySQL RDS instance ElastiCache Cache Node Blue/Green Deploys ▪ We stand up a duplicate part of our infrastructure and slowly cut traffic over to it ✓ Shift via DNS ✓ Makes it easy to do testing of new features ✓ Makes it easy to roll back ▪ As we shift more traffic over, let auto- scaling grow/shrink our instances of the new or old application ✓ Shut down the old when no traffic
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Health tracking—Catch deployment problems v2v2 v2 Load Balancer
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Health tracking—Catch deployment problems v3 v2 v2Stop Load Balancer
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Health tracking—Catch deployment problems v2v2 v2 Load Balancer Rollback
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. NEW: Can deploy AWS Lambda! Uses AWS SAM to deploy serverless applications Supports Lambda Alias Traffic Shifting enabling canaries and blue|green deployments Can rollback based on Amazon CloudWatch metrics/alarms Pre/Post-Traffic Triggers can integrate with other services (or even call Lambda functions) AWS CodeDeploy + AWS Lambda
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CodeDeploy comes with a number of added capabilities: • Custom deployment configurations. Examples: • “Canary 5% for one hour” • “Linear 20% every one hour” • Notification events via SNS on success/failure/rollback • Console with visibility on deploy status, history, and rollbacks AWS CodeDeploy + AWS Lambda
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Best practices 1. Introduce changes often (in smaller iterations) 2. Drive your application with continual testing and continuous delivery • Detect and revise the change early (fail fast) 3. Actively monitor through CloudWatch alarms • automatically roll back a deployment when a deployment fails 4. Use canary deployments to identify issues and automatically roll back • Great for serverless apps (debug locally via SAM) 5. A blue/green deployment model is easier to get right – can be used in most cases 6. Automate deployments as part of your scale-up processes 7. Warming caches & services
  • 26. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deblina Gupta Jeet Shangari @jeetshan
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment patterns Deploy in place—Application ONLY! • Deploy all at once (service outage) • Rolling updates Blue-Green deployment—Application & Infrastructure (AMI) • Discrete environment • Multiple environments from branches • Support A/B testing • “Rolling DNS”
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeDeploy: In-Place deployment