Newsletter:1/What is DevOps?

From Zenoss Wiki
Jump to: navigation, search

What is DevOps?

DevOps is a term being thrown around a lot nowadays, and it’s usually accompanied by a loud argument over the question of just what we mean when we use the term.

DevOps is a term being thrown around a lot nowadays, and it’s usually accompanied by a loud argument over just what we mean when we use the term. DevOps has been described as the blurring of the line between development and operations, an integrated approach in the spirit of Agile development, a job title, and a catch-phrase. All of these are common answers to the question of What is DevOps?, and all are probably right to some extent.

Regardless of definitions, what we do know is that even in its current, loosely-defined state, DevOps is making a significant business impact throughout the development life-cycle and drawing a lot of attention in the process. Whether the unit of measure is the number of successful code deploys, cost-savings from the automation of server provisioning and configuration, or the decrease in time necessary for a product to reach market, the one thing everyone can agree on is that DevOps sits at the intersection of development and operations in away that makes business sense. As the stability and scalability of critical back-end infrastructure becomes an increasingly integral part of making any service, software, or application offering viable, DevOps brings automation,integration and efficiency to every phase of development.

Monitoring, an often undervalued component of DevOps, is a perfect example of this intersection, both in implementation and in impact. Key to a successful DevOps development process are tools that allow us to understand, through raw data and visualization, the impact of rapidly iterating deployments and updates to code, hardware and process on individual software or infrastructure components as well as the system or business as a whole. Zenoss for monitoring, working in concert with Puppet and Chef for deployment automation and Jenkins for continuous integration are among the most popular tools in this respect, and with good reason. A well-implemented monitoring solution saves more than headache, hassle and debugging time when things go wrong; it saves time and money by allowing both the development and operations side of the equation to proactively forecast needs, fine-tune and troubleshoot at a granular level, often in real-time. This has long-term impact across the board, ultimately allowing organizations a way to make informed decisions that optimize every phase of the operations and development life-cycle, from planning to production,through data.

So what it comes down to is this: the question of What is DevOps? is beside the point. What matters is the way we utilize the DevOps tools at our disposal to execute at every phase of development, whether addressing the critical issues of operations or development. The question isn't What is DevOps?, but rather How can we capitalize on the narrowing gap between operations and development? Implementing and integrating monitoring and automation with tools like Zenoss, Puppet and Chef is an indispensable facet of the success of the DevOps approach in any environment.