Whether or not Kubernetes is a good fit for your needs depends on your goals. In general, it is an excellent platform to use for building and running microservices at a large scale within an organization. It is especially well-suited for cloud-native applications that need to be highly scalable. However, if you are only planning to operate a small-scale application, it may be more than you need. Even so, it is still worth learning about and considering for future projects.
Some benefits:
- Automated deployment and scaling: Kubernetes can automate the deployment, scaling, and management of containerized applications, saving you time and effort.
- High availability: The platform is designed to be highly fault-tolerant, so your application can continue to run even if one of your nodes goes down.
- Extensibility: Kubernetes is highly extensible, with a wide range of add-ons and plugins available to customize the platform to your specific needs. Kubernetes has a large and active community, with frequent updates and a wealth of documentation and resources available. This makes it easier to get started with the platform and get help if you need it.
- Portability: Kubernetes is cloud-agnostic, meaning it can run on any cloud provider or on-premises infrastructure. This makes it easier to migrate your applications between different environments.
It would be helpful to understand from you: as opposed to what?
Kubernetes continues to be the de-facto leader in cloud native cluster management, so if you don’t use it what would you do instead?
It depends on what you are trying to do. If you goal is to host some hello world apps, you shouldn't even think about it. But if you are going to build micro services that scale, k8s should be one of the choices. Anywhere in between? There are most likely better options.
Well, is there any alternative?
Yes
[dead]
Disclaimer - been working on K8s in different capacities since 2017, so there’s definitely a lot of bias.
My take - Kubernetes isn’t perfect. It’s got a lot of moving parts, a lot of complexity. My work involves managing SRE for almost a hundred clusters daily, where clusters are running across different clouds with different levels of customisation. I’ll say this - K8s is to cloud native infrastructure engineering what ODBC was for databases 20 years ago. A consistent base standard for running workloads across public, private and hybrid clouds, without worrying _too much_ about how those apps will actually utilise the underlying infrastructure. I’ve worked on Docker Swarm, Rancher 1.0, Mesos, Nomad - nothing comes close.
Sure things may evolve and maybe in a decade we _may_ see a new standard, perhaps a new platform. But I don’t really see that happening. K8s is here to stay, and it’s now at a point where it’s stable and mature from a reliability standpoint; it just needs people like us to worry and fret about making it more accessible.