devops requires agility
DESCRIPTION
DevOps emphasizes communication, collaboration and integration between the developers and the operations folks. Some teams figure out DevOps on their own, but most struggle in their effort to implement DevOps practices, such as, automated builds, automated tests, automated deployments, continuous integration, and continuous delivery. Many consider these practices essential for the success of any software development project, but they require a new way of thinking. In other words: DevOps requires agility.TRANSCRIPT
Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
DevOps Requires Agility
Stephen D. Ritchie@RuthlessHelp
Oct 21, 2014
Agile Professionals MeetupOctober 2014
Stephen D. Ritchie
Live Tweet, Slides and Examples
• Twitter: @RuthlessHelp
• Slides:
http://www.slideshare.net/ruthlesshelp
• Code Samples:
http://github.com/ruthlesshelp
2
Stephen D. Ritchie 3
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
DevOps Defined
• Operations and Development Folks
– Working together
– Entire lifecycle
• Change in Mindset
– Values
– Principles
– Methods
– Practices
– Tools
4
Stephen D. Ritchie
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?
5
Stephen D. Ritchie
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
6
Stephen D. Ritchie
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
7
Stephen D. Ritchie 8
AutonomyMasteryPurpose
Stephen D. Ritchie
The Problem
SourceCode
1 23
9
Scott’sComputer
Susan’sComputer
You
1
2
3
Scott makes changes
Susan makes changes
You can’t build
Stephen D. Ritchie
What Went Wrong?
10
Conflicts
Missing Files
Breaking Changes
Stephen D. Ritchie 11
How do youfind
integrationissues?
Stephen D. Ritchie
Manual Integration
12
Build
Run Some Unit Tests
Perform Static Analysis
Clean + Rebuild All
Stephen D. Ritchie
Continuous Integration Blueprint
13
Stephen D. Ritchie
CI Server
SourceCode
14
Scott’sComputer
Susan’sComputer
You
CIServer
Stephen D. Ritchie
CI Server
15
Triggered by SCMand
Stephen D. Ritchie
CI – Per Commit Steps
16
1. Clean + Rebuild All
2. Run All Unit Tests
Coding Standards
3. AnalysisStatic Code Analysis
Stephen D. Ritchie
Continuous Integration Toolbox
17
Stephen D. Ritchie
CI Server – Jenkins
18
http://jenkins-ci.org/
Free
Open Source
Stephen D. Ritchie
CI Server – Cruise Control
19
http://cruisecontrol.sourceforge.net/
Free
Open Source
http://www.cruisecontrolnet.org/
Stephen D. Ritchie
CI Server – TeamCity
20
Commercial
Easy to Use
http://www.jetbrains.com/teamcity/
Stephen D. Ritchie 21
Perhaps an example would
be helpful
Stephen D. Ritchie
Continuous Integration Master Craft
22
Stephen D. Ritchie
The Master Craft
23
Unit TestingPlus
Code Coverage
Stephen D. Ritchie
The Master Craft
24
Integration Testing
System Testing
Acceptance Testing
Stephen D. Ritchie
The Master Craft
25
Code Quality
Metrics
Visualizations
Detections
Checks
Analysis
Stephen D. Ritchie
The Master Craft
26
ReportingAnd
Visibility
Stephen D. Ritchie
The Master Craft
27
PackagingAnd
Deployment
Stephen D. Ritchie
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
28
Stephen D. Ritchie
Stephen’s Contact Info
• Email:
• LinkedIn:
http://www.linkedin.com/in/sritchie
29