You’ve probably heard the parable of the people who encounter an elephant in a pitch‑dark room. Each touches a different part of the animal – and describes it completely differently. The leg is a pillar; the trunk is a tree branch; the tail is ah rope. Everyone’s right about the specifics – but it takes the whole group to understand what they’re “seeing”.
This parable is a useful and common metaphor for how DevOps effectively brings together divergent viewpoints to improve the speed, predictability, and efficiency of app development and deployment.
Before the DevOps movement took hold, groups within IT – Operations, Development, QA – were siloed, functioning within their own universes. Each group had its own way of looking at the development and deployment cycle. Each group’s ideas about the nature of the beast were based on that group’s goals, role in the organization, and pain points. Lack of understanding and lack of communication between groups made IT processes slow, inefficient, and prone to mistakes. IT could not keep up with emerging practices like agile development and continuous integration.
DevOps bridges the gap between development and operations teams. Inspired by agile development and continuous integration, and incorporating their principles, DevOps addresses the challenges of today’s condensed timeline for application development.
So What Is DevOps, Exactly?
So what exactly is DevOps? DevOps is the joining together of an organization’s development (software engineering or “Dev”) and operations (“Ops”) teams in support of a common goal – releasing more applications, more frequently, and more reliably.
Or, as New Relic pithily describes it, “When your Ops folks start thinking about development and your Dev folks starting thinking about Operations, you have a single team that works together with continuous development, continuous testing, and continuous deployments”.
DevOps arose out of the agile development movement. If you’ve ever been part of an agile scrum, you’ve experienced the blending of roles that occurs when you focus only on yesterday’s progress, today’s goals – and the roadblocks that keep you from meeting them.
The term DevOps arose naturally from agile, and a few forward-thinking developers and system administrators came together in October 2009 at the first DevOpsDays conference in Ghent, Belgium. They hammered out a shared vision for a new way of doing things. The first DevOpsDays in the U.S. took place shortly thereafter (spring 2010), the #DevOps Twitter hashtag was established, and the DevOps movement was “officially” launched – while remaining open source in nature. For more, check out this video introduction to DevOps history.
Why DevOps Matters
DevOps can have a direct effect on your bottom line. According to a recent study from Enterprise Management Associates (EMA), “Companies that excel at DevOps interactions are 11 times more likely to see double‑digit annual revenue growth. It doesn’t stop at revenue growth either. According to EMA, 49% of organizations also agree that accelerated delivery frequency leads to higher customer satisfaction. And 35% find that it enables them to be more agile and competitive.”
With its focus on automation, DevOps also helps to ensure predictability, efficiency, accuracy, and the standardization of operational, development, and testing processes. This, in turn, saves time and money by shortening the release cycle, reducing errors, and lessening the need for time‑consuming fixes. DevOps also frees up resources to focus on more creative endeavors and on tackling larger problems as they arise.
But DevOps is more than just a business philosophy or a change to process. Above all, DevOps requires buy‑in from all the stakeholders and a concerted effort to create a new, unified culture. Breaking down silos and getting formerly separate – and sometimes antagonistic – teams to work together seamlessly is not the easiest thing to accomplish, but it can be done. The results speak for themselves.
Once implemented, DevOps tends to prove its business value in terms of time and cost savings. Making the business value DevOps clear, to the newly unified team and beyond, helps DevOps culture take root.
The DevOps Toolset
These structural and cultural shifts, when combined with a set of DevOps‑friendly tools, such as NGINX Plus, Puppet, and Chef, support application deployment and monitoring. The right tools help all those responsible for a product to understand its entire deployment cycle as they iterate on the product, from application design, to code development and testing, to production use of the code on application and database servers.
Once teams see how fast, accurate, and relatively error‑free their work becomes under the new DevOps banner, they will stop clinging to their individual parts of the elephant and join their colleagues in appreciating the whole beautiful beast.
Want more information on DevOps? Dig deeper into how to alleviate the “control issues” that can arise when teams are starting out on their DevOps journey. And stay tuned for the next post, on how to automate application delivery with NGINX and NGINX Plus.