accelerating devops pipelines with aws
TRANSCRIPT
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Accelerating DevOps Pipelines with AWS
Konstantin Wilms, Solutions Architect Rick Houlihan, Solutions Architect
‘Ops is slowing us down’
‘Devs are going to break things’
‘We can’t train everyone’
Background The End to End Development Pipeline
Production
Build
QA, Integration
& Test
Staging
Artifacts
Manage Store Build Deploy Code
Monitor Provision Deploy Test Build Code
Elastic Beanstalk
OpsWorks
Cloud Watch
Cloud Formation
Code Deploy
Code Commit
Code Pipeline
Integration
Development / QA / I&T Operations
Deployment Agile
EC2
Artifacts – code, data, binaries, containers? …
‘Where do we start?’
Infrastructure Core Base Level Design
MFA, Users,
Groups, Roles
Linked Accounts,
Alerts
Resource Separation
Log & Audit
CloudFormation
Self Service DIY – Sometimes at a Cost
• BYOS – Flexibility - but sometimes at a time+complexity price
• Dependency Hell – Cross-functional – OSS + Commercial 3rd Party
• Integration – Problematic - multiple GUIs, services, etc. often NAS bound
• Portable – Most ‘compatible’ with lift and shift (in and out) – to a point
Custom AMIs CloudInit VM Import Marketplace
Infrastructure Services Overview & Application Areas
Elastic Beanstalk Quickly Deploy & Manage Applications
• Fast and Simple – Upload code and deploy in minutes, multi-version capable
• Developer Productivity – Focus on the code and not the infrastructure
• Impossible to Outgrow – Resilience & scalability are built in
• Complete Resource Control – Full control over deployed infrastructure
OpsWorks Model & Manage the Entire Stack
• Supports any Application – Any architecture via custom Chef recipes, bash scripts & configs
• Configuration as Code – Define and deploy from source repositories
• Automation to run at Scale – Dynamic configuration and orchestration
• Resource Organization – Logically organize and apply permissions to resources
Stack
OpsWorks Stack Define
Instance On-Prem
Install Agent
Stack Integration
CloudFormation Infrastructure as Code
• Easy to Use & Repeatable – ‘Describe anything’ via simple JSON-based syntax
• Full Control – Open-ended template-based deployment, Callbacks, Triggers
• Customized via Parameters – Customize templates at run-time for specific use cases
• Introspective Deployment – Build by hand and abstract with CloudFormer
Create Skeleton
Define Resources
Execute
Service Catalog CloudFormation as a Product
• Product Catalog – Create custom catalogs containing products incorporating
standard CloudFormation architectures and configurations
• Centralized Control – Provides IT with central management over portfolio of services
that end users can browse and launch
• Full Integration – Integration with existing self service systems via rich APIs
Create Portfolio
Define Product
Attach Template
Add Constraints
Code Services CodeCommit, CodePipeline, CodeDeploy
• CodeCommit – Fully managed source control service for hosting private Git
repositories
• CodePipeline – Standardizes and automates your software release process,
allowing you to rapidly release new features to users
• CodeDeploy – Deploys your released code to a "fleet" of EC2 instances
Code Commit
Code Pipeline
Code Deploy
CodeCommit CodePipeline CodeDeploy
Summary Wrap Up & Some Things We Missed
• AWS Lambda & Amazon S3 Events – Use to plumb up a simple artifact-based CI/CD workflow – Process all your ancillary data types – media, thumbs, etc.
• AWS Config – Continuously track configuration changes to your infrastructure – Use for Audit, Discovery, Troubleshooting
• Amazon EC2 Container Service – Highly scalable, performant container management service – Docker containers, custom scheduler
SAN FRANCISCO