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

DevOps
 minutes
The 10 Best Octopus Deploy Alternatives for Modern DevOps

Explore the top 10 Octopus Deploy alternatives for modern DevOps. Find the best GitOps and cloud-native Kubernetes delivery platforms.

Mélanie Dallé
Senior Marketing Manager
AWS
Cloud
Business
8
 minutes
6 Best AWS Deployment Options to Consider

Deploying on AWS efficiently is key. See the updated guide on the best AWS deployment options, covering new features and services.

Morgan Perry
Co-founder
Cloud
Kubernetes
 minutes
The High Cost of Vendor Lock-In in Cloud Computing and How to Avoid it

Cloud vendor lock-in threatens agility and raises costs. Discover the high price of proprietary services, egress fees, and technical entrenchment, plus the strategic roadmap to escape. Learn how embracing open standards, Kubernetes, and an exit strategy from day one ensures long-term flexibility and control.

Mélanie Dallé
Senior Marketing Manager
DevOps
 minutes
The Top 10 Porter Alternatives: Finding a More Flexible DevOps Platform

Looking for a Porter alternative? Discover why Qovery stands out as the #1 choice. Compare features, pros, and cons of the top 10 platforms to simplify your deployment strategy and empower your team.

Mélanie Dallé
Senior Marketing Manager
AWS
Deployment
 minutes
AWS App Runner Alternatives: Top 10 Choices for Effortless Container Deployment

AWS App Runner limits control and locks you into AWS. See the top 10 alternatives, including Qovery, to gain crucial customization, cost efficiency, and multi-cloud flexibility for containerized application deployment.

Mélanie Dallé
Senior Marketing Manager
Kubernetes
 minutes
Kubernetes Management: Best Practices & Tools for Managing Clusters and Optimizing Costs

Master Kubernetes management and cut costs with essential best practices and tools. Learn about security, reliability, autoscaling, GitOps, and FinOps to simplify cluster operations and optimize cloud spending.

Mélanie Dallé
Senior Marketing Manager
AWS
GCP
Azure
Cloud
Business
10
 minutes
10 Best AWS Elastic Beanstalk Alternatives

AWS Elastic Beanstalk is often rigid and slow. This guide details the top 10 Elastic Beanstalk alternatives—including Heroku, Azure App Service, and Qovery—comparing the pros, cons, and ideal use cases for achieving superior flexibility, faster deployments, and better cost control.

Morgan Perry
Co-founder
Kubernetes
DevOps
7
 minutes
Kubernetes Cloud Migration Strategy: Master the Shift, Skip the Disaster

Master your Kubernetes migration strategy with this expert guide. Learn the critical planning phases, mitigate major risks (data, security, dependencies), and see how Qovery simplifies automation and compliance for a fast, successful, and reliable transition.

Morgan Perry
Co-founder

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.