Kubernetes as the Cloud Native Operating System

Containers rose to the mainstream primarily due to workload portability and immutability advantages. Kubernetes became the primary orchestration tool and was initially supporting stateless applications, commonly referred to as the cattle vs. pets approach. However, data-centric applications need stateful-ness while still leveraging the cattle vs. pet approach. Microservices, Containers, and Kubernetes are now moving mainstream as increasingly more stateful applications are adopting them.

Challenges with Scaling Kubernetes

According to The New Stack,  80% of enterprises list data management, persistent storage, and disaster recovery as top barriers limiting container adoption.

Implementing Kubernetes at scale is hard. In fact, Kubernetes users are commonly confronted with many questions:

  • How do I better utilize expensive GPU resources and improve productivity? How do I extend K8’s benefits to cloud-native and non-cloud-native applications?
  • How do I deploy stateful applications with persistent data requirements?
  • How do I provide for Accelerated DataOps, disaggregation of compute and storage, disaggregation of a performance and capacity tier, data protection, data mobility, DR, and hybrid workflows?

Containerized Stateful Application Use Cases and Their Challenges

Containerized applications need stateful-ness, as they are commonly deployed in hybrid and edge-to-core-to-cloud workloads, as well as CI/CD use cases. Here are some of the common use cases for containerized application deployments:

  • Data analytics processing and AI/ML–Hadoop, Spark, Tensorflow, PyTorch, and Kubeflow are now increasingly adopting containers.
  • MLOps–There are a number of stateful requirements when using containers for MLOps, such as checkpointing for large training jobs, cluster-wide persistent external shared volumes, sharing training and inference results, and improving poor utilization of expensive GPU resources.
  • Databases and messaging–Some applications recommend local flash for latency; however, this breaks Kubernetes orchestration because PODS are assigned to local servers. High-performance shared storage can provide the same or better latency and provide the data portability with shared storage in applications like these:
    • Single instance databases like MySQL, PostgreSQL, MariaDB.
    • NoSQL databases like Cassandra and MongoDB.
    • In-memory databases like Redis and MemSQL.
    • Messaging apps like Kafka.
    • Business critical apps like Oracle, SQL server, and SAP are increasingly getting containerized.

Weka and Rancher Labs Kubernetes Solution

Rancher 2.5 is a complete container management platform built on Kubernetes. It is composed of five primary components: (1) a certified Kubernetes distribution (including Rancher’s RKE and K3s); (2) consistent cluster operations; (3) security/authentication/policy management: (4) shared tools and services; and (5) developer services.

WekaFS, the world’s fastest and most scalable parallel file system, addresses the shareability, performance, and portability challenges by providing stateful, reliable storage, allowing seamless deployment on premises and easy migration to the cloud, while meeting the high performance and low latency requirements. Using the WekaFS Kubernetes CSI plugin, organizations now have increased flexibility in how and where they deploy containers while delivering local storage performance and low latency. In fact, throughout the system, WekaFS delivers the speed-to-market required of a cloud-first solution.

Figure 1: WekaFS CSI Plugin enables a single management interface for container deployment

WekaFS CSI Plugin

The WekaFS CSI plugin is deployed using a Helm Chart, along with the POSIX agent on Kubernetes worker nodes, and is available in the Rancher application catalog. WekaFS supports volume provisioning in both the dynamic (persistent volume claim) and static (persistent volume) forms with its own storage class. It also supports ReadOnlyOnce, ReadOnlyMany, ReadWriteOnce, and ReadWriteMany access modes. When working with the Ranger platform, WekaFS provides the same highest performing disaggregated storage, scalability, encryption, and data protection to all application- specific Kubernetes PODs and clusters, whether on-premises or in the cloud.

Summary of Benefits: Data Mobility, Scalability, and Improved Performance for your AI/ML Container Deployment

By partnering with Rancher Labs, Weka offers a solution that fulfills the enterprise and cloud-ready features required of today’s AI/ML container ecosystems. We believe this to be a key step in fulfilling our vision of helping organizations overcome their biggest storage problems with AI and Cloud-first strategies, while accelerating portability so that they may extract more value from their data, faster. The Weka Technology Alliance Program targets leading technology providers who add value by creating a solutions ecosystem that enables an agile and accelerated data center for our customers.

Customer Use Cases and Benefits: Sample CI/CD Pipelines

Weka delivers “Accelerated DataOps” to cloud-native, Kubernetes applications with the following customer benefits:

  • Blue-green Deployments–This deployment involves running two identical deployments in parallel that are viewing the same Weka shared file system, one in a production environment and one in a staging environment, that will eventually allow you to decide if and when to push staging to production.
  • Simplified Canary Deployment–Whereas the majority of users are pointed to old/production containers, a small subset of the users are directed to a new/staging container with old and new containerized environments pointing to a single data repository running on top of the WekaFS shared file system.
  • Spin up multiple containers on-demand–You can leverage Weka’s parallel file system, WekaFS, for high-performance access to the shared data without the need to copy data around between containers.

Organizations looking to grow their businesses and build their market shares by partnering with Weka can apply for the Weka Technology Alliance program at https://www.weka.io/technology-alliances/