As software development teams transition to cloud-based architectures and adopt agile processes, the tools they need to support application development in this new world will change. In this session, we'll take you the transition that Amazon made to a service-oriented architecture over a decade ago, and introduce you to some of the processes and tools that we built and adopted along the way. We’ll share what lessons we’ve learned, explain how we’ve achieved better agility and reliability in our software development and deployment processes, and present an overview of tools we’ve used to help get us there that have since become services such as AWS CodeCommit, AWS CodePipeline, AWS CodeDeploy, and more.
4. Agenda
• The Amazon DevOps story
• New developer tools for everyone
– AWS CodeDeploy
– AWS CodePipeline
– AWS CodeCommit
5. What is DevOps?
DevOps = efficiencies that speed up this lifecycle
developers customers
releasetestbuild
plan monitor
delivery pipeline
feedback loop
Software development lifecycle
16. = 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
17.
18. 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
19. Setting up a delivery pipeline
1) Automate your software deployments
AWS CodeDeploy
2) Automate your release process
AWS CodePipeline
21. The image cannot be displayed. Your computer may not have
enough memory to open the image, or the image may have
been corrupted. Restart your computer, and then open the file
again. If the red x still appears, you may have to delete the
image and then insert it again.
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
The image cannot be displayed. Your computer may not have
enough memory to open the image, or the image may have
been corrupted. Restart your computer, and then open the
file again. If the red x still appears, you may have to delete
the image and then insert it again.
25. 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
40. 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
• 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