Blog
Kubernetes
Business
5
minutes

7 things no one will ever tell you about Kubernetes

Kubernetes is the most popular Open Source technology of the last five years. Google created it to allow companies to use container (Docker) applications in production. Today, Kubernetes is the new standard for running applications in the Cloud or on its servers (on-premise). I even heard from a Cloud architect from Azure: "our customers no longer come to us to do Cloud, but to do Kubernetes". That's to say how much a utility software* upsets a whole ecosystem. Despite all the very positive elements we can read about Kubernetes, there are also dark sides. Here are the seven things that nobody will tell you about Kubernetes.
Romaric Philogène
CEO & Co-founder
Summary
Twitter icon
linkedin icon

It takes months to use Kubernetes in production.

When you want to go with Kubernetes, you want to know how to do it. There are countless resources and means to create a Kubernetes infrastructure. For example, AWS allows you to create your cluster in only a few minutes. Still, we discover very quickly that this is not enough. To benefit from the power of Kubernetes, you need to:

  • install and configure a CI/CD
  • integrate it with your working environment (git)
  • set the monitoring, alerting, and management to deploy services

In short, it takes between 4 and 6 months of work for your Kubernetes to be usable in production. I let you judge for yourself with this checklist of recommendations before going into production.

Kubernetes is complex to operate.

The buzz around Kubernetes is such that one would think that mastering this technology is the minimum for any technical person. Except that Kubernetes requires whole system and network knowledge to master the beast. Worse, Kubernetes is not for developers, and it shows from the first 30 seconds of use. Have you ever wondered why there are so many training and providers for Kubernetes? Wouldn't it remind you of the time of Oracle, Windows, VMware certifications? Kubernetes is not as simple as it seems.

Kubernetes doesn't scale to the infinite.

As with all technical solutions, there are "hard limits" to remain in optimal conditions of use. This rule does not spare Kubernetes. There are many limitations to good practice. Whether it is the number of pods (which allows managing one or more containers), the number of workers (a Kubernetes server), or merely the physical resources such as the processor, the memory, and the network. Surprisingly, Kubernetes in the Cloud is, even more, subject to resource limitations specific to each Cloud provider. For example, AWS limits the number of pods that can run on a worker based on its size. Kubernetes is not magic; it will not allow you to become the next Google effortlessly.

Kubernetes doesn't (yet) allow you to be Cloud agnostic.

Kubernetes is to the Cloud what TCP/IP is to the network. A communication protocol that all the actors (AWS, GCP, Azure, Digital Ocean, ...) of the Cloud are talking about in 2020. The idea behind an agnostic Cloud is to change whenever you want, without any change on your side. Kubernetes is the first step to allow the Cloud to be agnostic. However, much work remains on the network, storage, and management of applications with data (databases, storage). For example, Kubernetes is not made to manage databases (even if you can do it thanks to stateful sets and operators) - which is constraining when you know that 100% of applications need to process and store data in databases. Besides, cloud providers are modifying the internal workings of Kubernetes to integrate it into their infrastructures. Efforts have been made, but there is still a long way to go.

Kubernetes is not as secure as you think.

Kubernetes can host containers - the advantage is that it consumes little CPU and RAM and starts up very quickly. But its most significant disadvantage is to be insecure. A Container is only a process that starts on its host machine, which means that all Containers running on a server can see what other Containers are doing (even if it's not something trivial). The container is often confused with virtual machine (VM) technology, which can isolate an application by virtualizing the hardware. Initiatives like Alcide or Kata Containers offer solutions to secure containers, but if your application is susceptible to security, then maybe you should not use Kubernetes.

Kubernetes is not the solution to all your problems.

Before using Kubernetes, you already had performance, security, or even organizational problems? Kubernetes will not be able to solve them for you. Worse, it will add others. Kubernetes should not be considered as a solution to all problems. Using Kubernetes requires a significant part of maturity. Developers will have to design applications following new concepts to work appropriately on Kubernetes. The goal of Kubernetes is to simplify the horizontal scaling (on several servers) of applications. Does your business need to add this complexity? Only you have the answer.

Conclusion

Even if I raise some negative points, Kubernetes is an exciting solution to consider in 2020. It answers many technical challenges in a very skillful way, especially on managing applications in a distributed system. However, before you jump into managing your infrastructure with Kubernetes, ask yourself the right questions - what do you need to accomplish? Why would you need to use Kubernetes? What are the alternatives available today? What problem do you want to address?

And you, do you use Kubernetes in production? How do you live it?

Feel free to contact me on Linkedin or Discord to discuss it further.

*utility software:

Kubernetes is an Application Scheduler. It does nothing more than indicating on which server each application should run. Although the problem is simple to understand, it is very complex to solve. Hence the usefulness of Kubernetes.
Share on :
Twitter icon
linkedin icon
Ready to rethink the way you do DevOps?
Qovery is a DevOps automation platform that enables organizations to deliver faster and focus on creating great products.
Book a demo

Suggested articles

Qovery
 minutes
Our rebrand: setting a new standard for DevOps automation

Qovery unveils its new brand identity, reinforcing its mission to make DevOps simple, intuitive, and powerful. Discover how our DevOps automation platform simplifies infrastructure, scaling, security, and innovation across the full DevOps lifecycle.

Romaric Philogène
CEO & Co-founder
Qovery
3
 minutes
We've raised $13M Series A to make DevOps so simple, it feels unfair

I'm excited to announce our $13M Series A, led by IRIS and Crane Venture Partners with support from Datadog founders and Speedinvest. This investment will fuel our mission to make DevOps simple and scalable, expand in the US and Europe, and accelerate product innovation.

Romaric Philogène
CEO & Co-founder
Observability
 minutes
Qovery Observe is Here: Your Deployments, Your Data, Your Visibility

Monitor your deployments with Qovery Observe: real-time metrics, logs, and events, directly integrated with your AWS applications and containers.

Julien Dan
Technical Product Manager
DevOps
9
 minutes
Top 10 Fargate Alternatives: Simplify Your Container Deployment

Tired of complex cloud setups? Explore the top 10 Fargate alternatives and discover how Qovery can simplify your container deployment, saving you time and money.

Mélanie Dallé
Senior Marketing Manager
Compliance
DevSecOps
12
 minutes
AWS HIPAA Compliance: A Comprehensive Guide & Checklist

Learn how to achieve and maintain HIPAA compliance on AWS with this comprehensive guide. Understand the shared responsibility model, essential architectural principles, and a practical checklist to protect PHI and avoid costly compliance violations. Discover how automation can reduce human error and streamline your security posture.

Mélanie Dallé
Senior Marketing Manager
DevOps
8
 minutes
Top 10 DuploCloud Alternatives: Choosing a Better Platform for Your DevOps Needs

Looking for a DuploCloud alternative? Explore why a full-stack platform like Qovery offers a faster, more developer-friendly solution. Compare the top 10 options to find a platform that simplifies DevOps and accelerates your deployments.

Mélanie Dallé
Senior Marketing Manager
Azure
9
 minutes
The Essential Guide to Azure Infrastructure, Monitoring, and Management Tools

Master Azure infrastructure management with this comprehensive guide. Learn the four critical pillars - governance, cost control, security, and operations - and discover the essential native and third-party tools needed to scale your cloud strategy effectively.

Mélanie Dallé
Senior Marketing Manager
Cloud
10
 minutes
Cloud Sprawl Explained: Taming Uncontrolled Cloud Growth

Tame uncontrolled cloud growth and regain control of your infrastructure. Learn the causes of cloud sprawl, its impact on your budget and security, and strategies to build a more sustainable cloud environment.

Mélanie Dallé
Senior Marketing Manager

It’s time to rethink
the way you do DevOps

Say goodbye to DevOps overhead. Qovery makes infrastructure effortless, giving you full control without the trouble.