By David Ramel
DevOps in the enterprise is growing, but interpretations of what the term actually means varies widely, a recent study found.
Delphix Corp., a Data-as-a-Service (DaaS) company, partnered with Gleanster Research to survey more than 2,000 DevOps leaders and practitioners, concluding that “DevOps continues to gain momentum, but data issues — including data security — are major challenges, while the definition of DevOps lacks consistency and success metrics among its leaders and practitioners within IT organizations.”
That lack of consistency is shown by the various definitions of the term DevOps proffered by respondents, such as:
- Developers and system administrators collaborating to ease the transition between development and production (listed by 84 percent of respondents).
- Using infrastructure automation to facilitate self-service provisioning of infrastructure by development teams (69 percent).
- Evolving operations to meet the demands of agile software development teams (60 percent).
- Developers taking full responsibility for all operations tasks (42 percent).
- Increasing frequency of deployments to uncover defects earlier in the development lifecycle (35 percent).
For another take, Wikipedia defines DevOps as “a software development method that stresses communication, collaboration, integration, automation and measurement of cooperation between software developers and other [IT] professionals.”
The survey, titled “2015 Annual State of DevOps,” said that while DevOps is one of the hottest trends in the industry, it’s also one of the most ill-defined. “For some people, embracing DevOps is about managing IT resources with Chef, Puppet or CFEngine,” the survey said, “and for others it is about using tools like Jenkins to automate deployments to cloudbased infrastructure. For several of the organizations we surveyed, DevOps was simply about making sure that developers and operations professionals were communicating efficiently.”
Whatever it is, DevOps is gaining traction, according to the report, which stated that nearly every responding organization was practicing the technique or planned to do so within 24 months. The top three reasons for that were: to deliver software faster (66 percent); identify bugs earlier (44 percent); and deliver software more frequently (43 percent).
As for impediments to successful DevOps implementations, a question asking respondents to identify the top two challenges to organizational DevOps initiatives yielded these responses: application teams move faster, the rest of IT struggles to keep up (92 percent); testing environments are limited due to data management challenges (90 percent); several DevOps groups compete for limited resources and budgets (82 percent).
If successful, the primary reported benefits of DevOps were divided into key performance indicators (KPIs) related to software releases and software quality. “It’s abundantly clear that the economic impact of time is a theme that ripples through all facets of DevOps,” the survey stated. “This comes as no surprise given the fact that survey respondents indicated that on average 40 percent of their day is spent re-coding due to bugs. Respondents also indicated it takes an average of 2 hours to reset an environment after a test cycle; reducing this time could have a real and substantial impact on efficiency and effectiveness.”
And yes, the report did propose its own global definition of DevOps:
DevOps is more than just the close collaboration of two departments (development and operations) within IT, it is more than just managing infrastructure with Chef or Puppet, and DevOps is much more than a specific collection of tools and techniques used to automate deployments and manage infrastructure.The term “DevOps” refers to the transformation IT experiences when cross-functional teams develop and deliver software across the full spectrum of IT systems. From software architecture and design to system administration and production support, the term “DevOps” refers to a style of IT management and implementation that places an emphasis on automation and iterative delivery of software, while also empowering developers to manage portions of the software delivery process that were previously inaccessible due to specialization within IT.
DevOps tools and practices have one thing in common: they focus on reducing time to market and making it possible to extend the frequent iterations of Agile into infrastructure and data environments. Overall DevOps is inseparable from both agile software development and cloud computing. As a term, “DevOps” stands for “our infrastructure moves as quickly as our developers need it to.”