June 11, 2014
by Patrick Hoolboom
I spend a lot of time talking about the positive effects of moving to a more DevOps oriented approach. The reasoning behind this because I truly believe it, and get excited just thinking about it. An interesting thing I have found is that, when explaining these concepts and what StackStorm is about to non-technical people, I almost always get the same question:
“If DevOps is so great, why isn’t everyone doing it?”
This is a perfectly valid question, so I thought I’d try to break it down into what I see as the biggest barriers to entry for a truly successful DevOps initiative. I thought back about the various places I have worked, or the reasons I have heard for not wanting to move away from the Operations/Development silo approach and was able to distill them down to 3 points (actually 4 but the last one seems to be wrapped up in the other three).
Culture
The siloed model has been in place for a long time. People are comfortable with their current roles and processes. Generally, people dislike change. This means that for a DevOps initiative to be truly successful in an organization there needs to be a paradigm shift for the people involved. They need to break out of their old school mindsets and break down the walls. No more throwing a code release over the wall to Ops and washing your hands of it. Ops needs to step down as the gatekeepers and give Developers more access. These things do not come easily, though.
Training
Some training will need to take place, whether it is regarding new tools and processes, the development team needing more insight into the infrastructure, or Operations staff getting a better grasp on good coding practices. Training is essential in any position but it does take away from the tasks that are normally getting done, and that is a hard move for many managers to make. In order to be more proactive, you sometimes need to de-prioritize some of the issues that were previously deemed “Priority 1: Fire!”.
[Perceived] Risk
This seems to be at the core of many of the objections that I hear to automation in general. There is a perceived risk that by removing the human factor from these high value tasks we are increasing our risk of failure. Risk mitigation does require the above two points to be met (culture shift, and employee training); however, once those are in place you can begin, as a team, to truly examine your operations tasks in order to improve upon them. Start with identifying key patterns in your Operations tasks and determining how best to model them in a clear, automatable way. There will be risk, but most of it is encountered up front, during the design, testing, and initial deployment of your automations. Once they are in place you remove the human error element from these mission critical tasks, allowing your engineers to focus on monitoring other parts of the infrastructure during these key times.
Time
The above three objections can all be overcome fairly easily in my opinion. Time, though, is a little different. Most established organizations can’t stop the what they are doing to completely rework their processes and retrain their employees. Granted, this move can be done over time but you start to run into those cultural issues I spoke of earlier. People are willing to change in the easier areas but are often philosophically opposed to changes in many other areas. Taking an iterative approach allows you to minimize the impact of current production workflows but makes it much harder to overcome many of these other friction points down the road. The issue of time as it pertains to a DevOps initiative is a tough one, and it really has to be evaluated on a case by case basis for every organization.
In a smaller and/or newer organization, these hurdles aren’t nearly as difficult to overcome. With a large organization, this can be quite difficult. It requires buy-in from management across multiple departments, and a true commitment to making it happen. That being said, I still say that anyone can benefit from making this move — they just need to realize the path to their destination might be a little rockier than anticipated 🙂