Figure 1: DevOps Empowering the IT Business
DevOps is quite the buzzword now-a-days and many discussions have attempted to merely define it. One thing that we all agreed on though: Development and Operations are two organizational entities that tend to not get along well. Unfortunately. A Forrester webinar was hosted by Glenn O'Donnell titled, “DevOps the Friction-Free Collaboration for Development and Operations”. Here, DevOps emerges from the previously two separate development and operations functions into a combined one, with a “fail fast” approach of faster deployment, learning and course correction. DevOps not only requires new ways of working but also needs new ways of thinking. In addition to focusing on the new features or interface elements they design, developers must work with the operations team to implement, test, deploy and manage those features.
To derive the maximum business benefits, the “Dev” and “Ops” teams must work together to continuously monitor applications, user data, fix problems, test, and deploy new code. In many organizations, “Dev” and “Ops” roles are already merging, and DevOps is helping bridge these two worlds. DevOps provides the ability to write scripts that automate deployment, and monitor and test processes that require considerable manual effort. It also provides communication and change management skills to help historically separate the development and the operations teams understand each other’s needs and work together to meet the ever-changing needs of users, customers and business partners, in real-time.
The following challenges were identified while implementing DevOps based on data from surveys conducted by Puppet Labs and IT Revolution Press:
- Value of DevOps not understood outside the group (48%)
- No common management structure between development and operations (43%)
- Inadequate tools in place (33%)
- Version control systems (84%)
- Configuration management (78%)
- Ticketing system (68%)
- Resource monitoring (60%)
- Provisioning (56%)
- Insufficient time to implement DevOps (31%)
- Don’t have support to be successful (19%)
- Expensive to implement (5%)
Respondents who mentioned that there were no plans to implement DevOps:
- Lack of Manager buy-in (49%)
- Lack of Team buy-in (38%)
- Budget constraints (19%)
- More hype than substance (14%)
The changed workflows and shared responsibilities in the DevOps model demands “soft” skills such as communication and collaboration in addition to technical capabilities such as coding. They found that skills that respondents needed the most to implement DevOps are:
- Coding/scripting (84%)
- People skills (60%)
- Process re-engineering skills (56%)
- Experience with specific tools (19%)
Coding and Scripting skills are needed to automate manual processes with codes that can be reused across multiple cycles of automated code testing and deployment. This setup of the IT infrastructure as code increases the consistency of the IT environment, while the automation it provides reduces deployment delays and increases business agility.
A full-fledged DevOps platform is driven by four key enablers:
- Creation of tools and utilities
- Tools and utilities integration
- Automation of workflows/business processes
- Real-time aids / on-demand reports
A growing number of companies are turning to DevOps to solve the issues of building and deploying software on a massive scale. DevOps is not a set of automation tools. It is a mindset and an agent of cultural change, bringing contributors from operations and development into a seamless, collaborative, continuous and agile process.
DevOps is not easy. It needs stamina and state-of-the-art processes/methods and tools. But at the same time, it is also a process that shows huge benefits. We have customers who are deploying code dozens of times a day, across multiple environments, and getting to market faster than ever before. As far as we know, there is no other approach outside of DevOps that can achieve this.
Individual tools for automating, maintaining, and monitoring the software development lifecycle have been available for years, and many companies have been taking advantage of them rather effectively. Yet, few have taken the next step of integrating the pieces and committing to a new cadence of development and operations. That’s because the concept of DevOps is only understood by a few. In a recent survey, Gartner found that “only one-third of the companies surveyed were either in-process or planning to implement DevOps, and close to 44 percent of respondents were still trying to figure out what DevOps means”.
Recent survey findings state that high-performing organizations are still deploying code 30 times more frequently, with 50 percent fewer failures than their lower-performing counterparts.
Statistical data shows that high IT performance correlates with strong business performance, helping to boost productivity, profitability, and market share.
Finally, organizations must implement end-to-end frameworks and oversee that their slowest processes don’t delay deployments. A seamless process of release management, unit builds, unit test, promotion and deployment helps smoothen integration. It requires new workflows, changes in responsibilities and quality processes in assuring the fastest and significant ROI from DevOps.
- Laurie F. Wurster et al., “Emerging Technology Analysis: DevOps a culture shift, not a technology,” Gartner, Inc., August 8, 2013
- 2013 & 2014 State of DevOps Report by Puppet Labs and IT Revolution Press