NoOps versus NoDevs: Keeping the Neighbors Happy with PaaS
by Kevin "kj" Woolley

Kevin "kj" Woolley, December 12, 2012

Developers (Devs) and Operations (Ops) rarely get along in an organization. While developers focus on self-service, rapid deployment, framework, and package flexibility, operations staff members are more interested in a consistent and reliable infrastructure, control over resource allocation, and relief from multiple deployment requests. Staff working on both sides often get frustrated, and tend to ignore each other. Developers want “NoOps,” and operations want “NoDevs.” However both Devs and Ops work for the same organization. They simply cannot afford to live in their own worlds. Platform as a Service (PaaS) now offers a way to bring these two important roles together.

Good Fences

Long time ago, I had a conversation with my grandfather about the benefits of fences. He stated that good fences make good neighbors. “Don't you like your neighbors?” I asked him. He smiled and said, “I do!” I was seven then, and his answer confused me. As an adult, I finally came to understand what my grandfather meant.

Our hypothetical dev and sysadmin - having a friendly chatA fence is not an inviolable wall extending to the skies. Who hasn't had a nice conversation over the fence with a neighbor or even jumped the fence for a pool party? Fences exist for a reason. They mark people's territories on both sides and clearly define responsibilities. When fences are in place, there are less conflicts over property lines, and neighbors can all live together in harmony.

When it comes to the computing world, PaaS is the perfect fence that keeps Devs and Ops happily living and working together in the same neighborhood.  It lays out the territory that developers, operations staff, and PaaS vendors are expected to manage. The “NoOps” concept is about letting developers deploy applications without involving Ops in the process. Similarly the “NoDevs” concept aims to keep developers away from the infrastructure maintenance process, a responsibility owned by the operations department. Ops and Devs need freedom and flexibility in their own backyard.

Ops and Devs Together

PaaS gives Ops and Devs the ability to carry out their work independently and offers consistency, repeatability, self-service, and resource control. With Paas, Devs get the self-service and rapid deployment they desire while Ops can truly focus on running the infrastructure as a whole, rather than on an application basis. These benefits hold true for all phases of the product life cycle, from initial design to release.

For example, Devs can install dependencies for their applications, push them, load the data, monitor, and tear them down without involving Ops. On the other hand, Ops can add and remove nodes, monitor the system as a whole, change resource allocation, and maintain the system without involving Devs. Even if a node is taken out of service while an application is running, it can be brought back up on another node within minutes without any interaction with the developers.

If you look at any computing service, it is not run by Devs all the way down. Somewhere in the process, the Ops also keep things running. If there are Devs all the way down, it simply means they are taking on an operational role, which reduces their efficiency and focus on building great software.

Organizations benefit when employees can spend time working in their field of expertise. PaaS allows that to happen in a natural, efficient way. Devs can build, deploy, and maintain their applications without needing to involve Ops. Conversely, Ops can administer the infrastructure in a way that provides the best service to the organization.
NoOps and NoDevs are fantasies. While fantasies are great because they are not bounded by practicalities, development and deployment infrastructure must be practical, and for that reason a fantasy will not work. I’d rather have Dev++ and Ops++ instead. PaaS makes it real.

Subscribe to ActiveState Blogs by Email

Share this post:

About the Author: RSS

kj is ActiveState’s Systems Administrator. He was born in London, Ontario, grew up in North Vancouver, and spent several years in the Northwest Territories doing technical sales. As a technical infrastructure specialist, he brings over twenty years of systems administration experience to ActiveState.