The Joys and Pains of DevOps
The saying “no pain, no gain” applies to DevOps very well. Although many rewards come from embracing the concept of “you build it, you run it,” coined by Amazon’s CTO Werner Vogels, there are also many challenges that DevOps practitioners need to face.
One of the most rewarding parts of DevOps is removing friction. Anton Zagrebelny, co-founder and CTO at Stigg, describes it as a well-oiled machine at work. His team was able to fully automate their DevOps processes that start with a simple code push to a git repository and end with both infrastructure provisioning and software deployment.
Stephen Shamakian, principal DevOps engineer at biotechnology research company Charles River Laboratories shares this opinion. He says there is nothing better than automating manual and mundane DevOps tasks. “Enabling quick and reliable deployments for years to come is priceless. It is like you’re breathing life into a process that never existed before, and it’s now functioning completely autonomously. Hence it has a life of its own,” he says.
Both of them, however, admit that DevOps comes with its challenges. For Zagrebelny, it is staying up to date with both internal and external changes. Internally, company needs, products and personnel are always evolving. Externally, the tech landscape is constantly shifting.
Balancing these dynamics and adapting current DevOps practices accordingly is what, in his view, separates a good DevOps engineer from a great one. For Shamakian, it’s a split between people and process.
DevOps is very much a culture change in the way development, operations and even security work together. Even though DevOps aims to improve this, in many cases, these areas still function in silos. There are times when one area implements something that blocks another; and as a DevOps leader, you’re often in the middle trying to figure out the best path forward while also finding an acceptable middle ground.
DevOps engineer Matt Ash shared another interesting view on DevOps frustrations and joys. He describes variability at scale as the most difficult part of DevOps.
His relatively small DevOps team has to service many software engineers who have a wide variety of products they build and deploy. Some use Windows, Linux, node, C#, Python. His team needs to be ready to help teams move forward. It often means crafting the best solution for the different needs of each team, without being a roadblock to their progress. This requires a lot of learning in the process and comes with a bit of stress too.
On the other hand, he points to the enablement at scale as the most rewarding part of DevOps. When a small team can enable a large group of engineers to build and deliver many times each day or week without any intervention, you know you’re doing your job well.
A well-engineered DevOps solution should render the team invisible. That includes both the happy path, when deployments succeed, as well as how well you enable teams to solve their deployment issues.
There is also one common element of what makes DevOps rewarding: improving developer experience and business outcomes. Dale Francis, director of product development at Climavision, says the rewards of DevOps come from solving problems, so day-to-day operations become simple and the experience for developers better.
In addition, maturing as a DevOps organization also lets everyone focus more on solving business problems, rather than fighting technical issues. The one challenge that he sees with DevOps is sometimes going too far over-processing things. His advice is to keep it simple and always evaluate which parts of process automation are worth the time and effort.
Paul Stovell, founder and CEO of Octopus Deploy, summarizes the experience of many of its customers on the journey with DevOps: “Implementing DevOps is naturally going to be hard, and it’s always tempting to do things just the way we have always done it. So accept that it will take some upfront work, have a clear vision of what the end state should look like and persevere through the initial difficulty. The results will be worth it.”
There is no pleasure without pain, so reap the benefits of DevOps while continuing to remember that facing challenges is a natural part of the process.