DevOps is all about “building better quality software, faster and more reliably.” Now, why would only start-ups be good candidates for that? Isn’t that what every CIO wants? Last year’s key finding was… high-performing organizations are deploying code 30 times more often with 50% fewer failures. This year’s findings reaffirmed those numbers but also taught us that… High IT performance correlates with strong business performance, helping to boost productivity, profitability, and market share.
DevOps - What is it?
DevOps (a blend of ”development” and ”operations”) is a software development method that stresses communication, collaboration, integration, automation and measurement between software developers and Information Technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services and to improve operations performance - quality assurance.
Why is DevOps suddenly so important?
DevOps can be a major contributor to high performance within IT, but how do we measure “IT performance”?
- IT Performance = Throughput + Stability
- Throughput = Deployment Frequency and Lead Time to Change
- Stability = Mean Time to Recovery from Failure
Characteristics of performance-oriented cultures include high trust, focus on continuous improvement, and encouragement of experimentation. In this type of culture, blame is not sought when things go bad. Instead, issues are looked at as learning opportunities.
The 2014 State of DevOps Report by Puppet Labs, IT Revolution Press and ThoughtWorks is an analysis of more than 9,200 survey responses from technical professionals around the world, making this the largest and most comprehensive DevOps study to date.
Some of the IT delivery challenges today are a league different than before. How do you ensure consistency in the version of dependencies and frameworks between what your developer is developing and what your production environment is set up for? The pace at which your developers are able to deliver vs operation teams trying to strike a balance between stability and change. While resources are being shared between teams, Joe your deployment engineer is not guaranteed to be around for every release. Manually tracking application performance is not a viable solution any more…
Here are some figures from the 2013 State of DevOps Report from PuppetLabs (more than 90 countries surveyed, with a 70% response from IT operations), and What Smart Businesses Know about DevOps from CA Technologies (1,300 senior IT decision-makers surveyed):
- 66% of the organizations have a DevOps strategy or are planning to have one.
- Only 16% of the organizations saw DevOps as a cost reducing driver; 49% voted for DevOps for better performance, faster time to market, and better ROI.
Four key drivers are making DevOps imperative for all organization.
Software is a complicated business. Software is made up of so much more than just code. Networking, Files, Directories, users, groups, security, packages, configuration… We are only getting started…
Add the flavour of cloud services into the equation. As enterprises start choosing best of breed over just integrated solutions, you’ll see a new dimension of complexity added to your deployment topologies…
As demand for software and services grows overtime, scale up and scale out… You’ll see your deployments topology become yet more complicated…
Can you manage this manually?
I am afraid Gold images aren’t really an answer!
What’s the solution?
NO! Manual Deployments aren’t an answer…
What is your flow of change when developing software? A continuous delivery flow will be all the more successful if you have processes and tools that support version control, continuous integration, test automation and artefact management. Manually deploying to a farm of servers across the private / public cloud is no more a choice that you can make. Using Virtual Agents to manage configuration & deployments allows.
Come to my talk at TechDays Online 2015 to find out how DevOps can help you be successfully in delivering continues flow of value to your heterogeneous cloud environments
This was first in the series of posts on DevOps, in the next post I’ll be covering how to use Chef and Puppet to manage your deployments in your heterogeneous cloud environments. All DevOps specific blog posts are listed here. Thank you for taking the time out and reading this blog post. If you enjoyed the post, remember to Subscribe to feed. Stay tuned!