5. DevOps Principles
Definition
Collaboration - work as one team end to
end
Breakdown the barriers between
developers and IT ops
Continuous integration & deployment
Treat Infrastructure as code
Support business and IT agility
Automate everything
Test everything
Measure & monitor everything
6. AWS Offering for CI & CD
MonitorProvisionDeployTestBuildCode
Elastic Beanstalk
OpsWorks
Cloud
Watch
Cloud
Formation
Code
Deploy
Code
Commit
(preview)
Code
Pipeline
(preview)
7. Coding Phase
Developer creates a code.
How and where to store it? How to get the following functionality?
• Tracking all changes
• Distributed to allow collaboration
• Branching and merging
• Option to switch across different versions
Version Control System
9. AWS CodeCommit
git push CodeCommit
Git objects
in Amazon S3
Git index
in Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or Smart HTTP
• Data redundancy across Availability Zones
• Data-at-rest encryption
• Integrated with AWS Identity and Access Management
• No repo size limit
Secure, scalable and managed source control
11. Build and Test Phase
1. Developers deploy code to the version control system (CodeCommit, Git)
2. SysOps build and deploy the software to the testing / staging environment
3. Q&A team executes load and performance test so the software can be
released for production use
13. AWS CodePipeline
Continuous Delivery and Release Automation
• Customizable workflow engine
• Integrate with partner and custom systems
• Visual editor and status
Source Staging Region 2
Region 3
Build
Unit
Tests
Deploy
UI
Test
DeployDeploy
Region 1
15. Deployment Phase
Software has to be deployed to different environments (dev/test/staging/production)
Deployment has to be automated as much as possible to minimize downtime
In case of issues, it has to allow roll-back to the previous version
17. AWS CodeDeploy
• Automated application deployments to EC2,
and any Internet-connected computer
• Consistent and reliable releases, without downtime
• Scale from 1 instance to thousands
• Centralize deployment control and monitoring
Coordinate automated deployments, just like Amazon
18. How CodeDeploy Works
Agent Agent
Agent Agent
Agent
Agent
Deployment Group
Deployment
Amazon S3
GitHub
Application
Bundle
Coordinate automated deployments, just like Amazon