PROCESS MATTERS
@damonedwardsDamon Edwards
Sofia, Bulgaria7 - 8 October 2010
twitter.com/damonedwards
Damon Edwards
dev2ops.org
dtosolutions.com
Open Source Projects
RUNDECK
(Coming Soon)
controltier.org rundeck.org
subscribe in
iTunes
DevOps Cafe
I’m here to talk about you
Homework...
Process matters more than ever
Companies were able to achieve somewhat defensible positions based on technology...
Companies were able to achieve somewhat defensible positions based on technology... then came the web
+
1. Scale
2. Velocity of Innovation
How do we compete now?
Scale...
+
Velocity of Innovation...
Velocity of Innovation...
Ah-ha!
Application Lifecycle Result
Velocity of Innovation...
Ah-ha! Ka-ching!
Application Lifecycle
Velocity of Innovation...
Ah-ha!
Application Lifecycle
Velocity of Innovation...
Ah-ha! Ka-ching!
Application Lifecycle
Day 0 Day n
Velocity of Innovation...
Ah-ha!
Ah-ha!
Result
Result
Ah-ha!
Result
Ah-ha!
Result
Ah-ha!
Result
Velocity of Innovation...
Ah-ha!
Ah-ha!
Result
Result
Ah-ha!
Result
Ah-ha!
Result
Ah-ha!
Result
Homework...1. Lean Startup (Eric Ries)
What about clouds...
Velocity of Innovation
Scale
?
Effect of the Clouds...
Velocity of Innovation
Scale
Process matters more than ever
Ah-ha!
Result
Ah-ha!
Result
Ah-ha!
Result
Ah-ha!
Result
Get Agile...• Incremental, iterative and collaborative,
rather than distinct stages
• More frequent delivery of smaller, valuable increments
• Building quality in, not adding it at the end
• Goal of potentially shippable at every iteration
• Active user involvement (or customer proxy)
• Agile teams must be empowered and self-motivating
Credit: Rich Mironov
Get Agile...
Scrum
Get Agile...
KanbanCredit: Jeff Patton/ acm.org
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)
Become Test Driven...
Test Driven Development
Become Test Driven...
QA is not a team
QA is a cross-cutting concern
QA isn’t scalable
QA must leverage automation
Become Test Driven...
Do it in isolation
• Verify components in isolation (“unit”)
• Verify integrated components or subsystems (“functional”)
• End-to-end system tests (“system”)
on demand, low minutes
Do it with a crowd
• Performance
• User interaction analysis
• Traffic analysis
• A/B Testing / Feature Flags
• Operational unit tests
continuous, real-time
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations
Deploy Continuously...
Watch
Code
Build
Unit
Tests
Publish
ResultsAutomatic
Loop
AutomaticDeployment
Watch
Code
Build
Unit
Tests
Publish
Results
Automatic
Loop
Full Automated
Testing
AutomatedRollout
Users
Continuous Integration Continuous Deployment
Deploy Continuously...
Watch
Code
Build
Unit
Tests
Publish
ResultsAutomatic
Loop
AutomaticDeployment
Watch
Code
Build
Unit
Tests
Publish
Results
Automatic
Loop
Full Automated
Testing
AutomatedRollout
Users
Continuous Integration Continuous Deployment
Deploy Continuously...
eng.kaching.com
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations4. Continuous Deployment
The Application is the Infrastructure
The Infrastructure is the Application
Infrastructure as code...
Infrastructure as code...
“A technical domain revolving around building and managing infrastructure programatically”
Adam Jacob / Opscode
Infrastructure as code...
Can you automatically reconstruct the business from nothing but:
1. Source code repository
2. Application data backup
3. Bare metal/cloud resources
Adam Jacob / Opscode
Infrastructure as code...
“10th floor test”
Can you automatically restore your services if you:
1. Toss a random server out the window
2. Toss a random engineer out the window
adapted from Steve Traugott / Infrastructures.org
Infrastructure as code...
Open Source Provisioning Toolchain / DevOps Toolchain Project
Bcfg2cfengineChefPuppetSmart Frog
Application Service Orchestration
System Configuration
Cloud or VMImage
Launch
OSInstall
KickstartJumpstartCobblerOpenQRMxCAT
XenlxcopenVZEucalyptusKVM
CapistranoControlTierFabricFuncmCollective
Cloud: OS Install:
Command and Control
Configuration
Bootstrapping
Prov
isio
ning
Act
ivity
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations4. Continuous Deployment5. Infrastructure as Code
Agile Infrastructure...
Luke Kanies / Puppet Labs
Old Days
Cloud Days
00H 100H 200H 300H 400H
Hardware Provisioning Deployment
Agile Infrastructure...
• Walk on / walk off projects
• On-demand testing environments
• “Frictionless” development environments
• “Cloud scale” thinking
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations4. Continuous Deployment5. Infrastructure as Code6. Agile Infrastructure
DevOps...
Dev Ops
DevOps...
Dev
Wall o
f C
onfu
sio
n
Ops
DevOps...
Different views of the world
Disconnected processes
Disconnected tooling
DevOps...
Ops
Ah-ha! Ka-ching!
Dev
DevOps...
Ah-ha! Ka-ching!Wall o
f C
onfu
sio
n
OpsDev
DevOps...
Dev OpsDevOps
Wall of iononfusC
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations4. Continuous Deployment5. Infrastructure as Code6. Agile Infrastructure7. DevOps
Good process makes life better
Pick up the cause
Help your company
Help yourself
Homework...1. Lean Startup (Eric Ries)2. Agile Planning (Scrum, Kanban)3. Test Driven Development / Operations4. Continuous Deployment5. Infrastructure as Code6. Agile Infrastructure7. DevOps
Extra Credit:8. DevOps Cafe Podcast (DevOpsCafe.org)9. Follow me on Twitter (@damonedwards)