When was it that we collectively decided that Pubic Cloud was a permanent solution to our compute infrastructure needs?
Because, the way I remember it, the whole point of public cloud was to have a place to run temporarily while you swapped your old windows app infra for something more cloudy.
Remember those days? The days when your fleet wasn't a dozen k8s clusters but rather a dozen ESX servers in some data center running an unruly herd of windows server 20mumble VMs? With each VM carefully hand-stacked with the right amount of services to keep each vm busy, while providing enough parallelism for the apps? What a mess.
Luckily, all that code runs on k8s now. So what are you waiting for? The realities of the server tech are such that, at least in most cases, you can take those old ESX servers and use them to host cloud-native workloads. All you have to do is:
- get linux installed on it
- get it to update all the firmware correctly and use the right drivers
- fire up a virtualization layer like:
- OpenStack
- proxmox
- libvirt
- pile-o-scripts?
- get some vms running linux
- get k8s running on those
- secure the whole thing
- expose it to the internet and test things out
- find a set of platform software to install on k8s to get your app running
- fix your app so that it doesn't use proprietary services from the public cloud vendors.
That's most of it. Piece of cake.
So.
One of the great things about k8s is that it makes operating your app infra more sensible than the native Linux way of doing things. k8s only goes so far down though. Eventually you're in the glorious mess that is the GNU/Linux Operating System. This is where VMware and Amazon thrive: in the translation layer between cloud native software and the GNU/Linux operating system. Since they "make it easy" to get your app running, either on your hardware or theirs, a lot of apps live there.
But they don't have to be stuck there permanently.
You can get a private cloud going. Like a lot of technology, it helps to have a good working example. One that you can add to instead of creating the whole thing from scratch.
Once you have that, you can cherry-pick applications with few outside dependencies, move them to your new hybrid cloud infrastructure one-at-a-time, and go back to using the cloud for highly elastic workloads that you don't pay for all the time. Your static workloads will be running on your own infrastructure and your more dynamic workloads out in the cloud.
Where to get that working example?