There’s no denying that Kubernetes is one of the hottest and most hyped technologies in the industry right now. And whenever you have buzz around a platform like we’re seeing with Kubernetes, you find two extreme reactions. On the one hand, some people think Kubernetes is the best thing in the world—the answer to everyone’s development problems. On the other, people think it is software-defined evil, mostly because it can be very difficult to use.
Additionally, the hype around new software advancements can mean two things in terms of the substance that's actually backing the hype. So either there’s no substance behind the actual product and all the chatter is empty fluff, or there’s so much substance that people can’t help but talk about it.
What do I think of the hype and where do I fall on these two scales of love/hate and substance? For me, the substance is clearly there. Kubernetes and containers are changing so much about how we develop and deploy software applications. If you snooze on this trend, you will lose in the long-term. As for loving or hating it, I fall somewhere in the middle, though any reservations are not about its capabilities or future in the industry. I like to be impartial, and in this brief dive into the state of Kubernetes, I’ll be frank about the Good, the Bad, and the Ugly. I’ll also highlight a few trends I’m seeing in the industry.
By every metric, Kubernetes is growing in the right direction. This should reassure you if you’ve made the decision to use Kubernetes. We’re seeing a lot of customer and vendor buy-in. A strong ecosystem is building up around the platform. For example, tools and programs that support storage, security, login access and more. Finally, Kubernetes sits right in the sweet spot where it’s old enough to be mature but new enough that there’s still a lot of adoption left to come. The momentum is only building.
That covers the sort of landscape in the industry, but what is Kubernetes good at? There are three main things. First, working with stateless applications. That’s not to say it can’t work with stateful workloads like persistent databases, only that it’s really strong at running stateless applications. Second, Kubernetes is good with containers. You often hear them used in the same conversation.
Finally, Kubernetes excels for cloud-native microservices. I like to think of Kubernetes as the operating system of the cloud. Compare this to how we used to build applications to run on Windows or Linux. We didn’t care which infrastructure was underneath. It’s the same with Kubernetes and cloud infrastructure. It doesn’t matter if you’re using AWS, Azure, Google Cloud, etc., Kubernetes is going to work almost identically across each.
Let me give you five more benefits of Kubernetes:
Flexibility: Run Kubernetes on the cloud, anywhere.
Automatic scalability: Respond to changing requirements in real-time.
Self-healing: Automatically fix apps and infrastructure fails.
Deploy often: Deploy updates and improvements fast.
Futureproof: Migrate between cloud platforms—serverless
Of course, Kubernetes isn’t without flaws. The common complaint, and one that’s very valid, is the steep learning curve. The complexity is off the charts. While it’s gotten better over the last few years, it’s still not a program your average developer can pick up and start using tomorrow. It’s not like Docker, which came along and made containers super simple. Kubernetes has to get better at simplifying the tool to facilitate more widespread use.
The other downside to Kubernetes is part and parcel of its momentum and rapid growth. The platform is developing at warp speed, and while I love new features, here’s why it might be bad, at times. Each year, Kubernetes pushes four major releases, and there’s no such thing as a long-term stable in Kubernetes. Does that sound any alarm bells? It does for me. I don’t want to push mission-critical business products through Kubernetes if it’s always updating so significantly.
Thankfully, the ugly side of Kubernetes is slim. We’ve looked at its pros and cons, its capabilities and shortcomings. The real ugly is going to be if your company doesn’t start to adopt modern development practices like Kubernetes. If in a few years your company can’t deploy software in real-time, self-heal or do any of the other things that Kubernetes enables, you’re going to be in trouble. I’ve seen companies rest on their laurels and hesitate to keep up with the latest technology, and it never ends well.
You should also join the momentum in your personal skillset. Start learning how to utilize Kubernetes and other container software. Advocate internally for your teams and applications to use new technology. Be open to change.
Now, if you’re a small company without a lot of engineering time or talent, Kubernetes probably isn’t for you. The complexity and learning curve outweigh the potential benefits. But if you’re a more mature company with resources, you have to get on board.
Four Additional Trends
These next four points will show you some of the ways I’m seeing Kubernetes take more of a hold in the industry. Each is a positive sign of the growth and momentum I’ve been talking about.
Startups are container and cloud-first. Right out of the gate, new companies are using Kubernetes and similar platforms to build applications. It’s better than buying physical rack space or even a cloud server. The next wave of companies will use Kubernetes to their advantage.
Mature companies are starting to adopt Kubernetes. When I talk to large enterprise-sized businesses, I’m hearing about teams using Kubernetes. Maybe it hasn’t taken hold on the whole business yet, but it’s a positive sign that mature companies are recognizing and experimenting with its power.
Security around Kubernetes is improving. I won’t say it’s perfect, and Kubernetes requires more effort to make it secure than a virtual machine. Still, there are new technologies and policies in the works that make it easier to run secure containers.
Products offered as containers. Prepackaged applications have been slow to move to containers, but that’s starting to change. Companies like IBM, HP, and Microsoft offer some of their core applications as containers now. The rest of the ecosystem is going to move in that direction, as well.
Where do you go from here? Pluralsight has a wealth of Kubernetes resources that can teach you how to use the platform and adopt it on your team.
5 keys to successful organizational design
How do you create an organization that is nimble, flexible and takes a fresh view of team structure? These are the keys to creating and maintaining a successful business that will last the test of time.Read more
Why your best tech talent quits
Your best developers and IT pros receive recruiting offers in their InMail and inboxes daily. Because the competition for the top tech talent is so fierce, how do you keep your best employees in house?Read more
Technology in 2025: Prepare your workforce
The key to surviving this new industrial revolution is leading it. That requires two key elements of agile businesses: awareness of disruptive technology and a plan to develop talent that can make the most of it.Read more