The document discusses DevOps practices in 2013 and provides recommendations. It notes that continuous integration and continuous testing are not well established at most companies. It recommends integrating the DevOps toolchain, architecting and instrumenting systems for operations, embracing open source tools, using cloud infrastructure to enable DevOps practices, and focusing on metrics, SLAs and incentives aligned with DevOps goals. The document is from a consulting firm that offers DevOps assessment and implementation services.
2. DevOps: We Can Do Better
Fixing yet another ‘organizational silo’ problem, this time
between pre-production and go/post-production teams
Widely acknowledged as a process and ownership problem.
Continuous SLA Enforcement
Continuous releases
Continuous testing
Integrate
Analysis Design Construct Release Operate Consume Evolve
& QA
Influence configuration
Influence architecture Aligning Pre-Production and
Influence non-functional requirements Go/Post Production Teams
April 8, 2013
3. Next-Gen DevOps
1. Continuous Integration is the Starting Point
2. Continuous Testing is a Must
3. Continuous Delivery for the Right Reason
4. Integrate the DevOps Tool-Chain
5. Architected for Operations
6. Instrumented for Operations
7. Open Source Dominates Tooling
8. DevOps on Cloud
9. A Renewed Focus on Metrics, SLA’s and Incentives
April 8, 2013
4. Continuous Integration is the Starting Point
Continuous integration is in poor shape at many organizations.
Common issues include:
Splintered version control systems including old ones like PVCS, CVS, etc.;
failure to consolidate to newer choices: git, svn, etc.
Splintered build systems even on same platform (Ant, Maven, etc)
Running continuous build system – but allowing broken builds to exist
FIX CONTINUOUS INTEGRATION BEFORE MOVING ON
April 8, 2013
5. Continuous Testing is a Must!
Continuous Testing is in AWFUL shape at most companies!
Create and run basic automated tests with builds:
Unit tests (Junit, Nunit, etc.)
Integration tests (SoapUI, etc.)
Resilience tests (Chaos Monkey, etc.)
Load / Performance tests
Vulnerability tests
UI tests (Selenium, etc.)
It’s a shame we call it “DevOps”, it should be “DevTestOps”!
April 8, 2013
6. Continuous Delivery for the Right Reasons
Many are rushing to achieve continuous delivery but not for the
right reasons.
98% automated deployment - - but can’t get the last bit.
Frequent deployments but not infrequent customer releases.
When deployments fail, still doing roll-back, not roll-forward.
Achieved frequent releases but due to the number of failed
releases have reduced the % of availability.
Not looking at root causes of failures stagnates the automated
delivery success rates.
April 8, 2013
7. Integrate the DevOps Tool Chain
Dis-integrated tools in the delivery process reduce the ability to
automate deployments (fast, cheap, accurate)
Integrate the DevOps tool chain:
Start with continuous build (version control, build, continuous build, units)
Quality tests show in dashboard and affect QA maintenance backlog
Use proper repositories (Nexus, etc.), configuration management
(Puppet, Chef, etc.)
Integrate with virtual & cloud environments where appropriate
Use DevOps workflow automation (RunDeck) across the process
Keeping the tool chain integrated is as important as the first-
time integration.
April 8, 2013
8. Architected for Operations
Many applications aren’t architected to be easy to operate; this
is a HUGE problem.
Architected for Operations attributes include:
Ability to easily scale in or out without code changes (config/registry only)
Ability to easily version or patch the system without taking it offline
Ability to partially fail; e.g., keep taking inbound messages and queue them
Ability to easily migrate the system (not hardcoded to infra layer)
Operability of a system must be a primary concern in the non-
functional requirements
April 8, 2013
9. Instrumented for Operations
Solution Architects incorrectly assume that operations will
instrument their system once they ‘throw it over the wall’.
Instrumented for Operations activities include:
System requirements mandate that warnings, errors, exceptions are logged
with unique identifiers; leverage unified logging where appropriate
Complex multi-tiered, multi-component systems require additional
visibility of flow between systems (e.g., SQL calls, JSON messages, etc.)
Clear direction given on infrastructure and application monitoring
Instrumentation is used and tested in pre-production environments
Proper instrumentation is maintains developers, testers and
operators sanity. It’s more than a nicety.
April 8, 2013
10. Open Source Dominates the Tooling
Companies that are showing success in DevOps are utilizing
significant amounts of open source tooling.
Less expensive, open source tooling is winning over commercial:
Junit, Selenium, SoapUI, etc. are ubiquitous in .com and enterprise
Ant, Maven, Jenkins, Nexus, etc are ubiquitous in .com and enterprise
Puppet and Chef have moved beyond early adopters and are now being
used by the ‘early majority’.
Open source solutions are being updated at a more rapid rate
than their commercial cousins. The wisdom of the crowds is
driving innovation.
April 8, 2013
11. DevOps on Cloud
Infrastructure as a Service is the preferred environment for
many companies.
Users of IaaS almost ALWAYS embrace DevOps principles &
technologies:
AWS is promoting CloudFormation and OpsWorks
Cloud solutions like ServiceMesh Agility offer DevOps accelerators
Puppet & Chef have strong support for OpenStack, vCloud, etc.
The rapid provisioning of IaaS makes it a natural fit for
deploying across dev, test, stage, prod and DR environments.
April 8, 2013
12. Renewed Focus on Metrics, SLA’s and Incentives
MTTR, RTO and other operational metrics remain important but
are not enough.
New Metrics and SLA’s include:
Release rate, Quality of Release, Cost of Release
System availability (as affected by patches, changes, etc.)
Patch rate, In-Compliance %
DR fire-drill success rate
Progressive organizations have monetary incentives aligned
with metrics/SLA’s; plus or minus 15% of annual salary.
April 8, 2013
13. MomentumSI on DevOps in 2013
MomentumSI provides consulting services to organizations that
want world-class DevOps capabilities.
Assessment of current state, workshops and roadmaps
Culture transformation: rethinking processes, incentives and systems
Upgrading capabilities in continuous builds, testing and deployment
Establishing an Integrated DevOps tool chain
Implementing continuous delivery scripts for your applications
For a briefing on our DevOps offerings, email: Jeff Schneider
jschneider@MomentumSI.com
April 8, 2013