Everyone would have heard the term DevOps in ICT recently but not many understand what it is about.
The term “DevOps” was first coined in 2009 by Patric Debois (sometimes called the “Godfather of DevOps”), and became even more popular after Gene Kim’s novel “The Phoenix Project” was released.
There isn’t a proper definition of DevOps. As Gene Kim puts it, “DevOps is more like a philosophical movement, and not yet a precise collection of practices, descriptive or prescriptive.”
DevOps is more of a movement whereby Software Developers and Systems Operators no longer work in silos, and instead work together in providing a service, hence the term DevOps.
There are two main processes in DevOps:
- Continuous Integration – as new code is developed and tested for modules, features, or fixes, it is added to the master codebase for the entire application.
- Continuous Deployment – as new builds are created by the software developers, it is deployed into the production system.
Several benefits can be had by implementing a DevOps philosophy:
- Faster development as changes are implemented continuously and tested continuously.
- Rapid Delivery as new features are deployed as fast as they are implemented.
- Less downtime as updates are implemented in short bits so an entire upgrade is not required.
- More automation means less mundane work, and more new stuff to create. Automation is a big part of DevOps since it allows the Continuous Integration and Continuous Deployment cycles.
- Improved reliability, not only because DevOps includes continuous monitoring of systems, but also because small changes are being made, better designs can be accomplished, while errors can be quickly determined and addressed.
But there will be hurdles to implement DevOps in many companies:
- Many businesses are built on a waterfall model, where they go through big changes every so often.
- There is a need to learn new skillsets. Software development of course, but also skills in tools to help automate and test, such as Puppet, Ansible, and Selenium.
- But mostly, the challenges of getting people to do something new, and work together for that change.
DevOps will play a huge role in how many businesses move into the future, they should get ready for it. To make the move to DevOps, the thinking needs to change.
I’ll go deeper into the topic in a later post.