Modeen Malick – Senior Systems Engineer at Commvault South Africa

At a time when economic pressures are forcing businesses to sweat their IT assets and do more with less, container technology and Kubernetes can be instrumental. Achieving what is needed can be done by running more applications on fewer servers, bundling and running applications seamlessly and dramatically reducing time to market for new products and services.

Containers are similar to Virtual Machines (VMs), with file systems, Central Processing Units (CPUs) and their own memory, but with the added benefit of being decoupled from the underlying infrastructure, so they are portable. Thus, they offer a new way to build, organise and run cloud applications, which are scalable, agile, faster and quicker to deploy.

Kubernetes is the most popular containerisation platform, and all major cloud providers offer it as part of their service portfolio. While Kubernetes may not solve all challenges, it does offer huge benefits. The benefits include increased utilisation and integration compared to VMs and also solves issues such as enterprise production outages after a code or application deployment due to versioning conflicts.

Kubernetes provides a framework to run distributed systems resiliently, by managing failover and scalability of systems. In addition, the Return On Investment (ROI) is business-focused, enabling businesses to become more lightweight and use fewer resources compared to monolithic physical environments or VMs.

Better server utilisation

Containerisation allows businesses to drive up server utilisation, adding value by reducing unnecessary resources, and container orchestration allows businesses to auto-mount the storage of choice, whether local or in the cloud, for unprecedented flexibility and agility.

It also offers automated rollout and roll back, which allows for swapping between restore points and going back to any given point in time. Faster reaction and time to market are hugely beneficial when business demands such agility. If Kubernetes is properly implemented, the biggest benefit is seen in the productivity gains of the organisation and its staff, and the improvements in go-to-market speed.

This technology also provides more time on code, which means businesses have more time to develop features their customers want and spend less time on debugging. Kubernetes can be commissioned on the fly, and guarantee consistency for deployment, for improved testing capability.

Furthermore, it reduces spend on operating system licences and decreases the number of manhours required to patch and fix. It also decreases the need for costly support for legacy environments and is open source so there are many support resources available.

Adoption challenge

However, as with any technology implementation, the biggest challenge is ensuring adoption by IT operations and staff, thus ensuring that people, processes and technologies work together. In addition, backup and recovery, data management and security are still requirements, so businesses need to consider how these will be affected by the adoption of containerisation.

Finally, the Kubernetes ecosystem has numerous deployment options, including in the cloud, on premise and hybrid scenarios, so data management is crucial to ensure that organisations do not introduce data risk.

Although containers enable speed, portability and a microservice architecture, they also introduce a few risks: they may create security blind spots and increases the attack surface, because the distributed nature of containers makes it more difficult to maintain visibility. This distributed nature also separates components, potentially creating gaps where security risks could creep in.

When an application is installed, troubleshooting becomes a challenge due to the sheer number of opportunities for misconfiguration and vulnerability. In addition, it does not provide a native mechanism to encrypt, manage and share sensitive information, meaning that a data management system becomes a crucial component.

Organisations wanting to get the most out of their Kubernetes investment must have strong governance policies and procedures in place. Businesses need to look at how images are being built, how sensitive data is being handled, stored and accessed. From a security perspective, visibility is critical in terms of understanding what is being deployed, where and how, who is accessing it, and whether or not it is compliant with enterprise requirements.

While Kubernetes is powerful, it is not the right choice for every team and every situation. It is made to solve a certain set of problems, and if these problems are not your business’ problems, it may end up being more trouble than it is worth. Businesses should not implement Kubernetes for the sake of it, they need to have the right business case to back up the investment.