As cloud-native technologies mature, more enterprises are adopting them to achieve faster application development and service delivery. According to IDC’s 2022 Overview of the China Cloud-Native Market, by 2024, “the proportion of new production-grade cloud-native applications in new applications will increase from 10% in 2020 to 60%.” By then, using container orchestration platforms like Kubernetes for efficient container deployment, scaling, and management will be an “industrial norm.”
Kubernetes allows for the cross-host schedule and orchestration of containerized applications, providing automated deployment, scaling, and upgrade services, as well as cluster-level capabilities such as high availability and load-balancing mechanism. Typically, the operation and management (O&M) of Kubernetes clusters are regarded as DevOps teams’ or platform teams’ jobs, with infrastructure and operation (I&O) teams providing servers, network and storage devices, and related support. However, as containerization decouples applications from infrastructure, many enterprises have come to realize that Kubernetes should be treated as a form of infrastructure, capable of being used on both public and private clouds as a next-generation infrastructure to support modern applications. This change of perceptions, as a result, will put more I&O teams in charge of Kubernetes O&M as DevOps teams should focus more on developing.
In this article, we will explore why the I&O team can be a good fit for Kubernetes O&M, and whether such a change is feasible.
Necessity: Developers Should Be Released from Basic Kubernetes O&M Work
The platform of containers or Kubernetes was initially envisioned as the foundation of “a new type of Platform as a Service (PaaS) platform,” which was planned and implemented by DevOps teams or platform teams. Their jobs include learning in advance, researching, setting up and maintaining testing environments, and developing technical systems, methods, and toolkits (including toolkits for bare-metal servers).
However, Kubernetes, being a relatively new technology, has a steep learning curve. In addition to the tasks mentioned above, most developers are also responsible for performing basic Kubernetes O&M tasks, such as building and managing Kubernetes clusters, which can be repetitive and time-consuming.
For example, to deploy a server as a Kubernetes node, engineers should at least:
1. Install the operating system on the server and connect it to the switch.
2. Install the latest container runtime version on the server.
3. Install kubeadm, kubelet, and kubectl on the server.
4. Use kubeadm to initialize the cluster.
5. Install and set up the CNI network plugin.
By now, only one Kubernetes node is deployed. To scale it to a Kubernetes cluster, it also requires to:
1. Configure the node as a control plane node.
2. Create more Kubernetes nodes.
3. Add the nodes to the cluster and set their roles as control plane or worker.
4. Check that all nodes can run normally.
5. Set up secure access.
6. Set up container storage.
This daily O&M not only consumes a significant amount of time and energy from developers but also slows down the progress of developing new applications. This contradicts the original goal of using Kubernetes to accelerate development speed and improve service efficiency.
In contrast, I&O teams possess comprehensive knowledge and O&M skills that span from hardware facilities to operating systems. By introducing batch configuration scripts, they can optimize the deployment process and complete the entire process quickly, including hardware installation and connection, as well as Kubernetes environment deployment. Furthermore, this process can be replicated, continuously improving deployment efficiency and quality.
As a result, in the report CTOs’ Guide to Containers and Kubernetes — Answering the Top 10 FAQs, Gartner recommends that enterprises should free DevOps teams from Kubernetes O&M so as to save time for software development. The platform team, for example, could be in charge of tasks such as automating container infrastructure provisioning, maintaining base images, capacity planning, workload isolation, monitoring the platform and applications, developing templates to rapidly build new services and features, and so on. These responsibilities are similar to those of traditional I&O teams. I&O engineers are well-equipped to run a Kubernetes platform due to their extensive experience in monitoring and securing multiple applications, systems, and environments simultaneously.
Meanwhile, I&O engineers can leverage their expertise in, for example, network and storage integration, to further exploit Kubernetes’ features and advantages as an IaaS. According to Juju’s Kubernetes and cloud native operations report 2022, nearly half of the interviewed enterprises have experienced a lack of in-house skills/limited manpower when using Kubernetes and containers. Some enterprises also reported issues such as incompatibility with legacy systems, under-addressed security and compliance concerns,under-addressed network and storage requirements, and inefficient day-to-day operations. Therefore, involving the I&O team in Kubernetes O&M has the potential to optimize the management of Kubernetes and the enterprise’s overall IT system in many ways.
Viability: The Kubernetes Management Software/Tools Can Lower O&M Difficulties
Now the question is, is it feasible for the I&O team to be in charge of Kubernetes O&M, given the current situation?
As previously stated, the I&O team has been usually considered incapable of leading Kubernetes O&M due to a lack of knowledge in container and Kubernetes-related technologies.
Learning how to operate Kubernetes can take a large amount of time and effort. According to a CNCF blog How to Overcome the Day 2 Kubernetes Skills Gap, there are significant differences between the O&M of Kubernetes and IT infrastructure based on virtualization in terms of storage, network, and security. This means that I&O engineers will have to grasp Kubernetes-specific concepts (such as “persistent volumes”) and understand how they work in the Kubernetes cluster. They should also fully realize the complexity of the Kubernetes environment and leverage their expertise to ensure configuration security as much as possible.
Furthermore, native Kubernetes primarily supports the command-line mode (kubectl). While this tool can be efficient for DevOps professionals, it may require a greater level of skill and experience to achieve a holistic Kubernetes O&M and efficiently monitor and manage multiple environments. This can lead to a heavier workload for I&O personnel who may be more familiar with graphical user interfaces.
However, as cloud-native technology matures, many Kubernetes management software/tools have emerged to aid I&O engineers in Kubernetes O&M. These tools offer rich management features such as the integration of security, monitoring, and storage, simple operational systems, graphical interfaces, and comprehensive management of various environments. With only basic container/Kubernetes knowledge, operators can get started with Kubernetes O&M quickly. Specific benefits and values of these software/tools include:
- Kubernetes cluster lifecycle automation: Automating time-consuming and repetitive tasks such as creating, deleting, updating, and scaling Kubernetes clusters to improve efficiency.
- Unified management of plugins: Support for multiple plugin extensions to enhance Kubernetes functionality and services while catering to enterprise-specific requirements.
- Platform data visualization: Real-time Kubernetes cluster data will be collected and displayed on a unified visualized interface, including monitoring, alerting, log management, and analysis.
- Support for consistency across multiple environments: Kubernetes clusters are uniformly configured and deployed in hardware and software to support cluster distribution, scaling, and upgrading across multiple environments.
- Advanced services: Some software/tools provide advanced services such as high-performance persistent storage and network security services to improve the IT infrastructure’s reliability.
Many I&O teams are taking on Kubernetes O&M after gaining mastery over containers and Kubernetes-related knowledge and skills, using these software/tools to unify Kubernetes planning and management across physical and virtualized environments and facilitate rapid enterprise development.
Conclusion
As cloud-native technologies continue to gain momentum across various industries, the deployment and O&M of Kubernetes by I&O teams are expected to accelerate enterprise agility even further. IT infrastructure engineers are increasingly expected to be knowledgeable about Kubernetes and capable of developing effective O&M strategies, including selecting appropriate Kubernetes management modes and software/tools.
So far, SmartX has introduced two cloud-native products: IOMesh, the cloud-native storage, and the Virtink project, an open-source and lightweight virtualization add-on for Kubernetes. More products are on the list. Please keep an eye out for new releases by following our Facebook, Twitter, and LinkedIn.