Developer Operations in a Cloudy World

CloudU Notebooks is a weekly blog series that explores topics from the CloudU certificate program in bite sized chunks, written by me, Ben Kepes, curator of CloudU.  How-to’s, interviews with industry giants, and the occasional opinion piece are what you can expect to find.  If that’s your cup of tea, you can subscribe here.

One of the great things about Cloud Computing is a theme that we’ve talked about many times before in our CloudU reports – that Cloud Computing allows people to forget about servers and systems, and allows them to focus on their core business – for some organizations that means dealing with customers, for some it means writing great code, while for others it means delivering movies to people all over he place. No matter what “focus” means for you, Cloud gives you the ability to focus on that… focus.

So a discussion we recently had on the CloudU LinkedIn group was all the more interesting. Basically the discussion centered around the contention that many have that developers in a cloudy world will no longer have to think about operating and administrating servers, but will instead focus on writing the best code possible. There’s even been a name coined for this trend, it’s NoOps. The theory, as espoused by Lewis Carlson, CEO of PaaS provider AppFog is that within the next couple of years, developers will progress from what we had yesterday (SysOps, shipping code to folks whose role was purely to wrangle servers), through today’s paradigm (DevOps, where the developers build and deploy their code) and finally to NoOps, a utopian paradise where developers won’t have to handle any kind of operations.

The discussion gathered a huge range of comments, from those who believe that all operations tasks will disappear, to more cautious souls who foresee the role changing, but not disappearing anytime soon. The interesting part of the discussion for me was the peripheral message – that of agility. While the efficiencies to be gained by reducing operational tasks is beneficial, there is a whole raft of agility benefits that need to be stressed. As Diane Mueller said;

PaaS enables so much more than just easy deployment path to the cloud. It’s about going from code to cloud – giving the developer micro clouds that are identical environments to the production ones to rapidly design and prototype on, creating an ideal staging environment for QA and testing, and then being able to re-point the application to the production environment after it meets IT’s criteria and review. PaaS enhances and encompasses the entire development application life cycle from idea to design to prototypes to testing to deployment and ongoing operational maintenance of the service.

Going back to the original thrust of the discussion, Adrian Cockcroft from Netflix chimed in with some thoughts about what “operations” means for an early adopter like Netflix. He gives a glimpse into what the operational roles mean for them, and just how involved developers are in that process;

All prod changes are made by the developers that wrote the code. We have some central coordination for reliability engineering that is a devops skill set (working in a dev org, and writing code, not run books), but they don’t make changes, they call the dev to do it. Dev says launch new code version (pick, click) send traffic to this version of the code (click). Autoscaler figures out how many to run according to traffic. Alerts go directly to the developers, on-call rota for devs managed by pagerduty. There is no ops function or team for the product, its all development.

It was an interesting conversation with over 40 comments (and counting) but beyond the minutiae that Cloud advocates often end up arguing about, there is a bottom line for organizations that is important to not look past. Cloud Computing absolutely reduces complexity, increases automation or at least what is automatable, and frees up time to focus on what is most important – in this case the ability of developers to focus on writing awesome code and not on wrangling servers. Whether you lean to the side that says NoOps is the future, or if you’re firmly in the DevOps camp, you’d be hard pressed to disagree that Cloud is doing awesome things for developers.

1 Comment
  • Adrian is spot on. However, the problem I have with NoOps is that it implies that services do not need operations anymore. Running efficient web-scale operations has been the cornerstone of the cloud revolution and current IT delivery revolution. One of the bloodiest hiring wars in our collective space right now is for sysadmins. They are being paid more today than they have ever been. Sysadmins that practice agile infrastructure (a.k.a as Devops) are needed now more than ever. I believe that companies that don’t understand the mantra “Operations is the Secret Sauce” are doomed. One hundred deploys a day doesn’t happen with out solid sysadmin chops. Call them devops, call them sysops, hell call them apples if you like, but please don’t call them NoOps…

Leave a Reply