The rise of Kubernetes has led to the creation of new market segments with huge potential. Container-native storage and networking are the fastest growing markets within the Kubernetes ecosystem. Interestingly, the market for these products didn’t even exist a few years ago.
When Kubernetes was first announced as an open source project by Google, it was perceived as a platform for web-scale companies running highly elastic and dynamic workloads. The initial focus of Kubernetes was on deploying and scaling stateless applications.
Modern application architecture deals with stateless and stateful workloads. Stateless workloads follow a shared-nothing pattern in which each instance of the workload runs independently. For example, a web application whose state is managed externally in a Redis cache and a MySQL database can scale to run a few hundreds of instances. Since each instance is autonomous and independent, multiple instances can be launched and terminated rapidly without worrying about keeping the state in sync across the running instances. The state is managed centrally in an in-memory database such as Redis or a relational database like MySQL.
When compared to stateless workloads such as API layers and web frontends, running stateful workloads in Kubernetes has been challenging. The platform did not support traditional storage operations such as cloning of volumes, automated snapshots, expanding volumes, backup and restore and migration of volumes across Kubernetes clusters.
The first generation of containerization targeted stateless services as they were easy to refactor. Stateful services such as databases and content management systems ran within VMs and cloud-based managed services. It was a common scenario to deploy an API and the web frontend in a Kubernetes cluster while running the database in Amazon RDS or Google Cloud SQL.
Robin Storage is a purpose-built container-native storage solution that brings advanced data management capabilities to Kubernetes. It provides automated provisioning, point-in-time snapshots, backup and recovery, application cloning, QoS guarantee, and multi-cloud migration for stateful applications on Kubernetes.