SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
DevOps at Amazon:
A Look at Our Tools and Processes
Rob Brigham
Product Management, AWS Developer Tools
Prelude
Agenda
• The Amazon DevOps story
• New developer tools for everyone
– AWS CodeDeploy
– AWS CodePipeline
– AWS CodeCommit
What is DevOps?
DevOps = efficiencies that speed up this lifecycle
developers customers
releasetestbuild
plan monitor
delivery pipeline
feedback loop
Software development lifecycle
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
The Amazon DevOps story
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Monolith development lifecycle
developers
releasetestbuild
delivery pipelineapp
• Service-Oriented
Architecture (SOA)
• Single-purpose
• Connect only
through APIs
• “Microservices”
• Two-pizza teams
• Full ownership
• Full accountability
• Aligned incentives
• “DevOps”
Missing tools
developers delivery pipelineservices
???
• Self-service
• Technology-agnostic
• Encourage best
practices
• Single-purpose
services
• Deployment service
• No downtime
deployments
• Health checking
• Versioned artifacts
and rollbacks
• Continuous
delivery
• From check-in to
production
• Automated actions
and transitions
• >90% of teams
Pipelines
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
= 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
Setting up a delivery pipeline
1) Automate your software deployments
2) Automate your release process
deploy deploy deploy deploy
development test staging production
release: source > build > test > staging > production
Setting up a delivery pipeline
1) Automate your software deployments
AWS CodeDeploy
2) Automate your release process
AWS CodePipeline
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CodeDeploy
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CodeDeploy
• Scale from one instance to thousands
• Deploy to any server: AWS or on-premises
• Centrally control and monitor
Test
CodeDeployv1, v2, v3
Production
Dev
Coordinate automated deployments, just like Amazon
application
revisions
deployment groups
1) Package app 2) Specify targets 3) Deploy!
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
- location: deploy_hooks/chef-solo.sh
ApplicationStart:
- location: deploy_hooks/start-tomcat.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
1) Package app 2) Specify targets 3) Deploy!
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
- location: deploy_hooks/chef-solo.sh
ApplicationStart:
- location: deploy_hooks/start-tomcat.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
1) Package app 2) Specify targets 3) Deploy!
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
- location: deploy_hooks/chef-solo.sh
ApplicationStart:
- location: deploy_hooks/start-tomcat.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
1) Package app 2) Specify targets 3) Deploy!
Agent Agent Agent
Test
Agent Agent
Agent Agent
Agent
Agent
Production
Deployment groupDeployment group
Group instances by:
• Auto Scaling group
• Amazon EC2 tag
• On-premises tag
1) Package app 2) Specify targets 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
Rolling update – Deploy without downtime
v1v1 v1
Load Balancer
Rolling update – Deploy without downtime
v1v2 v1
Load Balancer
Rolling update – Deploy without downtime
v2v2 v1
Load Balancer
Rolling update – Deploy without downtime
v2v2v2
Load Balancer
Rolling update – Deploy without downtime
v2v2 v2
Load Balancer
Health tracking – Catch deployment problems
v2v2 v2
Load Balancer
Health tracking – Catch deployment problems
v3 v2 v2Stop
Load Balancer
Health tracking – Catch deployment problems
v2v2 v2
Load Balancer
Rollback
Health tracking – Catch deployment problems
v2v2 v2
Load Balancer
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
Demo
Product integrations
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CodePipeline
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CodePipeline
• Model your release process
• Integrate with your systems
• Visually monitor your pipeline 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) Perf test
Gamma
1) Deploy canary
2) Deploy region 1
3) Deploy region 2
1) Pull
Why automate your release process?
Launch
quickly
Ensure
quality
Demo
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS CodeCommit
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Source control in the cloud
Secure Fully
managed
High
availability
Store
anything
AWS CodeCommit
• Data redundancy across Availability Zones
• Data-at-rest encryption
• Integrated with AWS Identity and Access Management
• No repo size limit
git pull/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
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
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Summary
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
AWS Code services
CodeCommit
coming soon
CodePipeline
coming soon
CodeDeploy
launched Nov 2014
CHICAGO
Your Feedback is Important to AWS
Please complete the session evaluation. Tell us what you think!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
DevSecOps: Key Controls for Modern Security Success
DevSecOps: Key Controls for Modern Security SuccessDevSecOps: Key Controls for Modern Security Success
DevSecOps: Key Controls for Modern Security Success
 
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
 
Advanced Container Security
Advanced Container Security Advanced Container Security
Advanced Container Security
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 

Ähnlich wie DevOps at Amazon: A Look at Our Tools and Processes

Ähnlich wie DevOps at Amazon: A Look at Our Tools and Processes (20)

DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment Complexity
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
 
Transforming Software Development
Transforming Software Development Transforming Software Development
Transforming Software Development
 
AWS Code + AWS Device Farm
AWS Code + AWS Device FarmAWS Code + AWS Device Farm
AWS Code + AWS Device Farm
 
DevOps für mittlere Unternehmen und Großunternehmen - AWS Cloud Web Day für M...
DevOps für mittlere Unternehmen und Großunternehmen - AWS Cloud Web Day für M...DevOps für mittlere Unternehmen und Großunternehmen - AWS Cloud Web Day für M...
DevOps für mittlere Unternehmen und Großunternehmen - AWS Cloud Web Day für M...
 
AWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineAWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipeline
 
DevOps at Amazon: A Look at Our Tools and Processes by Matthew Trescot, Manag...
DevOps at Amazon: A Look at Our Tools and Processes by Matthew Trescot, Manag...DevOps at Amazon: A Look at Our Tools and Processes by Matthew Trescot, Manag...
DevOps at Amazon: A Look at Our Tools and Processes by Matthew Trescot, Manag...
 
DevOps in Amazon.com
DevOps in Amazon.com DevOps in Amazon.com
DevOps in Amazon.com
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Increasing pace as you grow: the Amazon Story
Increasing pace as you grow: the Amazon StoryIncreasing pace as you grow: the Amazon Story
Increasing pace as you grow: the Amazon Story
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
 
CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016
 

Mehr von Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

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

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

DevOps at Amazon: A Look at Our Tools and Processes

  • 1. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved DevOps at Amazon: A Look at Our Tools and Processes Rob Brigham Product Management, AWS Developer Tools
  • 3. Agenda • The Amazon DevOps story • New developer tools for everyone – AWS CodeDeploy – AWS CodePipeline – AWS CodeCommit
  • 4. What is DevOps? DevOps = efficiencies that speed up this lifecycle developers customers releasetestbuild plan monitor delivery pipeline feedback loop Software development lifecycle
  • 5. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved The Amazon DevOps story ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 6.
  • 8. • Service-Oriented Architecture (SOA) • Single-purpose • Connect only through APIs • “Microservices”
  • 9. • Two-pizza teams • Full ownership • Full accountability • Aligned incentives • “DevOps”
  • 10. Missing tools developers delivery pipelineservices ???
  • 11. • Self-service • Technology-agnostic • Encourage best practices • Single-purpose services
  • 12. • Deployment service • No downtime deployments • Health checking • Versioned artifacts and rollbacks
  • 13. • Continuous delivery • From check-in to production • Automated actions and transitions • >90% of teams Pipelines
  • 14. Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 15. = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
  • 16.
  • 17. Setting up a delivery pipeline 1) Automate your software deployments 2) Automate your release process deploy deploy deploy deploy development test staging production release: source > build > test > staging > production
  • 18. Setting up a delivery pipeline 1) Automate your software deployments AWS CodeDeploy 2) Automate your release process AWS CodePipeline
  • 19. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved AWS CodeDeploy ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 20. AWS CodeDeploy • Scale from one instance to thousands • Deploy to any server: AWS or on-premises • Centrally control and monitor Test CodeDeployv1, v2, v3 Production Dev Coordinate automated deployments, just like Amazon application revisions deployment groups
  • 21. 1) Package app 2) Specify targets 3) Deploy! 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 - location: deploy_hooks/chef-solo.sh ApplicationStart: - location: deploy_hooks/start-tomcat.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 22. 1) Package app 2) Specify targets 3) Deploy! 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 - location: deploy_hooks/chef-solo.sh ApplicationStart: - location: deploy_hooks/start-tomcat.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 23. 1) Package app 2) Specify targets 3) Deploy! 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 - location: deploy_hooks/chef-solo.sh ApplicationStart: - location: deploy_hooks/start-tomcat.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 24. 1) Package app 2) Specify targets 3) Deploy! Agent Agent Agent Test Agent Agent Agent Agent Agent Agent Production Deployment groupDeployment group Group instances by: • Auto Scaling group • Amazon EC2 tag • On-premises tag
  • 25. 1) Package app 2) Specify targets 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
  • 26. Rolling update – Deploy without downtime v1v1 v1 Load Balancer
  • 27. Rolling update – Deploy without downtime v1v2 v1 Load Balancer
  • 28. Rolling update – Deploy without downtime v2v2 v1 Load Balancer
  • 29. Rolling update – Deploy without downtime v2v2v2 Load Balancer
  • 30. Rolling update – Deploy without downtime v2v2 v2 Load Balancer
  • 31. Health tracking – Catch deployment problems v2v2 v2 Load Balancer
  • 32. Health tracking – Catch deployment problems v3 v2 v2Stop Load Balancer
  • 33. Health tracking – Catch deployment problems v2v2 v2 Load Balancer Rollback
  • 34. Health tracking – Catch deployment problems v2v2 v2 Load Balancer
  • 35. 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
  • 36. Demo
  • 38. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved AWS CodePipeline ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 39. AWS CodePipeline • Model your release process • Integrate with your systems • Visually monitor your pipeline 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) Perf test Gamma 1) Deploy canary 2) Deploy region 1 3) Deploy region 2 1) Pull
  • 40. Why automate your release process? Launch quickly Ensure quality
  • 41. Demo
  • 42. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved AWS CodeCommit ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 43. Source control in the cloud Secure Fully managed High availability Store anything
  • 44. AWS CodeCommit • Data redundancy across Availability Zones • Data-at-rest encryption • Integrated with AWS Identity and Access Management • No repo size limit git pull/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
  • 45. 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
  • 46. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Summary ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
  • 47. AWS Code services CodeCommit coming soon CodePipeline coming soon CodeDeploy launched Nov 2014
  • 49. Your Feedback is Important to AWS Please complete the session evaluation. Tell us what you think!