I hear from a lot of users that they want to use Kubernetes for the following reasons:

Hype (It’s the future) To avoid vendor lock-in Cost savings Multi-Cloud

I think these are not great reasons to adopt Kubernetes, which may sound odd as the industry has been saying the above reasons are why you should adopt Kubernetes. I believe Kubernetes has failed on the above promises because the following:

Hype — This one is plain and simple…Never make decisions based on the hype of XYZ technology. This will lead you down a very bad road and typically doesn’t solve business problems. Vendor Lock-In — This is always a touchy subject, but a lot of the the abstractions\apps you build on top of Kubernetes leads you to locking yourself into Kubernetes. Every technology decision you make will have some form of lock-in and you just need to make sure you’re comfortable with the level of lock-in. Cost Savings — We all hear about how containers and Kubernetes can save you money, but from what I’ve seen it’s the opposite. The first 12–18+ months you’re going to be spending a lot on educating teams, building a dedicated team, investing in new tools, operational burden of a new solution, and etc. This doesn’t mean that at some point it can’t provide cost saving, but your initial investment will push out any cost savings initially. Multi-Cloud — Multi-Cloud is still very hard (damn data gravity)to achieve with Kubernetes and Kubernetes at some layers still programs to the specific cloud providers infrastructure interface. Also, when you start basing your decision on multi-cloud you’re also losing a lot of value that cloud providers enable, as you must now make all decisions at the lowest common denominator. You may be able to achieve true multi-cloud at some point, but initially it will heavily delay the time to value.

So why should you use Kubernetes? I think the most important reason to use Kubernetes is because you need to build a platform to provide a better experience for developers, which drives productivity and business value. Most important piece not to miss here is “build a platform”, as it’s a common misconception that Kubernetes is the platform. Kubernetes gives you some nice abstractions\features to build a platform on top of it. Kubernetes is not the end game and you have to be ready for the difficult work ahead to build that platform.

Kubernetes offers some great value in the platform you can build with it, but it’s not for everybody. Don’t blindly buy into the industry hype and verify it solves your pain points to deliver value to your business.