DevOps, NoOps: Power tools for the software era
Cloud promised to lower costs and increase agility. But is the growing complexity of multi-cloud, hybrid cloud, and legacy systems holding you back?
A blog post by Gene Kim, author, researcher, and DevOps enthusiast, IT Revolution
For almost 20 years I’ve had the privilege of studying high-performing technology organizations, and all our research shows decisively that high performers are massively outperforming their peers, often by orders of magnitude. They ship software to their customers more quickly and safely, which enables them to rapidly innovate and experiment, so they can win in the marketplace by outlearning the competition.
In the past, this topic was important mostly to technology executives. These days, almost all CEOs are being asked how they are responding to digital disruption, defending their markets from the dominant technology platform players, and investing in their software capabilities. In the age of software, almost every act of investment has something to do with software.
It’s difficult to overstate the technology miracles that are now possible that wouldn’t have been a decade ago. Instagram had only 13 employees—six of whom were generalist developers—when Facebook acquired it for $1 billion. Pokémon Go broke the record for fastest time to gross $100 million, among other records, with fewer than 40 employees.
I think these examples frame the most important goal of DevOps: to create the conditions in which small teams of developers in a modern business context can achieve the same types of amazing outcomes. Because it’s not just for social media and games—it’s to solve the business problems that will determine the next generation of winners and losers in the marketplace.
According to one study, developers will be able to raise the global gross domestic product by $3 trillion in the next decade. In my opinion, the majority of this value will be created not by today’s tech giants or startups but by the largest brands in every industry. These organizations have better access to capital, they already have large customer bases, and they can access the same amazing technology talent the tech giants can. This is not a story about “small beats big.” Instead, it’s “fast beats slow.” And the best of all worlds is being both fast and big, which is what DevOps enables.
DevOps is not just about developers, but it is about enabling developer productivity, which requires world-class infrastructure and operations skills. This goal is what led to NoOps—an unfortunate term, since it implies that Ops engineers will disappear, which I believe will never happen. However, I do believe that the days when Ops could operate as a silo are going away. The same can be said about information security, compliance, and infrastructure in general. In this new era, the goal is not for operations engineers to interact with developers as adversaries or fellow sovereign states—instead, they act as fellow engineers, working together to achieve common business goals. Often that means creating platforms that developers can use to do their work quickly, safely, and securely, without ever having to open up tickets, and performing work on their behalf.
Here’s why I am certain Ops is so important today: For two decades I self-identified primarily as an Ops person—despite being formally trained as a developer. Having received my master’s degree in computer science in 1995, I always gravitated to Ops because it’s where I thought the real action was. But something changed about two years ago: I started self-identifying primarily as a developer.
Without a doubt, this is because I learned the Clojure programming language. That was one of the most difficult things I’ve ever done. It’s a functional programming language, which disallows mutation of state and encourages writing only pure functions, but I believe it’s a safer and more productive way to build applications, and it’s brought the joy of programming back into my life.
The strange and unexpected thing that happened on this journey is that I now hate dealing with infrastructure. It’s messy and unpredictable. I’ve become one of those developers who just wants to live in a perfect little application bubble.
This is why I’m so convinced that the best days of infrastructure engineering are ahead of us. We need skilled engineers who can help ensure that developers can be truly productive, armed with the platforms that can help us build, test, secure, and deploy our code into production without having to write custom scripts, manage security credentials, or deal with logging, monitoring, or connecting to databases. Those are necessary steps to create value in a messy and imperfect world, but they slow developers down.
Developer productivity isn’t free. The reality is that most organizations are probably massively underinvesting in this area. Leading technology players invest heavily in their own technology. In contrast, many traditional organizations do not—and in an age where fast beats slow, these organizations are orders of magnitude slower than their peers.
But this is changing. The DevOps story in large, complex organizations is often one of rebellion, in which courageous technologists seek to overthrow an ancient, powerful order—the conservative functional silos. My advice to top leadership is twofold: Identify engineering leaders who understand the value of the DevOps way, and partner them with passionate business leaders who want to reimagine how they create value. Get them together and empower them with a budget, autonomy, and authority. Magical things will happen.
This article first appeared on the WSJ.