Sardonic, you doubt: “It has no competitors?”
You will sometimes read that Kubernetes is the “Linux of Cloud“. This assertion, in addition to displacing the importance of the Operating System in the IT to the orchestrator, also points out that, as with the O.S., an orchestrator’s war is raging. Or rather should we say “was” raging.
Solutions such as Docker Swarm, Apache Marathon, Nomad, HashiCorp, Red Hat OpenShift, Kontena have long fought for a slice of the pie. Each with its strengths. But when, starting in 2017, more and more important companies have chosen Kubernetes for their modernization, naturally followed by the biggest players in the Cloud (and their ecosystem) a critical threshold has been crossed. Kubernetes won the war. He became factually the standard orchestrator.
Sly, you retort, “So, why Kubernetes rather than any other?”
First, because Kubernetes has a proven maturity and is based on a robust architecture. With more than 10 years of development and use, the solution is proven. At Google, it manages the approximately 2 billion instantiated containers each week for all of the group’s services – arguably the largest container platform in the world.
Then, the community and the industry support it massively. Its adoption, support and popularity are unmatched in its market. It is estimated today that nearly 70% of companies have chosen Kubernetes to orchestrate their containerized architecture. This is what animate a community (Devs and Ops ?) and an ecosystem (publishers and hosts) perennial, right?
Compared to its competitors, Kubernetes brings natively a wide range of supported features and applications. It supports a variety of typical workloads (stateless, stateful, batch, and deamons), languages, and frameworks. Flexibility that will suit many usage scenarios.
Finally, with his particularly active community (more than 2,000 Github contributors, from the independent developer to the Fortune 500 organization engineer), Kubernetes is continually growing. You will always find help for your project!
Convinced, you say: “What benefits for my company?”
With Kubernetes, enterprises deploy and operate cloud-native applications, regardless of the environment and underlying infrastructure. It is the ideal solution for all stages of the integrated software industry: developments, tests and production. Kubernetes gives users the ability to tailor application resources to a much lighter and more powerful system than virtual machines.
Therefore, the periods of unavailability due to maintenance (and all the anxiety that accompanies it) are over; over the multiplication of databases (and associated servers) hosting libraries, binaries and other drivers (only images Dockerfiles must be stored). Finally, the heavy dependencies between virtualized systems are over. For each microservice, development teams can confidently use container images on their own machines.
With Kubernetes, you get:
- In speed: your ability to provide new code to your users depends only on your ability to think it.
- In efficiency: associated with the deep nature of the containers (portability, immutability, resilience, decoupling); the fine management provided by Kubernetes makes it possible to densify the population of your machines (On premise and Cloud) without impact for the applications which cohabit there.
- In budget: with equal number of applications, you operate (and finance) less machines.
Motivated, you start: “How do I start?”
In terms of containers and orchestrators, technologies, security, roles are new and in motion. They must be approached methodically. On its own, Kubernetes will not make you a champion of agility. In addition to the tools it provides, a successful modernization requires:
- A global strategy: Containerization must be part of a genuine desire for transformation that will achieve the level of agility that not only offers the speed and adaptability imposed by fast-changing business but also the expected reduction in costs. development, maintenance, and operation.
- Realistic opportunities: If, in some cases, deploying a monolithic application in the form of containers orchestrated by Kubernetes can make sense, one must not lose sight of the fact that not everything is “containerizable”.
- Mastery of DevOps culture: the development of container-based microservices imposes a discipline and good practices that are often poorly understood. Better to bet on real expertise!
There is no need to embark on a total and irreversible modernization of its IS in container/DevOps mode.
If many organizations are considering a redesign of the architecture by cutting the monolithic application by “roles” to convert them into microservices; another, more pragmatic approach exists. On the basis of scalability criteria or features that are likely to evolve rapidly and / or regularly, companies can first identify the business segments that would benefit from being detached from the monolith to place them in containers.
An approach that promotes rapid success and a more immediate return on investment without preventing the company from progressively evolving towards the DevOps philosophy and an advanced culture of microservices.