Why Kubernetes is de-facto choice for every company going cloud native
Nitin Gaur
AI~Digital Engineering & Solutions Lead | GenAI Consulting, Architecture, Thought Leadership
Containers and microservices have revolutionized the way we run an application or service or even enterprise software. But it wasn’t until Kubernetes escaped the labs at Google that order was fully in place. Kubernetes provided an ideal platform to manage rapidly growing containers everywhere. Much of everyone surprise, it came with some incredible features that makes it as de-facto standard as container orchestration tool. Well, just a tool…o boy! what a tool.
If you think you need cloud native architecture (running services in containers) for scalability, you are obviously right. That makes sense as you can change container instances (replicas count) of a service by command without fearing service disruption and be ensured that desired instances will always be running (self-healing replicas) in Kubernetes. That’s the magic behind insanely scalable architectures of digital-first platform companies including social media giants.
Jumping on container revolution, all hyper-scaler cloud providers introduced their native services to run containers on their platform. But this is one big problem – vendor lock-in. Enter Kubernetes to rescue again. As customers demanded, all cloud providers had to add services to run Kubernetes on their platform. This gave immense flexibility to run workload in one cloud or the other. So, now you think application portability is another great benefit of using Kubernetes.
Well, scalability and portability are commonly visible benefits you get with Kubernetes. (I won’t talk about its complexity in this post). Then, why the hell every enterprise is introducing Kubernetes in their IT environment. And why every software vendor is using Kubernetes to modernize their products to become cloud native. Do they really need above benefits? Even if they are not really SaaS based platform which need scalability as primary need. There is something else, read on to find out…
Many people think Kubernetes (and?containers) will give them easy portability between clouds, but it turns out this isn't true. As Gartner analyst?Marco Meinardi wrote, when asked whether companies should embrace "Kubernetes to make their applications portable...the answer is: no." Say that again?
Kubernetes gives a standard infrastructure operating model and tool chain. Large organizations want developers to use standard ways of working because this reduces training costs, and removes pain of staff moving from project to project. It also makes it easier and cheaper to apply policy if your "platform" (or platforms) are based on the same core set of cloud native tools. Essentially, you bring “cloud native skills” under one roof. When augmented by DevOps automation, this gives tremendous standardization benefit to the organizations.
领英推荐
Now the role of Kubernetes is expanding beyond simply orchestrating containers. It’s becoming a key middleware component for managing data and is a tool for managing hardware and could find itself being used to manage uncontainerized applications. Major hybrid cloud management platforms like Anthos are on built over Kubernetes. Companies like NetApp have built an IT infrastructure from the ground up that could move at the speed of business change. Application owners can self-service to spin up new environment within minutes thanks to dedicated namespace.
In case of ISVs or enterprise softwares, a common challenge for software product users is the time and skill required to install, configure, and upgrade these products. Traditional enterprise software can have complex prerequisites, configuration spread across many files and formats, and multi-step upgrade procedures. Wrapping all that up into containers and Helm charts can transform the install or upgrade process from a multi-day (or even multi-week) effort into a single helm install or helm upgrade command. Kubernetes also support rolling updates of containers.
Another common issue for consumers of traditional enterprise products is the additional tools required to handle generic concerns like request routing, monitoring, and networking. Kubernetes, and an associated set of open-source projects provide generic solutions to many of those requirements, reducing software licensing costs as well as the overhead of maintaining all the different pieces of software for each separate enterprise product.
Companies like HCL Software have converted their entire enterprise software portfolio to cloud native using Kubernetes and Helm.
Conclusion
Kubernetes is rapidly becoming the infrastructure platform for cloud native computing, an approach to using public or private clouds in the most flexible way possible. It’s being used not just for scalability but for business agility, software maintainability and (cloud native) skills portability. No wonder why you should build on Kubernetes from day one.
AI~Digital Engineering & Solutions Lead | GenAI Consulting, Architecture, Thought Leadership
3 年Here you go.... Mirantis launches cloud-native data center-as-a-service software. https://techcrunch.com/2021/09/16/mirantis-launches-cloud-native-data-center-as-a-service-software/
Distinguished Technologist | Cloud & Data Strategy | Enterprise Architecture | Digital Transformation
3 年Thanks Nitin for this lightening writeup. Totally agree with you K8S do more apart from container orchestration/management. It’s a good IoC, good example is Istio Service mesh injecting cross cutting concerns like mTLS Also Micoservices lack good deployment capabilites but K8S complements this… and better utilization underlying tin box/VM