I have been having a play with some cloud stuff recently, as hinted at in my last post, and have put together some nice Python objects wrapping APIs/command-line tools so I can do things like:
>>> from cloudlib import Aws # or Azure or VBox >>> cloud = Aws() >>> ip = cloud.spinup_vm()
VBox is just my local machine, which I suppose is what people mean by private cloud 🙂 I have a bunch of other functions for managing them too, so the main code is transparently the same whatever the VMs are actually running on. This has made it easy to run a few scenarios like running Postgres in a VM somewhere, and Barman in a VM somewhere else. Pretty cool!
I also have come to realize that I have been thinking of AWS and Azure as glorified hypervisors but that isn’t really true; with all the services layered on top of them, it makes more sense to consider them to be fully-fledged operating systems in their own right. And they are clearly mature enough by now to be worth investing some time in, which I don’t think was necessarily the case when I first signed up for AWS in 2011 and found it wasn’t as good a fit for our use cases as the vSphere + 3Par platform we were operating at the time.
Speaking of 3Par, I am astonished that HP has bought SGI now. Never would have seen that coming in the ’90s!
Update July 2017 It’s been pointed out to me that Vagrant does this so I have actually switched to using that. I have also settled on Azure as my cloud of choice…