AWS CodeDeploy Getting Started
-
Upload
amazon-web-services -
Category
Technology
-
view
3.073 -
download
4
Transcript of AWS CodeDeploy Getting Started
![Page 1: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/1.jpg)
AWS CodeDeploy Getting Started
Ian Massingham AWS Technical Evangelist
@IanMmmm
![Page 2: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/2.jpg)
Deployment Options
![Page 3: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/3.jpg)
AWS Elastic Beanstalk AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
AWS CodeDeploy AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
AWS CloudFormation AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.
![Page 4: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/4.jpg)
AWS Elastic Beanstalk AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
AWS CodeDeploy AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
AWS CloudFormation AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.
![Page 5: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/5.jpg)
Elastic Beanstalk: Deploy Applications with 7 Popular Containers
![Page 6: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/6.jpg)
Alert
Log
Mon
App
E
LB
AZ
http://your-app.elasticbeanstalk.com
Elastic Beanstalk Deploy your app to a load balanced, auto scaled Environment
![Page 7: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/7.jpg)
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
Elastic Beanstalk Deploy your app to a load balanced, auto scaled Environment
![Page 8: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/8.jpg)
Alert
DB
Log
Mon
App
AZ
AZ
ELB
http://your-app.elasticbeanstalk.com
Elastic Beanstalk Deploy your app to a load balanced, auto scaled Environment
![Page 9: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/9.jpg)
AWS Elastic Beanstalk AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
AWS CodeDeploy AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
AWS CloudFormation AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.
![Page 10: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/10.jpg)
![Page 11: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/11.jpg)
![Page 12: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/12.jpg)
AWS CodeDeploy
• Scale from 1 instance to thousands • Deploy without downtime • Centralize deployment control and monitoring • On-Premises support
StagingCodeDeployv1, v2, v3
Production
Dev
Coordinate automated deployments, just like Amazon
Application Revisions
Deployment Groups
![Page 13: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/13.jpg)
DEMO: AWS CODEDEPLOY
![Page 14: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/14.jpg)
1) Package your application (with an AppSpec)version: 0.0os: linuxfiles: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webappshooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/knife-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
![Page 15: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/15.jpg)
1) Package your application (with an AppSpec)version: 0.0os: linuxfiles: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webappshooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/knife-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
![Page 16: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/16.jpg)
1) Package your application (with an AppSpec)
Start
BeforeInstall
ApplicationStart
ApplicationStop
Install
ValidateService
DownloadBundle
AfterInstall
End
![Page 17: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/17.jpg)
1) Package your application (with an AppSpec)version: 0.0os: linuxfiles: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webappshooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/knife-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
![Page 18: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/18.jpg)
2) Set up your target environments
Agent Agent Agent
Staging
Agent Agent
Agent Agent
Agent
Agent
Production
Deployment GroupDeployment Group
• Group instances by: • Auto Scaling group • EC2 tag • On-premises tag
![Page 19: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/19.jpg)
3) Deploy!
aws deploy create-deployment \
--application-name MyApp \
--deployment-group-name TargetGroup \
--s3-location bucket=MyBucket,key=MyApp.zip
AWS CLI & SDKs AWS Console CI / CD Partners GitHub
![Page 20: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/20.jpg)
Deployment Config – Choose speed
v2 v1 v1 v1 v1 v1 v1 v1
v2 v2 v2 v2 v1 v1 v1 v1
v2 v2 v2 v2 v2 v2 v2 v2
One-at-a-Time
Half-at-a-Time
All-at-Once
![Page 21: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/21.jpg)
Rolling Update – Deploy without downtime
v1v1 v1
Load Balancer
![Page 22: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/22.jpg)
Rolling Update – Deploy without downtime
v1v2 v1
Load Balancer
![Page 23: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/23.jpg)
Rolling Update – Deploy without downtime
v2v2 v1
Load Balancer
![Page 24: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/24.jpg)
Rolling Update – Deploy without downtime
v2v2 v2
Load Balancer
![Page 25: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/25.jpg)
Rolling Update – Deploy without downtime
v2v2 v2
Load Balancer
![Page 26: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/26.jpg)
Health Tracking – Catch deployment problems
v3 v2 v2Stop
Load Balancer
![Page 27: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/27.jpg)
Health Tracking – Catch deployment problems
v2v2 v2
Load Balancer
Rollback
![Page 28: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/28.jpg)
Health Tracking – Catch deployment problems
v2v2 v2
Load Balancer
![Page 29: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/29.jpg)
AWS CodePipeline
• Inspired by Pipelines • Flexible workflow engine • Extensible, plugin based architecture
Continuous delivery and release automation, just like Amazon
Build1) Build 2) Unit test
1) Deploy 2) UI test
Source Beta Production1) Deploy 2) Load test
Gamma1) Deploy region1 2) Deploy region2 3) Deploy region3
![Page 30: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/30.jpg)
AWS CodeCommit
• Data redundancy across AZs • Data at rest encryption • Integrated with AWS Identity and Access Management • No repo size limit
git push CodeCommit
Git objects in S3
Git index in DynamoDB
Encryption key in KMS
SSH or HTTPS
Secure, scalable, and managed Git source control
![Page 31: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/31.jpg)
AWS Elastic Beanstalk AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.
AWS CodeDeploy AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
AWS CloudFormation AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.
![Page 32: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/32.jpg)
AWS CloudFormation
An easy way to create & manage a collection of AWS resources Allows orderly and predictable provisioning and updating of resources
Allows you to version control your AWS infrastructure Deploy and update stacks using console, command line or API
You only pay for the resources you create
![Page 34: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/34.jpg)
RESOURCES YOU CAN USETO LEARN MORE
![Page 35: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/35.jpg)
aws.amazon.com/elasticbeanstalk
aws.amazon.com/codedeploy
aws.amazon.com/cloudformation
![Page 36: AWS CodeDeploy Getting Started](https://reader034.fdocuments.us/reader034/viewer/2022042600/5870653d1a28ab48378b4d1f/html5/thumbnails/36.jpg)
Follow us fo
r more
events
& webina
rs
@AWScloud for Global AWS News & Announcements
@AWS_UKI for local AWS events & news
@IanMmmmIan Massingham — Technical Evangelist