DevOps, the fusing of software development (Dev) with IT operations (Ops) is growing in popularity. A maturing of the agile software development methodology, DevOps unites developers and IT operations to release high quality code into solidly performing environments more rapidly than is possible with traditional developer-to-ops handoffs. It solves a basic problem that arises with agile methodology, namely that quickly producing new code is of little use if it cannot be deployed on reliable infrastructure.
We nvestigate the ways that DevOps can generate a return on investment (ROI) for an organization that makes DevOps part of its IT strategy. DevOps certainly has great potential for business impact, with beneficial effects reaching far beyond the IT department. The ability to release high quality code efficiently confers benefits on both the income and expense sides of a business, measurable in hard dollars as well as intangible advantages such as increased brand equity.
Getting DevOps to pay off is far from a push-button process, however. CloudMunch offers a number of suggested practices based on its experience in DevOps with large enterprises. Business success with DevOps involves choreographing between people, organizational culture and the DevOps platform and tools. The paper explores practices related to setting up DevOps so that everyone on both Dev and Ops teams can get early, instant feedback on project work. In addition, it looks at practices to ensure that DevOps tools and processes can access the entire application lifecycle, which is critical to DevOps work.
HTML Injection Attacks: Impact and Mitigation Strategies
Road to DevOps ROI
1.
2. Fusing of software development (Dev) with IT operations (Ops)
A maturing of the agile software development methodology
DevOps unites developers and IT operations to release high quality code into
solidly performing environments more rapidly than is possible with traditional
developer-to-ops handoffs.
Solves a basic problem with agile methodology: Producing new code is of little
use if it cannot be deployed on reliable infrastructure.
Growing in popularity: 63% of developers have implemented DevOps.*
Faster code: High-performing DevOps organizations can ship code 30 times
faster with 50% fewer failures.*
* Source: 2013 State of DevOps Report – IT Revolution Press (Surveyed of
more than 4,000 developers surveyed in 90 countries)
2
3. Develop
Test
Integrate
Production
A division between:
Developers, who write the code, and
Operations personnel, who are responsible for making sure the code is running
acceptably for end users.
The groups can be quite distant from one another.
Other stakeholders, such as line-of-business managers, compliance staffers, InfoSec, and
others, are also involved but generally removed from the software development-todeployment loop.
The process tends to be sequential:
Integration of new code into existing applications is done one release at a time.
Operations methodically places newly integrated code into production.
3
4. DevOps is a solution to the
slow, sequential approach:
Unifies development with the
release process .
Pulls all the participants into a
closer loop of collaboration and
cooperation.
The pace of software releasing
can pick up significantly.
The key concept of DevOps is
“continuous”.
Integration, QA and deployment
go on continuously, perhaps
even several times a day.
Monitor, assess
, recommend
improvements
Agile
Development
Continuous,
Continuous, aut
omated QA
Automated
deployment
Continuous
Integration
4
5. DevOps
Traditional Ops
Change
Deploying Changes
Automating Repetitive Tasks
4
5.3
4.5
4.6
-13%
13%
Infrastructure Management
Infrastructure Improvements
3.5
4.8
3.8
3.6
-9%
25%
Support
Communication
Firefighting
Self-Improvement
Overhead
2.4
5.1
3.8
3.1
2.8
3.8
7.2
4.8
2.7
2.4
-58%
-41%
-26%
13%
14%
27% of organizations using DevOps for 1 year+ can deploy new code “on demand” versus just 8% for
organizations that have not implemented DevOps. *
Those same organizations have a change lead time of less than one hour, compared to 7% for nonimplementers.*
Time spent deploying changes dropped 13% **
Communication time fell a remarkable 41% **
* 2013 State of DevOps Report – IT Revolution Press (Surveyed of more than 4,000 developers surveyed
in 90 countries)
** http://radar.oreilly.com/2012/06/what-is-devops.html
5
7. DevOps
Team Size
Fully burdened
labor rate
Weeks/year
Change
Annual
Savings/Year
Team Hours
Difference
-13%
(250)
$
(16,250)
13%
350
$
22,750
50
Hours/Year
2,000
Total Annual Spend
$ 1,300,000
Total Savings
Savings as a
percent of total
$
(84,500)
-7%
Deploying Changes
Automating Repetitive
Tasks
Infrastructure
Management
Infrastructure
Improvements
Support
4
5.3
4.5
4.6
3.5
3.8
-9%
(150)
$
(9,750)
4.8
3.6
25%
600
$
39,000
2.4
3.8
-58%
(700)
$
(45,500)
Communication
Firefighting
5.1
3.8
7.2
4.8
-41%
-26%
1,050)
(500)
$
$
(68,250)
(32,500)
Self-Improvement
Overhead
Total Savings
$
10
65
Traditional
IT Ops
3.1
2.8
2.7
2.4
13%
14%
200
200
$
$
$
13,000
13,000
(84,500)
Hypothetical 10 person development and ops team
Assuming a 2,000 hour work year and a fully burdened labor rate of $65 per hour,
the results are striking:
Some weekly activities go up in hours spent (often for the good).
But, time savings result in savings of $84,500 a year.
Savings = 7% of the team’s $1.3 million annual budget.
7
8. For the best practices you need to eke the
best ROI out of DevOps
http://www.cloudmunch.com/devopsROI
Additional models, spreadsheets and tools
9. Deploying Changes – With continuous change built into the cycle, DevOps helps save time
spent on application and database configuration and infrastructure updates.
Infrastructure Management – DevOps reduces the handoffs between developers and
infrastructure managers, in turn cutting the amount of time devoted to managing
infrastructure in response to software changes.
Support – With support people continuously looped into the development cycle, DevOps
makes it possible for problems to be identified and solved before they can make trouble.
Communication – The DevOps approach, assuming the right platform is in use, builds
efficient communication amongst all stakeholders right into the development and
deployment process.
Firefighting – With support and infrastructure on the same page as developers, the DevOps
approach reduces the number and intensity of situations where mission-critical apps go
down – as well as the ensuing scramble to recover a system within recovery time objectives
(RTOs).
9
10. The Overall Market
Starting Market Size (Dollars/Quarter)
$ 10,000,000
Market Growth Rate (Quarterly)
Software release cycles can affect revenue.
2%
The Company
Baseline Market Share
10%
Sales bump from new release
5%
Sales hit from no new release
-3%
Imagine that a company has a 10% market
share in a $10 million market for a
software-based product or service.
The market is growing at 2% a quarter.
For each new release of code, the company
will realize a revenue increase of 5%.
However, if there is no new release in a
quarter, sales will drop 3%.
Why? The answer is simple. Competitors
steal market share from laggards.
10
11. With no code released,
revenue drops from $1
million per quarter to
$807,000, with market
share falling from 10%
to 7%.
$14,000,000
19%
17%
16%
$12,000,000
15%
14%
$10,000,000
Revenue
Over 8 quarters, the
overall market for the
product growing from
$10 million to $11.4
million.
$8,000,000
$6,000,000
13%
11%
10%
12%
9%
9%
$4,000,000
8%
8%
8%
7%
7%
$2,000,000
$0
1
2
3
4
5
6
7
20%
18%
16%
14%
12%
10%
8%
6%
4%
2%
0%
Market Share
Total Market Size
Revenue - 0 Rel/Q
Revenue - 1 Rel/Q
Revenue - 2 Rel/Q
Market Share - 2 Rel/Q
Market Share - 0 Rel/Q
8
Quarter
The opportunity cost
of failing to release
software over two
years is $216,257.
However, with 2 code
releases per quarter,
market share goes
from 10% to 19%.
11
12. Infrastructure Improvements –DevOps enables team members to spend more
time on improvements to the infrastructure that supports the business:
Testing processes and recovery plans
Reducing the number of application failures while also tightening recovery
time
Self-Improvement – DevOps frees more staff time for training, reading and
continuing education.
Brainstorming and “doing nothing” Some of the best technology innovations
come from just this kind of downtime. DevOps reduces stress, system failures and
fire drills, enabling team members to think.
Thinking pays off for the business.
Source: ZeroTurnaround 2013 Study
12
13. DevOps involves collaboration between developers and operations teams:
Not an intuitive combination
Each group has a distinct culture, a different set of incentives, as well as differing
background and training in most cases.
Getting DevOps to work is as much an exercise in cultural change management as
anything else.
Tooling helps. The right DevOps platform, used the right way, can make a big difference in
the ROI outcomes:
Choreography between the people, the tools and the culture
Shared goals and metrics amongst DevOps team members
Benefits of DevOps become noticeable when team members do the work and make it a
reality.
Everyone becomes more productive and agile.
When a developer, tester, product manager and system engineer all see improvement in
the qualities of work lives, delivering great results, this way of working becomes the
norm or the work culture.
13
14. For the best practices you need to eke the
best ROI out of DevOps
http://www.cloudmunch.com/devopsROI
Additional models, spreadsheets and tools
15.
The only way to ensure that every developer, tester, system engineer is a high performer is to make sure
they get early and instant feedback:
When a developer pushes code into code repo, he or she gets immediate feedback on the code.
For a product manager, it means ability to create a sandbox to show the new feature to business on
day one for their feedback.
System engineers can simulate a new feature in production environment while it is still in
development.
There are three aspects to this:
Ongoing intelligence of code in development - This requires the use of development and operational
tools that are instrumented to generate metrics.
Operational intelligence ensures that all DevOps team members get all this feedback across all
functions and roles in a single dashboard. Everyone can see it and act upon it as needed.
Analytics and an automated dashboard provide real-time insight to the entire team across roles so
that they can get early and instant feedback for high performance.
15
16.
With DevOps, collaboration has to be seamless across both Dev and Ops teams and the entire application
delivery value chain:
Set up automated processes and systems for Integrated Configuration Management, Continuous
Integration, Automated Testing, Deployment Planning, Infrastructure Provisioning, Continuous
Deployment, Integrated Change Management and Monitoring.
Integrate these tools to create a full stack DevOps platform
Common tooling so team members don’t need to hand off artifacts between teams and risk
creating gaps
Testing and deploying application code and infrastructure code in the same pipeline
The problem arises when developers patch fix the DevOps tool chain:
Things can work well at first with a patch-built tool chain, but as scale and complexity grows, this
starts breaking.
Scale and complexity typically trend up with the success of the Continuous Delivery model.
Multiple deployments every day are not uncommon as new features are released.
As DevOps flourishes, the business gets used to more innovation from IT and the cycle grows more
intense.
This is known as having a rapid innovation culture. It arises when DevOps best practices and the tool
chain are one.
Having a fully integrated DevOps tool chain with one-click access to the entire application lifecycle
has proven to help teams scale effortlessly.
16
17. Applications have to morph with business needs:
An application might start out running in a public cloud but very soon needs to move
behind the firewall or have the back end moved to a big data platform.
When DevOps teams start developing applications, there has to be target environment
in mind, but it is very important that the team be able to have flexibility with dev and
run environments to morph as needed.
E.g., An app may use a public PaaS but tomorrow it may need to use an internal private cloud.
E.g., A mobile app front end id connected to a big data platform back end.
It is essential to have the flexibility to develop/test/run in any environment seamlessly:
Teams can provision infrastructure and tool chain anywhere and carry applications stack
across these environments.
Elastic provisioning of systems for Contiguous Integration, automated
testing, deployment and production environments
Projects and profiles can be tracked and versioned so that previously configured systems
can be recreated with a single click to test new code easily, revert to previous
configurations, and compare system versions.
A fully searchable repository is available to facilitate standardization and reuse.
17
18. DevOps has tremendous potential to drive financial returns and strategic advantage:
By combining developers and IT operations in coherent, closely coordinating
teams, DevOps speeds up the delivery of high quality software.
From an ROI perspective, this acceleration of software can either cut IT costs or enable a
greater, more business-friendly productivity in IT.
At the same time, rapid releasing of good code can unlock market value and raise
revenue – beating back competitors who are swarming after the same customers.
Getting to ROI with DevOps is not simple, however. It takes a combination of the right tooling
and a commitment to organizational cultural change.
Both factors must be in action for DevOps to flourish and deliver financial benefit to the
business.
18
19. For the best practices you need to eke the
best ROI out of DevOps
http://www.cloudmunch.com/devopsROI
Additional models, spreadsheets and tools