2020 will be remembered for a lot of things. On a positive note in the cloud-native community, 2020 will be remembered as the year persistent data and stateful apps finally came to Kubernetes.
So, Kubernetes is crushing it with stateless apps. And that’s great, but stateless is easy and only scratches the surface of what most businesses require. Thankfully, in 2020, stateful apps that generate and manage persistent data finally came to Kubernetes. Net net, Kubernetes is finally ready for the enterprise.
Compute then network then storage
Just to level set… compute is easy, networking is less easy, and storage is hard.
If you’re not convinced, look and virtualization, and even the cloud. Both tackled stateless compute first, added networking next, and rounding the picture out with persistent storage. Well, no surprises… Kubernetes did exactly the same. And now that Kubernetes does all three, it’s ready to tackle enterprise apps.
Kubernetes and enterprise-grade persistent storage
Key to bringing enterprise-grade persistent storage to Kubernetes was a robust plugin layer. We now have that in the form of the container storage interface (CSI).
At its core, the CSI is an abstraction layer that enables 3rd-party storage vendors to plug their high-performance, highly-available, battle-hardened (I could go on all day with the buzzwords) storage systems into Kubernetes.
Cutting through the buzz… the CSI lets you expose the assets and features of top-end storage systems to applications running on Kubernetes. And it’s game changing!
Not all Kubernetes storage integrations are equal
However, while the CSI is great and opened the door to persistent storage and stateful apps, it’s only the first step. It’s now up to the storage and data management vendors to write quality plugins. And this is what separates the best from the rest (I’m showing my age with a cheesy line like that).
One of my favourite examples of a mature and feature-rich CSI plugin is the Commvault Hedvig solution (I’m a former storage specialist that now works with containers, so I’m passionate about this stuff).
It’s mature, offers tons of features including snaps/clones and topology-aware remote replication, and it’s baked so seamlessly into Kubernetes that it looks smells and feels like it’s part of Kubernetes.
Improvements to the CSI over the last year, plus the overall maturity of Kubernetes, have opened the door to powerful storage integrations. However, as always, some players have been proactive, whereas others appear to be more reactive — there’s been a recent “land grab” where storage and data management companies have been buying startups to fill gaps in their portfolios in this space.
And while that’s good for the future, you should ask yourself: do you want the risks of being an early adopter of something relatively new and untested, or, do you want to trust your data to something that has maturity and a long-standing relationship with Kubernetes.
I know which option I’d chose every time important data is involved.
Again, in my honest opinion, the Commvault Hedvig solution gives me the warm fuzzies — Commvault acquired Hedvig over a year ago, and since then they’ve been hard at work building out their integrations with Kubernetes.
Yes, this is a sponsored blog post (Commvault are paying me to write it). But I only ever partner with companies and technologies that I believe in. Basically, you couldn’t pay me to write positively about something I don’t like!
Anyway, Commvault offers one of the best ways to bring enterprise-grade storage to your Kubernetes apps. You get the high-performance, high-availability and all the other features that automatically come with Commvault Hedvig. But you also get snaps/clones, topology-aware replication, and more. And all done through a mature CSI driver and set of Kubernetes API extensions that make it as Kubernetes-native as possible.
All in all… there’s a lot to like, and I’m struggling to find something I don’t like. And that… is why I’m happy to write about it!
As always, I’m happy to connect and talk about stuff in the open.