A Clean Slate: Establishing A DevOps Mentality From The Start

June 5, 2014

by Patrick Hoolboom

The last few weeks have been a flurry of customer meetings, infrastructure design, and recovering from the OpenStack summit. The summit was an incredible experience. Listening to the frustrations from so many people over systems deployment and administration tasks really validated many of my views of classical IT Operations. Seeing the infrastructure pain points of other organizations, combined with the design plans currently swirling around in my head, has me thinking more and more about the future of IT Operations. How will operations evolve to support the rapid infrastructure growth commonly experienced by organizations in this day and age while still maintaining as many nines (high availability) of uptime as possible?

I find myself in a very unique position here at StackStorm. Our company culture is evolving from a foundation of quality engineering, accountability, and flexibility. It enables us to build out infrastructure and processes in such a way that we can avoid many of the pitfalls that a typical operations organization would encounter. It is truly exciting, even freeing, to be able to think this way. We are not breaking down the silos encountered in a typical technical organization – we are actively avoiding them from the very beginning. The usual startup environment runs like this.  Not only do you code, rack and stack servers, and do software releases, you literally take out the garbage and vacuum. The team works together to do what needs to be done without thinking “That isn’t my responsibility.” This open-minded mentality is born out of necessity. Naturally, as companies grow, groups become more specialized and lines are drawn in the sand. Some of this is needed. You want your engineers to be able to focus on technical tasks but many times this turns parts of the organization into black boxes, and tends to create bottlenecks in various processes. At best this leads to frustrations or confusion, at worst the processes get completely circumvented.

The big difference at StackStorm is that we are cognizant of this natural evolution towards extreme specialization. We actively embrace the startup mentality and will continue to make sure it remains a core part of our culture as we grow. We are not the first to do this – some of the more progressive tech companies are already thinking this way, but it is not the norm. Most organizations still fall back on the classic Development and Operations silos. Strict processes and access controls are in place to control the variables and maintain SLAs. This model is far from efficient but it IS a consistent, tried and true method to maximize system availability. I don’t believe this is the best way to achieve that availability though. Blurring the lines between Development and Operations speeds up the release turn around time, leading to faster bug fixes. Removing the concept of the operations gatekeeper, and shifting some of the support focus to the development engineer puts them closer to the end user, and provides a better understanding of how the applications are implemented and used in the real world. It also frees up the Operations staff to focus more in infrastructure specific tasks and improving other areas, such as automations.

This DevOps path isn’t without its own pitfalls, and we are aware of that. Organizations need to rely heavily on their engineers to provide visibility into their actions via effective communication as well as clear, concise documentation. It becomes a bit of a paradox: As you move to a more DevOps oriented approach you become more dynamic. As the application or infrastructure changes come faster, you begin to reach a self-limiting point through the time spent in documentation updates and communication with the appropriate groups. Finding a balance becomes critical. The team must find a streamlined method of collaboration in order to minimize this overhead.

I strongly believe that any organization can benefit from moving towards a more blended environment for Development and Operations but it is great to be a part of a company that is centered around this mentality. The possibilities for StackStorm are incredibly promising, and I look forward to sharing the lessons we are learning with the community.