Kubernetes is increasing in popularity as organisations seek more flexibility in their infrastructure operations. But how should companies approach Kubernetes? Maxime Hurtrel, Product Manager, OVH, discusses how to create and deploy a successful Kubernetes strategy.
When I think about trends that are top of mind in the data centre industry, it’s hard to look past Kubernetes. A recent survey showed that use of cloud native technologies in production has grown over 200% in the past 18 months, with 40% of respondents from enterprise companies running Kubernetes in production.
This is due to the fact that organisations are seeking more flexibility in their infrastructures to support faster deployments of IT services and Kubernetes enables better management and execution of complex operations.
Using a managed Kubernetes service allows companies to take their operational efficiency to the next level from cloud and container technology. It saves time and resources by managing clusters of containers and enabling developers to manage their full software stack in a declarative way and as a single configuration file.
It can then be easily reproduced, shared among teams, versioned and improved in a trackable way.
However, companies shouldn’t make the move because it’s a trend, rather to benefit from the added value by following a certain design pattern. Kubernetes does not replace the infrastructure itself but, for example, can limit the possible consequences of a problem in a localised fixed structure.
As the rapid uptake of Kubernetes continues, it’s important to consider the benefits and understand the full potential before, most importantly, creating a strategy for implementation.
In order to do this successfully, developers and IT professionals need to consider two key questions:
Which workloads to deploy first?
Using a managed Kubernetes system means companies can take operational efficiency to the next level, provided it’s deployed correctly. To truly benefit from the added value of Kubernetes, businesses must consider order of implementation and which architecture to start with.
The best place to start is with internal tooling for development teams. Evaluate which tools developer teams use on a daily basis as it will be much more beneficial to start with smaller workloads and then move to large.
It’s not a black and white approach and developers should choose their battles when administrating the move to Kubernetes. It’s not imperative to move all applications over, just things that make sense. Start small and ultimately focus on making all new projects Kubernetes based, but not necessarily all legacy apps. Those that need to be moved can be re-written and moved to the public cloud.
Containerise and re-architect the components that need to be horizontally scaled in certain situations. This benefits application but also allows for more flexibility when deploying workloads. For example, during a traffic spike, the number of replicas of a machine can be increased to distribute load and prevent it from affecting the services and customer experience.
Another area where Kubernetes delivers a lot of value is in fast-paced environments where new versions of a given software are deployed frequently. It makes activities such as A/B testing very easy and enables the user to deploy in a much more secured and measurable way.
Which type of Kubernetes to use?
Companies require a Kubernetes service that is compatible with any pure Kubernetes tooling and doesn’t cause an inconvenience in regard to installation and operation. Managed Kubernetes Services are designed to do just this: by being based on open source and providing a platform that is living in the cloud environment.
However, if this step is daunting and a business is at a more experimental stage, there are more basic tools available. Users can test and learn Kubernetes with tools such as Minikube and Kubespray that make it easy to run Kubernetes locally, from a laptop.
These tools are not designed to handle any significant load and are not secured by design. But nonetheless they are available for teaching colleagues or learning tutorials and much more of a starting point.
For specific needs that require an application on-premise, Kubernetes solutions such as Platform9 are available. This allows access to the solution via a commercial company that provides ease of use, enterprise support and agnostic features, in addition to being compatible with multi-cloud.
Kubernetes in a nutshell
There is no one size fits all solution. It’s about focusing on the right strategy for your business needs and having the flexibility to change approach as these needs evolve.
There are different options available so it is not necessary to build your own solution.
Select a commercial on-premise, or CNCF-certified managed cloud solution that can be used as a ready-made offering with tools to develop and scale a successful Kubernetes strategy.