kantver - Fotolia
Kubernetes provides advantages such as reduced resource costs and improved scalability for container management, but it does not fit every use case. Organizations that support several legacy systems might find Kubernetes complex and difficult to integrate.
"The challenges for enterprises in deploying Kubernetes become more pronounced, as it accounts for more than 10% of their workload," said Torsten Volk, managing research director at Enterprise Management Associates, an IT management and consulting firm based out of Boulder, Colo.
Because of its growing popularity, some organizations might adopt Kubernetes to modernize their systems. Prior to Kubernetes adoption, organizations should do their research and implement certain practices, such as focusing on IT systems management basics and preparing for implementation failure, to better integrate legacy VMs.
Recognize the differences between managing containers and VMs
Developers construct virtualized applications and containers with opposing design goals and infrastructure, and most organizations' practices reflect this. Organizations build virtualized applications and deploy containers in fundamentally different ways.
As a result, most organizations operate two management systems: one for virtualized systems and another for containers. But these configurations can result in inefficiencies because network technicians must jump from one system to another to identify problems.
"Vendors are pushing the notion of a common management platform for containers and VMs but are in the very early stages of developing such products," said Arun Chandrasekaran, distinguished vice president at Gartner, an IT research and advisory firm based out of Stamford, Conn.
Prior to Kubernetes adoption, understand its complexities
Since the introduction of virtualization technology, the IT industry adopted a computing model where abstraction software enables developers to write code more easily and without having to influence system elements. The emergence of containers takes those enhancements to a new level.
However, the underlying software of containers has become more dispersed, and Kubernetes introduces a vast number of variables.
Kubernetes provides a framework rather than a plug-and-play platform. IT departments must connect it to their system infrastructures -- unique for most organizations -- with the understanding that Kubernetes is not simply another product. Rather, Kubernetes represents a construction kit that organizations can use to build management applications, according to Volk.
Focus on system management basics
When working through a Kubernetes adoption, organizations must focus on basic management needs, such as security, compliance, performance, availability and cost.
"Enterprises need to ensure operational consistency," Volk said. "They should not get carried away with all of the cool new tools available with Kubernetes."
Organizations must also find products that help deliver services in a standard, consistent and unified manner to meet service-level agreement objectives. To reach that goal, organizations must identify key integration points and places where applications call for common system services, such as access management, message queues and logging.
Choose the right open source project
Since Kubernetes' release, several open source projects have arisen either as offshoots of or in conjunction with Kubernetes. These projects integrate into Kubernetes' management foundation and help extend its system management functionality.
Thousands of projects offer help for tasks as simple as providing a mobile phone interface to Kubernetes, but a few projects have significantly more momentum and better fill common needs. For example, Morpheus Data supports central management services such as role-based access control, cost optimization, backup, DNS, load balancing and persistent storage through a single pane of glass, according to Volk.
In addition, Prometheus also features a multidimensional data model that supports a system alert query language, and Jenkins automates software version controls for Kubernetes.
Prepare for failure
Application environments grow increasingly dynamic. With the emergence of continuous integration and delivery principles, vendors constantly push out new software releases.
"Containers have short lifespans. They are often spun up and then taken down in seconds," Chandrasekaran said.
Resources often constrain software quality assurance and testing, and organizations cannot always determine every possible effect of changes to an application. As a result, problems can easily arise on a regular basis.
But organizations can take steps to mitigate potential damage to their systems. Developers can store configuration files locally before sending them to a cluster, so organizations can revoke changes in the event of a problem.