The famous Dilbert cartoon about containers and Kubernetes is not only very funny. We can also learn something from it. “You can’t solve a problem just by saying techy things.”
Brilliant Dilbert comic. Hitting a little too close to home… pic.twitter.com/axDlwj7bYB
— Daniel Dib (@danieldibswe) September 5, 2019
The choice of standards in the shipping industry has made their process more efficient. Take freight containers, for example: their different standardized dimensions enable optimum efficiency in both transshipment and shipping. Not only does the system enable storing as much freight as possible as compactly as possible, keeping costs down; the standardization also ensures maximum efficiency when it comes to loading, transport and unloading. Over the last decade, software development has taken a similar approach to improving efficiency.
The Docker revolution
While the concept of containerization in IT has been around since the 1970s, it only became mainstream in 2013: the year Docker debuted and took off. In containerization, software packages (called ‘containers’) are isolated from each other through virtualization, bundling their own applications, tools, libraries, and configuration files. Despite their relative isolation, separate containers can communicate with each other through well-defined channels. Containers are more lightweight than virtual machines, which means they require fewer resources to deploy, run and manage.
But in practice, containers can also provide a kind of false security: the software can be perceived as a magic wand that solves all the difficult work for us. A great Dilbert cartoon by Scott Adams illustrates this mindset.
What is Dilbert’s take on Kubernetes?
We’re sure you’ve seen it at least once on Twitter: the famous Dilbert cartoon where his Pointy-Haired Boss says:
“I need to know why moving our app to the cloud didn’t automatically solve all our problems.”
Dilbert: “You wouldn’t let me re-architect the app to be cloud-native.”
The boss: “Just put it in containers.”
Dilbert: “You can’t solve a problem just by saying techy things.”
The boss has the last word: “Kubernetes.”
Kubernetes: the real deal
So, why did containerization not “automatically solve all our problems”? It’s true: if used correctly, containerization can greatly improve organizational processes, making a business much more flexible. On the other hand, taking the wrong approach will leave you with a cluttered application infrastructure and a lot of wasted time.
As we wrote in another article, whether you should choose to work with Kubernetes or other orchestration software depends entirely on your situation. Based on our own best practices, we would recommend the following:
👉If you are a multi-tenant ISV, pick the container solution that works best with your cloud vendor. Kubernetes does very well with Google in their managed service, Google Kubernetes Engine (GKE).
👉If you are a single-tenant ISV, open-source software orchestration through Kubernetes would be the more logical choice, since it can be run anywhere and is widely accepted by enterprise IT departments.
Whatever your choice will be, before you start deploying containerization, ask yourself if your own people have the right knowledge and expertise. If not, look for an outside expert. In that case, we would definitely recommend someone like Dilbert. Because he understands the technology without blurting out buzzwords, and will tell things as they are.
Read our white paper on containerization
Now that we’ve done away with one of the most common myths about containers, it’s time to get to work! By now, a decade after Docker’s launch, many IT professionals will know the what and how of containerization, but may be left with questions about its more difficult aspects. In our brand-new white paper, we will zoom in on the nitty gritty of this way of work. Download your copy of The Containerization Playbook here.
is helping customers re-architect their IT through the introduction of cloud services. Combining 20 years of experience as a CTO with interchanged periods of responsibility for IT operations, he matches business requirements with cloud technologies in innovative ways.