DevOps Requires Agility 
Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com 
Stephen D. Ritchie 
@RuthlessHelp 
Oct 21, 2014 
Agile Professionals Meetup 
October 2014
Live Tweet, Slides and Examples 
• Twitter: @RuthlessHelp 
• Slides: 
http://www.slideshare.net/ruthlesshelp 
• Code Samples: 
http://github.com/ruthlesshelp 
Stephen D. Ritchie 
2
DevOps is the practice of operations 
and development engineers 
participating together in the entire 
service lifecycle, from design 
through the development process 
to production support. 
http://theagileadmin.com/what-is-devops/ 
Stephen D. Ritchie 3
DevOps Defined 
• Operations and Development Folks 
– Working together 
– Entire lifecycle 
• Change in Mindset 
– Values 
– Principles 
– Methods 
– Practices 
– Tools 
Stephen D. Ritchie 
4
Example: Etsy 
• Overview, June 2012 
– Launched June 18, 2005 
– 875,000 active sellers 
– 33.5 million items for sale 
– $65.9 million in sales, May 2012 
– 1.4 billion page views, May 2012 
– 102 engineers 
• How often do they release to Production? 
Stephen D. Ritchie 
5
Etsy Deployments 
• Reported February 2011 
“In January (a month in which we did over a billion 
page views), code committed by 76 unique 
individuals was deployed to production by 63 
different folks a total of 517 times.” 
• Reported June 2012 
– 32 times per day 
• Reported March 2014 
– 50 times per day 
– http://www.infoq.com/news/2014/03/etsy-deploy- 
50-times-a-day 
Stephen D. Ritchie 
6
Let’s Step Back 
• Dan Pink 
– Drive: The surprising truth about what 
motivates us 
• RSA Animate video 
– https://www.youtube.com/watch?v=u6XAPnuF 
jJc 
Stephen D. Ritchie 
7
Autonomy 
Mastery 
Purpose 
Stephen D. Ritchie 8
The Problem 
Stephen D. Ritchie 
Source 
Code 
1 3 2 
9 
Scott’s 
Computer 
Susan’s 
Computer 
You 
1 
2 
3 
Scott makes changes 
Susan makes changes 
You can’t build
What Went Wrong? 
Stephen D. Ritchie 
10 
Conflicts 
Missing Files 
Breaking Changes
How do you 
find 
integration 
issues? 
Stephen D. Ritchie 11
Manual Integration 
Build 
Run Some Unit Tests 
Perform Static Analysis 
Clean + Rebuild All 
Stephen D. Ritchie 
12
Continuous Integration Blueprint 
Stephen D. Ritchie 
13
CI Server 
Stephen D. Ritchie 
Source 
Code 
14 
Scott’s 
Computer 
Susan’s 
Computer 
You 
CI 
Server
CI Server 
Triggered by SCM 
Stephen D. Ritchie 
and 
15
CI – Per Commit Steps 
1. Clean + Rebuild All 
2. Run All Unit Tests 
3. Analysis 
Stephen D. Ritchie 
Static Code Analysis 
Coding Standards 
16
Continuous Integration Toolbox 
Stephen D. Ritchie 
17
CI Server – Jenkins 
Stephen D. Ritchie 
18 
http://jenkins-ci.org/ 
Free 
Open Source
CI Server – Cruise Control 
http://www.cruisecontrolnet.org/ 
Free 
Open Source 
Stephen D. Ritchie 
http://cruisecontrol.sourceforge.net/ 
19
CI Server – TeamCity 
http://www.jetbrains.com/teamcity/ 
Commercial 
Easy to Use 
Stephen D. Ritchie 
20
Perhaps an 
example would 
be helpful 
Stephen D. Ritchie 21
Continuous Integration Master Craft 
Stephen D. Ritchie 
22
The Master Craft 
Stephen D. Ritchie 
Unit Testing 
23 
Plus 
Code Coverage
The Master Craft 
Stephen D. Ritchie 
System Testing 
Integration Testing 
Acceptance Testing 
24
The Master Craft 
Visualizations 
Checks 
Stephen D. Ritchie 
Code Quality 
25 
Metrics 
Detections 
Analysis
The Master Craft 
Stephen D. Ritchie 
Reporting 
26 
And 
Visibility
The Master Craft 
Stephen D. Ritchie 
Packaging 
27 
And 
Deployment
Closing Thought: CAMS 
• Culture 
– People and process first 
– Virtuous discipline 
• Automation 
– Dev: building, testing, analyzing, packaging, deploying 
– Ops: release management, provisioning, configuration management, 
systems integration, monitoring and control, and orchestration 
• Measurement 
– Measure everything you can as often as you can 
– Visibility and transparency 
• Sharing 
– Openness, share ideas and problems 
– Confront problems, not each other 
– Fail your way to success 
Stephen D. Ritchie 
28
Stephen’s Contact Info 
• Email: 
stephen.ritchie@excella.com 
• LinkedIn: 
http://www.linkedin.com/in/sritchie 
Stephen D. Ritchie 
29

DevOps Requires Agility

  • 1.
    DevOps Requires Agility Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com Stephen D. Ritchie @RuthlessHelp Oct 21, 2014 Agile Professionals Meetup October 2014
  • 2.
    Live Tweet, Slidesand Examples • Twitter: @RuthlessHelp • Slides: http://www.slideshare.net/ruthlesshelp • Code Samples: http://github.com/ruthlesshelp Stephen D. Ritchie 2
  • 3.
    DevOps is thepractice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. http://theagileadmin.com/what-is-devops/ Stephen D. Ritchie 3
  • 4.
    DevOps Defined •Operations and Development Folks – Working together – Entire lifecycle • Change in Mindset – Values – Principles – Methods – Practices – Tools Stephen D. Ritchie 4
  • 5.
    Example: Etsy •Overview, June 2012 – Launched June 18, 2005 – 875,000 active sellers – 33.5 million items for sale – $65.9 million in sales, May 2012 – 1.4 billion page views, May 2012 – 102 engineers • How often do they release to Production? Stephen D. Ritchie 5
  • 6.
    Etsy Deployments •Reported February 2011 “In January (a month in which we did over a billion page views), code committed by 76 unique individuals was deployed to production by 63 different folks a total of 517 times.” • Reported June 2012 – 32 times per day • Reported March 2014 – 50 times per day – http://www.infoq.com/news/2014/03/etsy-deploy- 50-times-a-day Stephen D. Ritchie 6
  • 7.
    Let’s Step Back • Dan Pink – Drive: The surprising truth about what motivates us • RSA Animate video – https://www.youtube.com/watch?v=u6XAPnuF jJc Stephen D. Ritchie 7
  • 8.
    Autonomy Mastery Purpose Stephen D. Ritchie 8
  • 9.
    The Problem StephenD. Ritchie Source Code 1 3 2 9 Scott’s Computer Susan’s Computer You 1 2 3 Scott makes changes Susan makes changes You can’t build
  • 10.
    What Went Wrong? Stephen D. Ritchie 10 Conflicts Missing Files Breaking Changes
  • 11.
    How do you find integration issues? Stephen D. Ritchie 11
  • 12.
    Manual Integration Build Run Some Unit Tests Perform Static Analysis Clean + Rebuild All Stephen D. Ritchie 12
  • 13.
    Continuous Integration Blueprint Stephen D. Ritchie 13
  • 14.
    CI Server StephenD. Ritchie Source Code 14 Scott’s Computer Susan’s Computer You CI Server
  • 15.
    CI Server Triggeredby SCM Stephen D. Ritchie and 15
  • 16.
    CI – PerCommit Steps 1. Clean + Rebuild All 2. Run All Unit Tests 3. Analysis Stephen D. Ritchie Static Code Analysis Coding Standards 16
  • 17.
    Continuous Integration Toolbox Stephen D. Ritchie 17
  • 18.
    CI Server –Jenkins Stephen D. Ritchie 18 http://jenkins-ci.org/ Free Open Source
  • 19.
    CI Server –Cruise Control http://www.cruisecontrolnet.org/ Free Open Source Stephen D. Ritchie http://cruisecontrol.sourceforge.net/ 19
  • 20.
    CI Server –TeamCity http://www.jetbrains.com/teamcity/ Commercial Easy to Use Stephen D. Ritchie 20
  • 21.
    Perhaps an examplewould be helpful Stephen D. Ritchie 21
  • 22.
    Continuous Integration MasterCraft Stephen D. Ritchie 22
  • 23.
    The Master Craft Stephen D. Ritchie Unit Testing 23 Plus Code Coverage
  • 24.
    The Master Craft Stephen D. Ritchie System Testing Integration Testing Acceptance Testing 24
  • 25.
    The Master Craft Visualizations Checks Stephen D. Ritchie Code Quality 25 Metrics Detections Analysis
  • 26.
    The Master Craft Stephen D. Ritchie Reporting 26 And Visibility
  • 27.
    The Master Craft Stephen D. Ritchie Packaging 27 And Deployment
  • 28.
    Closing Thought: CAMS • Culture – People and process first – Virtuous discipline • Automation – Dev: building, testing, analyzing, packaging, deploying – Ops: release management, provisioning, configuration management, systems integration, monitoring and control, and orchestration • Measurement – Measure everything you can as often as you can – Visibility and transparency • Sharing – Openness, share ideas and problems – Confront problems, not each other – Fail your way to success Stephen D. Ritchie 28
  • 29.
    Stephen’s Contact Info • Email: stephen.ritchie@excella.com • LinkedIn: http://www.linkedin.com/in/sritchie Stephen D. Ritchie 29