What Is DevOps and How Does It Help Organizations
DevOps is a culture that insists on communication, collaboration and integration between software development and IT operations teams DevOps tools and processes enable faster delivery and give organizations a competitive advantage.
Software development processes have changed a lot over the years from waterfall models to agile or lean development practices. Thanks to IT pros and developers who are constantly evolving new approaches to speed up application release cycle. These days, agile and DevOps are amongst the most discussed topics in the development community. Agile is already a well-accepted model. But, DevOps is a new term for many folks.
What is DevOps
DevOps is a process that empowers developers (Dev) and operations (Ops) to collaborate better to create a more streamlined software development and release pipeline. According to Wikipedia, the term "DevOps" was popularized through a series of devopsdays starting in 2009 in Belgium. Since then, DevOps is being used a lot.
Gartner on DevOps
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.
In essence, DevOps is not a tool or technology. It is a culture thing. And, it is somewhere related to agile methodology as well.
DevOps helps organizations accelerate application delivery
In the traditional software release process, a development team first builds and tests code in an isolated environment for quality assurance, and then releases it to a operations team for production. Since two teams work separately, it becomes hard for the development team to get fully aware of operational complexities like infrastructure, configuration, deployment, log management, and performance monitoring. These departmental silos between development and operations slow down the production releases.
The DevOps approach makes development and operations work together seamlessly where some of the operations team’s responsibilities are shifted back to the development team. This is facilitated by applying DevOps tools and principles that automate the process and reduce the complexity of version control, configuration management, continuous integration, deployment, and continuous performance monitoring. This close alignment enables organizations to release new stuff in days rather than in months.
In addition to accelerating the deployment process, organizations improve the quality of the application because they no longer have to go through time-consuming and error-prone manual processes. This makes their application or IT perform better. And better IT performance is related to higher performance for the whole organization. Thus, deploying DevOps practices can deliver real results and give organizations a competitive advantage.
Today, there is a lot of positive buzz around the emerging DevOps culture. Many organizations have started making the cultural shift to break down departmental silos and automate as much as possible to improve the speed and quality of their software delivery.
Gartner says, “By 2016, DevOps will evolve from a niche strategy employed by large cloud providers to a mainstream strategy employed by 25 percent of Global 2000 organizations.”
But adopting DevOps into existing structure could be tricky. It demands conscious planning in order to bring in technology & tools, skilled people, process, and cultural change.
In my next post, I’ll discuss "how organizations are successfully adopting DevOps practice in their existing process and structure for better collaboration, rapid delivery and reliability".