SlideShare a Scribd company logo
1 of 44
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS CodeDeploy, AWS CodePipeline,
and AWS CodeCommit: Transforming
Software Development
Andy Troutman
Manager, AWS Deployment Services
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Prelude
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Agenda
• The Amazon DevOps story
• New developer tools
– AWS CodeDeploy
– AWS CodePipeline
– AWS CodeCommit
• Summary/Q&A
The Amazon DevOps story
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
• Service-Oriented
Architecture (SOA)
• Everything gets a
service interface
• Primitives
• “Microservices”
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
• Decentralized
• Two-pizza teams
• Agility, autonomy,
accountability,
and ownership
• “DevOps”
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
• Deployment service
• Zero downtime
• Health checking
• Versioned artifacts &
rollbacks
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
• Continuous
delivery
• From check-in to
production
• CI/CD + release
automation
• >90% of teams
Pipelines
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
= 50 million deployments a year
Thousands of teams +
Microservices architecture +
Multiple environments +
Continuous delivery
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
DevOps
Pipeline
Source
Developers
commit
changes
Build
Changes
are built and
unit tested
Staging
Code deployed to
staging and
load/UI tested
Production
Code is deployed
to production
Changes,
updates, and
fixes
Ideas, requests,
and
bugs
Developers Customers
AWS CodeDeploy
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Why use a deployment service?
Automate
deployments
Manage
complexity
Avoid
downtime
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
CodeDeploy
• Scale from 1 instance to thousands
• Deploy without downtime
• Centralize deployment control and monitoring
Staging
CodeDeployv1, v2, v3
Production
Dev
Coordinate automated deployments, just like Amazon
Application
revisions
Deployment groups
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Step 1: Package your application (with
an AppSpec file)version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Step 1: Package your application (with
an AppSpec file)version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Step 1: Package your application (with
an AppSpec file)version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Step 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
• Amazon EC2 tag
• On-premises tag
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Step 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
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
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
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Rolling update – Deploy without
downtime
v1v1 v1
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Rolling update – Deploy without
downtime
v1v2 v1
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Rolling update – Deploy without
downtime
v2v2 v1
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Rolling update – Deploy without
downtime
v2v2v2
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Rolling update – Deploy without
downtime
v2v2 v2
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Health Tracking – Catch
deployment problems
v2v2 v2
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Health tracking – Catch
deployment problems
v3 v2 v2Stop
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Health tracking – Catch
deployment problems
v2v2 v2
Load Balancer
Rollback
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Health tracking – Catch
deployment problems
v2v2 v2
Load Balancer
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Demo
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Product integrations
AWS CodePipeline
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Why use a release automation
service?
Automate
workflow
Release
quickly
Ensure
quality
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
CodePipeline
• Customizable workflow engine
• Integrate with partner and custom systems
• Visual editor and status
Continuous delivery and release automation, just like Amazon
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Load test
Gamma
1) Deploy region1
2) Deploy region2
3) Deploy region3
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Demo
AWS CodeCommit
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
What's required for source control in
the cloud?
Fully
managed
High
availability
Security Store
anything
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
CodeCommit
• Data redundancy across Availability Zones
• Data-at-rest encryption
• Integrated with AWS Identity and Access Management
• No repo size limit
git push CodeCommit
Git objects
in Amazon S3
Git index
in Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
Secure, scalable, and managed Git source control
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Same Git experience$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
Cloning into 'aws-cli'...
Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9900/9900), done.
Checking connectivity... done.
$ nano README.rst
$ git commit -am 'updated README'
[master 4fa0318] updated README
1 file changed, 1 insertion(+)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
4dacd6d..4fa0318 master -> master
Summary
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
AWS code services
CodeCommit
coming soon
CodePipeline
coming soon
CodeDeploy
launched Nov 2014
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015
Thank You.
This presentation will be loaded to SlideShare the week following the Symposium.
http://www.slideshare.net/AmazonWebServices
AWS Government, Education, and Nonprofit Symposium
Washington, DC I June 25-26, 2015

More Related Content

What's hot

Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitAmazon Web Services
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerAmazon Web Services
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Amazon Web Services
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityAmazon Web Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon Web Services
 
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesContinuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatchAmazon Web Services
 
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateAmazon Web Services
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitAmazon Web Services
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An IntroductionAmazon Web Services
 
Building a well-engaged and secure AWS account access management - FND207-R ...
 Building a well-engaged and secure AWS account access management - FND207-R ... Building a well-engaged and secure AWS account access management - FND207-R ...
Building a well-engaged and secure AWS account access management - FND207-R ...Amazon Web Services
 
Aberdeen Oil & Gas Event - Introduction to the AWS Cloud
Aberdeen Oil & Gas Event - Introduction to the AWS CloudAberdeen Oil & Gas Event - Introduction to the AWS Cloud
Aberdeen Oil & Gas Event - Introduction to the AWS CloudAmazon Web Services
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesGary Silverman
 

What's hot (20)

Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
AWS ECS vs EKS
AWS ECS vs EKSAWS ECS vs EKS
AWS ECS vs EKS
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control Tower
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesContinuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
 
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Building a well-engaged and secure AWS account access management - FND207-R ...
 Building a well-engaged and secure AWS account access management - FND207-R ... Building a well-engaged and secure AWS account access management - FND207-R ...
Building a well-engaged and secure AWS account access management - FND207-R ...
 
Aberdeen Oil & Gas Event - Introduction to the AWS Cloud
Aberdeen Oil & Gas Event - Introduction to the AWS CloudAberdeen Oil & Gas Event - Introduction to the AWS Cloud
Aberdeen Oil & Gas Event - Introduction to the AWS Cloud
 
Introduction to Amazon EKS
Introduction to Amazon EKSIntroduction to Amazon EKS
Introduction to Amazon EKS
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
 

Similar to AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software Development

DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...
DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...
DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...Amazon Web Services
 
DevOps You Build It, You Own It!
DevOpsYou Build It, You Own It!DevOpsYou Build It, You Own It!
DevOps You Build It, You Own It!Amazon Web Services
 
Enhanced Security and Compliance with AWS
Enhanced Security and Compliance with AWSEnhanced Security and Compliance with AWS
Enhanced Security and Compliance with AWSAmazon Web Services
 
Defending your workloads against the next zero-day vulnerability 
Defending your workloads against the next zero-day vulnerability Defending your workloads against the next zero-day vulnerability 
Defending your workloads against the next zero-day vulnerability Amazon Web Services
 
02 amazon workspaces aws wwps dc symposium - halachmi - version 1 5
02 amazon workspaces   aws wwps dc symposium - halachmi - version 1 502 amazon workspaces   aws wwps dc symposium - halachmi - version 1 5
02 amazon workspaces aws wwps dc symposium - halachmi - version 1 5Amazon Web Services
 
Transforming Education in the Cloud
Transforming Education in the CloudTransforming Education in the Cloud
Transforming Education in the CloudAmazon Web Services
 
Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services PatternsAmazon Web Services
 
Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services PatternsAmazon Web Services
 
Hybrid IT Approach and Technologies on AWS
Hybrid IT Approach and Technologies on AWSHybrid IT Approach and Technologies on AWS
Hybrid IT Approach and Technologies on AWSAmazon Web Services
 
Using AWS Services to Go “All In” on AWS
Using AWS Services to Go “All In” on AWSUsing AWS Services to Go “All In” on AWS
Using AWS Services to Go “All In” on AWSAmazon Web Services
 
Running Microsoft Workloads on AWS
Running Microsoft Workloads on AWSRunning Microsoft Workloads on AWS
Running Microsoft Workloads on AWSAmazon Web Services
 
C2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingC2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingAmazon Web Services
 
AWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAmazon Web Services
 
Modern IT Governance Through Transparency and Automation
Modern IT Governance Through Transparency and AutomationModern IT Governance Through Transparency and Automation
Modern IT Governance Through Transparency and Automation Amazon Web Services
 
An Update on the AWS/FedRAMP TIC Overlay Pilot
An Update on the AWS/FedRAMP TIC Overlay PilotAn Update on the AWS/FedRAMP TIC Overlay Pilot
An Update on the AWS/FedRAMP TIC Overlay PilotAmazon Web Services
 
AWS GovCloud (US): How to Get Started
AWS GovCloud (US): How to Get StartedAWS GovCloud (US): How to Get Started
AWS GovCloud (US): How to Get StartedAmazon Web Services
 

Similar to AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software Development (20)

DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...
DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...
DevOps in the Public Sector: How the Democratic Party Implemented DevOps to M...
 
DevOps You Build It, You Own It!
DevOpsYou Build It, You Own It!DevOpsYou Build It, You Own It!
DevOps You Build It, You Own It!
 
Enhanced Security and Compliance with AWS
Enhanced Security and Compliance with AWSEnhanced Security and Compliance with AWS
Enhanced Security and Compliance with AWS
 
Defending your workloads against the next zero-day vulnerability 
Defending your workloads against the next zero-day vulnerability Defending your workloads against the next zero-day vulnerability 
Defending your workloads against the next zero-day vulnerability 
 
02 amazon workspaces aws wwps dc symposium - halachmi - version 1 5
02 amazon workspaces   aws wwps dc symposium - halachmi - version 1 502 amazon workspaces   aws wwps dc symposium - halachmi - version 1 5
02 amazon workspaces aws wwps dc symposium - halachmi - version 1 5
 
Adobe : The Future of SaaS
Adobe : The Future of SaaSAdobe : The Future of SaaS
Adobe : The Future of SaaS
 
AWS GovCloud (US) - An Overview
AWS GovCloud (US) - An OverviewAWS GovCloud (US) - An Overview
AWS GovCloud (US) - An Overview
 
Transforming Education in the Cloud
Transforming Education in the CloudTransforming Education in the Cloud
Transforming Education in the Cloud
 
Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services Patterns
 
Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services Patterns
 
Hybrid IT Approach and Technologies on AWS
Hybrid IT Approach and Technologies on AWSHybrid IT Approach and Technologies on AWS
Hybrid IT Approach and Technologies on AWS
 
Using AWS Services to Go “All In” on AWS
Using AWS Services to Go “All In” on AWSUsing AWS Services to Go “All In” on AWS
Using AWS Services to Go “All In” on AWS
 
Running Microsoft Workloads on AWS
Running Microsoft Workloads on AWSRunning Microsoft Workloads on AWS
Running Microsoft Workloads on AWS
 
C2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid PrototypingC2S Tech Tips: Rapid Prototyping
C2S Tech Tips: Rapid Prototyping
 
AWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLI
 
Modern IT Governance Through Transparency and Automation
Modern IT Governance Through Transparency and AutomationModern IT Governance Through Transparency and Automation
Modern IT Governance Through Transparency and Automation
 
An Update on the AWS/FedRAMP TIC Overlay Pilot
An Update on the AWS/FedRAMP TIC Overlay PilotAn Update on the AWS/FedRAMP TIC Overlay Pilot
An Update on the AWS/FedRAMP TIC Overlay Pilot
 
AWS GovCloud (US): How to Get Started
AWS GovCloud (US): How to Get StartedAWS GovCloud (US): How to Get Started
AWS GovCloud (US): How to Get Started
 
AWS as a Data Platform
AWS as a Data PlatformAWS as a Data Platform
AWS as a Data Platform
 
C2S: What’s Next
C2S: What’s NextC2S: What’s Next
C2S: What’s Next
 

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

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
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software Development

  • 1. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software Development Andy Troutman Manager, AWS Deployment Services ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 2. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Prelude
  • 3. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Agenda • The Amazon DevOps story • New developer tools – AWS CodeDeploy – AWS CodePipeline – AWS CodeCommit • Summary/Q&A
  • 4. The Amazon DevOps story ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 5. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015
  • 6. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 • Service-Oriented Architecture (SOA) • Everything gets a service interface • Primitives • “Microservices”
  • 7. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 • Decentralized • Two-pizza teams • Agility, autonomy, accountability, and ownership • “DevOps”
  • 8. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015
  • 9. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 • Deployment service • Zero downtime • Health checking • Versioned artifacts & rollbacks
  • 10. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 • Continuous delivery • From check-in to production • CI/CD + release automation • >90% of teams Pipelines
  • 11. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 = 50 million deployments a year Thousands of teams + Microservices architecture + Multiple environments + Continuous delivery
  • 12. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015
  • 13. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 DevOps Pipeline Source Developers commit changes Build Changes are built and unit tested Staging Code deployed to staging and load/UI tested Production Code is deployed to production Changes, updates, and fixes Ideas, requests, and bugs Developers Customers
  • 14. AWS CodeDeploy ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 15. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Why use a deployment service? Automate deployments Manage complexity Avoid downtime
  • 16. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 CodeDeploy • Scale from 1 instance to thousands • Deploy without downtime • Centralize deployment control and monitoring Staging CodeDeployv1, v2, v3 Production Dev Coordinate automated deployments, just like Amazon Application revisions Deployment groups
  • 17. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Step 1: Package your application (with an AppSpec file)version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 18. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Step 1: Package your application (with an AppSpec file)version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 19. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Step 1: Package your application (with an AppSpec file)version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 20. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Step 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 • Amazon EC2 tag • On-premises tag
  • 21. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Step 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
  • 22. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 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
  • 23. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Rolling update – Deploy without downtime v1v1 v1 Load Balancer
  • 24. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Rolling update – Deploy without downtime v1v2 v1 Load Balancer
  • 25. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Rolling update – Deploy without downtime v2v2 v1 Load Balancer
  • 26. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Rolling update – Deploy without downtime v2v2v2 Load Balancer
  • 27. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Rolling update – Deploy without downtime v2v2 v2 Load Balancer
  • 28. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Health Tracking – Catch deployment problems v2v2 v2 Load Balancer
  • 29. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Health tracking – Catch deployment problems v3 v2 v2Stop Load Balancer
  • 30. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Health tracking – Catch deployment problems v2v2 v2 Load Balancer Rollback
  • 31. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Health tracking – Catch deployment problems v2v2 v2 Load Balancer
  • 32. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Demo
  • 33. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Product integrations
  • 34. AWS CodePipeline ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 35. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Why use a release automation service? Automate workflow Release quickly Ensure quality
  • 36. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 CodePipeline • Customizable workflow engine • Integrate with partner and custom systems • Visual editor and status Continuous delivery and release automation, just like Amazon Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Load test Gamma 1) Deploy region1 2) Deploy region2 3) Deploy region3
  • 37. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Demo
  • 38. AWS CodeCommit ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 39. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 What's required for source control in the cloud? Fully managed High availability Security Store anything
  • 40. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 CodeCommit • Data redundancy across Availability Zones • Data-at-rest encryption • Integrated with AWS Identity and Access Management • No repo size limit git push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS Secure, scalable, and managed Git source control
  • 41. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Same Git experience$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli Cloning into 'aws-cli'... Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done. Resolving deltas: 100% (9900/9900), done. Checking connectivity... done. $ nano README.rst $ git commit -am 'updated README' [master 4fa0318] updated README 1 file changed, 1 insertion(+) $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli 4dacd6d..4fa0318 master -> master
  • 42. Summary ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 43. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 AWS code services CodeCommit coming soon CodePipeline coming soon CodeDeploy launched Nov 2014
  • 44. AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015 Thank You. This presentation will be loaded to SlideShare the week following the Symposium. http://www.slideshare.net/AmazonWebServices AWS Government, Education, and Nonprofit Symposium Washington, DC I June 25-26, 2015

Editor's Notes

  1. A couple years ago, we starting hearing customers ask us about the tools we use inside of Amazon – these customers were moving to the cloud, adopting agile process, SOA or microservices, and trying to figure out what tools to use. we were famously a devops company, released a ridiculous amount of software, and they started asking how we do it.
  2. Agenda In this talk, I'm going to walk you through some the changes that Amazon has made over the years, and tell you about the developer tools we built to support those architectural and organizational changes. - the Amazon DevOps Story - CodeDeploy - CodePipeline - CodeCommit Do we have a What's Next section, or just a Summary?
  3. A dozen years ago, Amazon.com was a monothic app, very centralized, (central deployment team) Breaking apart this monolithic app required two fundamental changes: (1) an architectural change and (2) an organizational change.
  4. Moving to a SOA - everything gets a service interface - breaking monolithic app into small services (primitives) - picture of what amazon.com looked like after this transformation (actual depiction of our service architecture) - today, I guess it’s popular to call this “microservices”
  5. Moving to agile (organizational change to two pizza teams) - speed & agility - ownership - automony & accountability - today, I guess it’s popular to call this “devops”
  6. Needed new tools requirements: - decentralized ownership (self-service) - promote best practices without being restrictive (guardrails) - technology agnostic - support agile SDLC
  7. Apollo - dozen years ago Deploy without downtime Health checking Centralized dashboard
  8. - Pipelines is our internal continuous deployment tool About 6-7 years ago, we looked at how long it was taking teams inside of amazon to go from source code checkin to have the code running in production, and we discovered that it took an embarrassing long time (several weeks). What we discovered was that it wasn’t that the tools were taking that long. It was all the manual human processes in between (approval, feedback, notifications). We were wasting a lot of time because humans were advancing software through the different phases of the development process (source, build, test, deploy). so we built “pipelines” (and this is before the industry even had a term for it). we built in all the traditional aspects of CI/CD (internal build and test), but we extended that to also include what is sometimes referred to as “release automation” (defining the different stages of your application – alpha, beta, gamma, prod -- and orchestrating the release of software through that – and even beyond that – to different AZs and different regions. What is now called “continuous deployment” - Today, most teams at amazon use pipelines (>90% of teams)
  9. So, what happens when you have thousands of development teams… each running a microservices or SOA architecture… each with multiple environments (alpha, beta, gamma, prod… something multiple regions)… each doing continuous deployments? You get *a lot* of deployments. Last year, Apollo handles 50 million deployments – that’s 1.5 deployments per second!
  10. But AWS customers want the same tooling to release as frequently and reliably as Amazon - the new Code services will enable customers to do just that - we'll walk through how you can use these tools to wire together your own DevOps pipeline
  11. - we'll start with AWS CodeDeploy
  12. - first we ask ourselves "why do we need a deployment service" - automated deployments are a fundamental requirement for any effective DevOps pipeline - must be able to quickly and reliably deploy your code to multiple environments (dev, test, staging, production) - you'll be doing this very often, so you don't want any friction as you iterate - any manual steps will slow you down and introduce errors - if you just have one developer deploying code to one server, you can accomplish this with SSH and some scripts - but as you add developers or expand your server fleet, the complexity of coordinating deployments grows quickly - what happens if 1 instance deployment fails in a 10 instance deployment? what if multiple developers try to deploy different updates at the same time? how do you deploy to a production fleet without any downtime? - a deployment service can help orchestrate all of this for you and let you concentrate on writing new features for your application
  13. - CodeDeploy enables you to deploy code to your servers just like Amazon does - it was inspired by our internal Apollo service and leverages all of the learning from over a decade of deployments - you just define how you want your application installed on a single instance, and CodeDeploy can handle scaling a deployment across thousands of instances - it will let you configure the speed of a roll out so you can balance availability and deployment duration - and it enables you to deploy to a running fleet without application downtime - CodeDeploy can become the central tool that you use to control and monitor which application versions are deployed to your different runtime environments let's take a look at how you do these things in CodeDeploy - On-Premises support!
  14. - the first step is to package your application up for deployment - you need to define how to install your application on a single instance, and you use an AppSpec file to do that - this file is what provides the extreme flexibility that enables CodeDeploy to work with virtually any type of application - you specify where you'd like files copied, and what scripts you want to execute during the deployment lifecycle - you have complete control and can call whatever scripts or tools you want - this approach comes out of our experience with Apollo, where we learned that giving control to developers enables adoption for the broadest set of use cases - in this example, we call out to a Bash script to install application dependencies - in that script we use community-authored Chef cookbooks to install XXX - the appspec also calls a test script written in JavaScript - we can mix and match whatever tools and languages we like
  15. To get the cookbooks and app files into the right locations, we configure the files section of the appspec like so. All of our chef-specific files end up in /etc/chef/codedeploy and the compiled java archive ends up in the Tomcat webapp directory.
  16. - First, we’ll want to check whether or not Tomcat is running. If this is our first deployment, nothing will happen here, but subsequent deployments will stop the daemon. - Then, we check that chef, knife, and other related tools are actually installed and accessible. We do this in the “BeforeInstall” step -- that is, after the application revision has been downloaded -- so that we’re running with the most recent version of the hook script. - After all our files are in the right locations, we’ll execute “knife install” to pull the tomcat cookbook from the supermarket. Alternatively, you could run this on your dev box and just push the tomcat cookbook in the application revision. - Since the cookbook starts the tomcat daemon, we put off running chef-solo until the ApplicationStart event. - And finally, we do a simple curl or wget to check that it’s responding reasonably.
  17. - next we prepare our deployment targets - we need to install the CodeDeploy agent on each server - then we group the target server fleets for your application by using EC2 tags, on-premises tags, or Auto Scaling Group - you can choose to divide your target groups however you'd like - you can split between your development, testing, staging, and production environments - you can tag all servers that run Tomcat aNeed pplications if you want to be able to patch the Tomcat runtimes separate from your applications
  18. - use the CLI, an SDK, the Console, or one of our partner integrations like Jenkins, Travis CI, and GitHub to kick off a deployment
  19. - CodeDeploy offers a number of features that help you orchestrate how a deployment rolls out across your fleet
  20. One major benefit of CodeDeploy is that it can update an active fleet without requiring any application downtime. That’s done by choosing a deployment configuration that will ensure the fleet remains available during a deployment. Here’s an example of that. We have 3 hosts running behind a load balancer and we set the minimum healthy hosts for the deployment to 2.
  21. CodeDeploy only takes one instance offline at a time to perform an update, and then returns it to the load balancer before progressing to the next instance.
  22. It then continues this process across the rest of the fleet.
  23. By doing this, we always have at least two hosts receiving traffic and the application stays available.
  24. By doing this, we always have at least two hosts receiving traffic and the application stays available.
  25. Sometimes, a developer might deploy a bad change that fails during deployment. Hopefully they have the right test process in place to catch this before a production deployment, but sometimes it does happen. If it does, CodeDeploy will stop the roll out because it cannot take any more instances offline without violating the minimum healthy hosts. At this point, the developer could rollback by re-deploying the prior version, or they could make a quick fix and deploy a newer version.
  26. On the next update, CodeDeploy knows to start by updating the unhealthy host first since it’s already offline. After that, it progresses through the remainder of the fleet, bringing them all up to the new version.
  27. [GitHub to make change and trigger deployment] [ELB deployment visualization or multi-AZ demo] [Console to review status and inspect past failure]
  28. - let's now take a look at AWS CodePipeline
  29. - after automating your deployments, you'll want to automate your full end-to-end release workflow - this includes taking a source code change, building it, testing it, and putting it through your required quality checks before deploying it into production - why would you want to automate that process, instead of just handling it manually? - it's slow – you want to remove any lag between the stages - it's inconsistent – you want to eliminate any mistakes or shortcuts in the qualification process
  30. - CodePipeline enables you to automate your release process just like Amazon does - it was inspired by our internal Pipelines service - you define you're custom release workflow, stringing together all of the actions and checks that you want to perform - the pipeline actions are extensible, and partners and customers can plug in their own custom source, build, test, and deployment systems - once set up, CodePipeline will run code changes through your release process and give you a visual status of how those changes are progressing through your pipeline - let's see how you set up CodePipeline
  31. - now that we've covered how to automate release pipelines, let's talk about the source control system that's at the front of the whole process - the last service that we'll talk about is AWS CodeCommit
  32. - when you set up a cloud-based continuous delivery pipeline, you should consider hosting your source control in the cloud as well - this will cut down on your management overhead, and place your source repositories close to your build, test, and production environments - but if you do put your source code in the cloud, you're going to have some important requirements - first, your source control system has to be highly available, because you need to be ready to deploy at any time - you don't want a critical hotfix to be delayed just because your source control system is getting bogged down - second, you'll want to take advantage of cloud scale so you're not held back from artificial limits - you should be able to store whatever assets you want to version with your app, and you shouldn't have limits to your repo size - third, you need robust security, because your source code is a valuable corporate asset
  33. - CodeCommit is Git source control service built on a cloud-scale architecture - on the front-end, we're just a standard Git remote that you can push to and pull from using the Git CLI or other Git GUI tools - but behind that Git endpoint is a novel implementation - rather than use a file system-based implementation, we store the repo data in Amazon S3 and the index in Amazon DynamoDB - this gives us a number of advantages - the repo data is automatically stored across multiple availability zones - this gives us enhanced data durability and service availability - we also encrypt the data at rest using customer-specific encryption keys that are stored in our Key Management Service - we use AWS IAM for access management, so you can assign permissions to your repos in the same way you assign permissions to your other AWS resources - finally, we place no size limits on your repos - CodeCommit provides a secure, scalable, and reliable Git service to front your continuous delivery pipelines
  34. - CodeDeploy launched last year and is available to all - we will aggressively expanding to additional regions - CodeCommit and CodePipeline will be coming soon - register on the website if you're interested in private beta access, and we'll try to get you into one of the pre-launch waves