Today’s VDM30in30 topic is thanks to Melissa Palmer (@vmiss). How do you make a case for DevOps? I’m an infrastructure guy. Just as an application programmer has developed the skill to program across languages, I’ve developed the skill to understand building and managing IT infrastructures. It’s a difficult sell to come to me and say give an expert in programming, an API to the infrastructure and allow them to consume the infrastructure will little to no friction from the infrastructure group. So, hopefully, I’ll make a successful case.
DevOps isn’t a technology
It’s important to keep in mind that DevOps isn’t a set of technologies or tools. DevOps is an approach to consuming and managing infrastructure. The basic concept is to reduce the friction between application development and operations. In theory, developers should have the ability create applications that directly consume infrastructure and better yet react to changes in the infrastructure as data is feedback to the application. All the tools and processes such as test and change management are considered in the DevOps implementation. That’s the theory. In practice, most DevOps tools either provide access to consuming infrastructure and streamlining, test and dev or are infrastructure tools to orchestrate management of the environment. I've rarely seen tools that take a holistic approach. That's because DevOps isn't a tool. It doesn't stop people for looking for a tool to define the process.
Netflix is the constant example given of successful DevOps implementation. The Netflix development team is the operations team. So, operations are built into the application layer.
The argument for the enterprise
Enterprise companies are not Netflix. Applications are much more diverse than those built by Web-scale companies such as Netflix, Facebook, and Google. Enterprises have to deal with ERP, HPUX, Solaris, Windows, Linux and the data center layer itself in VMware vSphere or Redhat Virtualization. In my opinion, implementing DevOps in an enterprise is much more difficult than in a Web-scale company based on the diversity of enterprise applications.
So, why consider DevOps? Because organizations have to move fast or become overcome by competition. Legacy operations do not hinder start-ups. I’m not considering just the ability to reduce applications deployment time. I mean the ability to quickly deploy applications and maintain the existing environment. Enterprise IT leaders must learn how to move quickly while keeping what’s running the business operating in prime condition.
A good example of a company that has embraced DevOps is Intel. I visited Intel as part of a data center influencers event. Intel went on a cloud mission to make provisioning their infrastructure seamless for their internal developers. As a result, they saw CPU utilization go from 10 percent to over 40 percent. Higher average utilization means that lower operating and capital costs. Intel label was cloud vs. DevOps but the goals are similar. The idea is to reduce friction and get developers as much information about the infrastructure as possible.
The value of DevOps is in the reduction of friction between the application and infrastructure layers. Reduction in friction results in agility. When companies are agile, they are in a better position to compete with competition and as an additional benefit of reduced friction realize reduced infrastructure costs.