Why DevOps Engineers so Obsessed with Kubernetes and so are we?
Kubernetes is nothing we can’t achieve with a bunch of well-written scripts compiled together on top of VMWare – you must have heard people saying this. Then why are we so obsessed about Kubernetes and so is the DevOps?
When we look at the Kubernetes adoption, we see that it has grown exponentially and is evident from Airbnb’s Kubernetes adoption, with its transition from a monolithic to a multi-services architecture Airbnb that was eyeing support to 1000 engineers, happened successfully with Kubernetes deployment.
To understand it let us first have a glance at some of the facts, Kubernetes GitHub repo has more than 2400 contributors who have made more than 88400 commits with the initial release 5 years ago. This throws light on the fact that if any company anticipates their DevOps team to build the same quality product as Kubernetes, while they have to fight the fire from 10 directions, then that company better be monetizing it.
It doesn’t make business sense to invest substantial money and time into building a product that does not give your company a competitive edge. Much like Niantic Inc. Pokemon Go. This game saw massive user traffic which became stress for its engineers who found it difficult for servers to handle. But by making use of Kubernetes the engineers diverted attention from the scaling part to developing new features and app logic.
The amount of endeavour which has gone into building right abstraction and well thought through APIs has put power back right into the hand of DevOps. They can now work more towards a tuning, upgrading and securing infrastructure and microservices apart from creating DIY tools for developers. So it should not be a matter of amazement that Devops think Kubernetes gives them the silver bullets which they always wanted in their gun.
A survey conducted by Platform9 at kubecon Barcelona 2019 showed that 76.6% of respondents are looking at improving their speed to deployment by using Kubernetes. Next expectation was tied with 50% believing they will be able to modernize their legacy apps and another 50% believing it will help them automate app operations.
Takeaways from KubeCon 2019 Survey
Kubernetes in Production
Kubernetes Challenges
Multi-cloud Kubernetes
Kubernetes Add-ons
Kubernetes Use Cases
Let’s look at some of the things which make Kubernetes the next big thing after cloud?
Drive innovation through open source software:
With the helm charts available for almost every open source project doing a quick POC is very easy for the development team. Just have the right segregation of environment, policies and access control for them and they can really make you time travel to the future.
Just remember – they pull you towards the future you desire to live.
Shoot productivity through the sky:
Accelerate state of the devops report 2019, highest performing engineers are 1.5 times more likely to use easy-to-use tools. Well that’s comprehensible, as fast changing technology will make them remember lesser things and work their way through to be more productive.
Kubernetes provides uniform interface and declarative configuration which opens up the feasibility of creating easy-to-user tools now more than ever.
Recently, I was talking to devops head in one of the big companies that runs its systems on Kubernetes; he told me they are in the process of taking control back from the developers, they don’t want developers to modify yaml themselves as it resulted in a major outage.
Just remember – Kubernetes needs another abstraction layer on top of it to make developers, 1.5X developers.
Do cheap experiments:
Okay am cheating here a bit, you can do it primarily because of containerization which allows you to have much finer grained resource allotment but then you cant use containers at scale unless you are using a container management system like Kubernetes.
Also you can leverage the power of multiple cloud providers, your cloud provider is not strong in a particular region plug into another one, you have gotten credits from one of the cloud providers run test load on their infra, you can even use your local servers (hybrid cloud) in a similar fashion.
Just remember – Visibility of infrastructure and applications is important otherwise cost may go up and stability may go down.
So what do you think? If you have another reason to be obsessed or gotcha to help people leverage Kubernetes, do let us know in the comments section.