Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

8.
Knowledge is power
Requirements
Gathering
Release
Development
and Check In
Test and QA
Some Learning
Lots of Learning
Minimal Learning
Cycle Time

9.
“How long would it take your organization
to deploy a change that involves just one
single line of code?”
“Do you do this on a repeatable, reliable
basis?”
- Mary & Tom Poppendieck, Lean Software Development

11.
What is it?
• A philosophy? Cultural change? Paradigm shift ?
• Alignment of development and IT operations with better communication
and collaboration ?
• Improvement in software deployment ?
• Breaking down the barriers between development and IT operations ?
• Akin to Agile software development applied to infrastructure and IT
operations
• Set of tools and processes
• It’s all of the above!
Code
W
a
l
l
Developer IT Operations
DevOps

12.
Building Teams
• Make DevOps everyone’s job
- No silo/walled off DevOps teams
• Encourage developers to participate openly in the
automation of operations code
• Embolden operations participation in testing and
automation of application code
• “Take pride” in how fast and frequent you deploy

19.
Building a DevOps Culture
• Encourage a fail fast, learn quick mindset
• Foster innovation and accountability
• Promote open and honest sharing of lessons
learned
• Build trust across organizational boundaries
- Include all the stakeholders
• Expect that it will be a work-in-progress

26.
Automated Testing
• Robust, automated testing drives confidence in the
entire process
• Testing is not viewed as a “phase” of a project
- Testing starts on day one
• View failures as successes
• Don’t overlook testing the infrastructure
- Are you ready for the Simian Army?
• Testing is everyone’s responsibility

27.
Configuration Management
• Everything must go into version control
• Implement an effective strategy for branching and
merging
• Don’t let tools get in the way

28.
Deployment Automation
• Invest in streamlining and unifying all aspects of the
deployment process
• An application’s environment and configuration should be
managed through code
- Remove any dependencies on human intervention
• Every manual step represents an opportunity for
future failure
- Console tweaks = future bugs
• Value repeatability
- How fast can you completely rebuild your environment from scratch?

29.
One Step Environment Creation
• Require a single build process for all environments
- Try to build on horizontal concepts
• Expect the environments to be constantly evolving
- Fragile automation becomes fragile environments
• “The longer you wait to have a common environment
build process, the harder it is to create one”

32.
Continuous Deployment
• Code that makes it through the pipeline goes straight
to production
• Requires continuous integration and delivery
• Relies heavily on small, constantly tested releases
• Often a stretch goal for many organizations

50.
Infrastructure Code
The code that describes infrastructure should inherit
the same values applied to application code
• Not JUST revision control
• Make use of bug tracking/ticketing systems
• Peer reviews of changes before they happen
• Establish infrastructure code patterns/designs
• Test infrastructure changes like code changes