I just realized I never blogged about this video I recorded in February 2023, so here it is! I will be showcasing how Dell CSM Application Mobility can migrate a persistent container workload from an on-premise k3s cluster and a Dell Unity storage array onto an Amazon AWS based Rancher cluster backed by a Dell PowerFlex which is also running in AWS.
Dell’s view on a Multi Cloud world
The world is changing. The world of IT is changing faster. And the rate of change is still accelerating. Choosing the right platform for your workloads is important, but having the ability to move your workloads after they have been deployed without too much hassle is something most customers (if not all) require in todays multi cloud world.
Dell anticipated this and has developed a Container Storage Module (or CSM for short) called “Application Mobility“. CSM modules are extensions you can add on top of any k8s-based platform to help doing things native k8s cannot. Moving a persistent app between clusters, namespace and/or CSI storage backends is one of those “missing things” in k8s. Dell CSM to the rescue!
Cloud-Native is no longer stateless
There. I said it. The 12 factor app that runs as “one or more stateless processes” (factor 6: Processes) is no longer the truth for many many customers. In the original 12-factor world, who needed VMware vMotion or something like that? As all of the cloud-native apps were stateless by design anyway, moving them was nothing more than “stopping and starting them elsewhere”. All deployed through yaml or CI/CD pipelines made this even easier.
But as more and more core business workloads started to enter the world of containers, the idea of cloud-native apps has been changing. Today, persistent storage is entering the world of cloud native more and more. As an example, just look at the Data on K8s community (or DoK for short)! With that persistency, a whole new set of complexities emerge: CSI drivers, snapshotting, data protection like backup/restore, resiliency, encryption, replication, even active/active metro solutions. Moving a cloud-native app just got a whole lot more complex if it has persistency… because: How do we move the data??
Ground-to-Ground, Ground-to-Cloud, Cloud-to-Ground?
As we see more and more customers embrace the world of multi cloud, we need to provide the ability to move container-based workloads between all types of clouds, on- or off-prem. At Dell we sometimes refer to “ground-to-ground” or “ground-to-cloud” (or vice versa 😉 ) to indicate this.
In the video below I demonstrate CSM App Mobility where I move a workload from “Ground to Cloud”, in this case from an on-prem k3s cluster backed by a Dell Unity storage array into an Amazon AWS environment running an RKE2 cluster backed by a Dell PowerFlex that also runs in AWS.
You may say “huh? Is Dell running their hardware in AWS now?” Well, as you can understand every storage array is basically software on top of x86 CPUs with a lot of backend disks. PowerFlex is architecturally built in a way that we can easily allow the software layer to live inside VMs, where the backend disks come from the AWS platform directly. This makes the PowerFlex look and feel exactly the same as a “classic” on-prem array, but it runs in the AWS public cloud on AWS hardware 😎. And BTW, we are doing something similar for file as well, whether on-prem, co-located or in public cloud! Not just the same look-and-feel, but also equal storage platforms wherever you need it to be. There might just be a way to replicate storage more efficiently here 😎
In the (pre-Dell Technologies World 2023) demo video below we did a manual install of the PowerFlex system on AWS, but as the rate of change accelerates, we now see this solution enter the world through a much easier deployment model: Dell APEX Block Storage for AWS. Available in the US today, in other regions at a later stage.
Demo Video: Move an app from “ground to cloud”
Finally, the video! In this video I have two clusters, one on-prem one off-prem, backed by different storage technologies. By installing Dell CSM Application Mobility on both clusters I will demonstrate how easy it is to move a persistent container app between namespace, clusters, CSI storage technologies or a combination (in this demo I’ll combine all three in one go):