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.
15. Why use a deployment service?
Automate
deployments
Manage
complexity
Avoid
downtime
16. 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
20. 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
35. Why use a release automation service?
Automate
workflow
Release
quickly
Ensure
quality
36. 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
39. What's required for source control in the cloud?
Fully
managed
High
availability
Security Store
anything
40. 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