There's a major problem in enterprise IT, and everybody, from the smallest shops to the largest unicorns, is overlooking it.
According to Gartner's Lydia Leong, the overwhelming majority of enterprise IT is still full of legacy applications (aka Mode 1) today. Only a tiny fraction of them know how to do agile-style cool-kid development (aka Mode 2).
The problem is that most of the new enterprise IT tools are being built for Mode 2 enterprise IT organizations. So we have a glut of technologies for greenfield application development, but a dearth of tools for Mode 1 legacy applications.
Whether you are looking at Cloud Foundry, OpenShift, Docker, Kubernetes, Apcera, CoreOS, or any of the new crop of IT infrastructure tools, they all focus on new applications. There are very few of these new technologies that are trying to embrace the legacy application workloads.
This first became clear to me when I was researching my previous article, “A tale of two containers” where I was comparing OpenShift's container pitch to LinkedIn's container needs. Since then, LinkedIn has announced that they have created their own container manager tool they call Rain.
I recently had the opportunity to ask them straight-up: Why build your own Docker or Rocket? Why re-invent the wheel? What is there to gain by it?
In short, LinkedIn built Rain to support its legacy environment.
To understand what I mean, you have to put yourself in LinkedIn's shoes. The company is already running tens of thousands of physical servers. It's already developed ways to keep those tens of thousands of servers up to date with the latest security patches and the correct versions of software. If it wholesale adopted Docker or Kubernetes or Cloud Foundry, it would have to re-invent its entire IT ops processes. The processes that have served it well so far. And the processes it has spent a lot of time and resources developing.
Why would the company have to redo all this work? Let's look specifically at the problem of adopting Linux Containers.
In Docker and Rocket, the layered image approach means that even if you patch all your underlying physical servers, you would still need to re-build every single container throughout your system as well. Updating the underlying systems do not patch the security bugs inside the containers themselves.
So LinkedIn had a choice: Adopt a new set of IT processes that would need to be repeated an indefinite number of times in the future, or build a new container management tool once that took full advantage of all the legacy processes already in place. With LinkedIn's Rain container system, when the underlying systems are patched (for example, with a new OpenSSL library), containers in Rain automatically use the software. No need to rebuild containers.
In my opinion, LinkedIn's decision is a canary in the coal mine. LinkedIn is a Mode 2 enterprise, not a Mode 1. And yet, it isn't adopting the software being built for Mode 2 tech startups. The majority of enterprise IT organizations do not have the expertise to build tools like Rain themselves. However, they are also likely to realize that they share LinkedIn's problem. They already have IT processes they have already invested in that work. They don't want to have to change them.
Nobody wants to be told that the new car they just finished paying off needs to be scrapped and thrown away. However, that's what new enterprise IT tools today are almost unanimously asking these companies to do. There's a huge opportunity today for companies who's goal is to embrace and modernize Mode 1 IT operations, rather than throwing it all out and focus myopically on Mode 2 development.
If LinkedIn or others started releasing projects like Rain into the open-source community that let Mode 1 IT organizations start adopting new tools without changing old processes, I think it could dramatically change the adoption curve for containers.
If you want to follow along in this often baffling journey to find out exactly when containers will be finally ready for you, sign up for bonus content and email alerts at ContainerMadness.com or follow me on Twitter @containermadnes (Twitter won't let me spell madness correctly which also makes me so mad).