1) Amazon developed DevOps practices and tools to support microservices architectures and continuous delivery at scale for their own applications. They launched three new AWS services - CodeCommit, CodePipeline, and CodeDeploy - to provide similar capabilities to other organizations.
2) CodeCommit provides fully-managed Git source control in the cloud. CodePipeline allows users to model and visualize their release processes. CodeDeploy automates application deployments across different environments.
3) These services aim to help users achieve continuous delivery, deploy applications without downtime, and catch deployment problems through health tracking and rollbacks, as Amazon has done internally for their many services.
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
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
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
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
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
44. Source control in the cloud
Secure Fully
managed
High
availability
Store
anything
45. AWS CodeCommit
• Use standard Git tools
• Scalability, availability, and durability of Amazon S3
• Encryption at rest with customer-specific keys
• 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