On Sat, Dec 29, 2018 at 08:41:01PM +0000, Jeremy Stanley wrote: > To echo the sentiment, I too am not that keen on images which need > provider-specific daemons installed to make them viable. As a > sysadmin for applications which span multiple providers, it's more > useful for me to be able to rely on building one image which can run > consistently on all of them.
I can understand how adding features via a cloud-specific agent is not viewed as particularly exciting for someone who wants to use VM's across multiple providers. Unfortunately, if the VM is starting with a common fixed image which is used by all customers, there has to be some way to set up ssh keys that can be used to log in as root. And if the model is that requests to resize disks or take snapshot of disks can originated external to the VM, then there needs to be some way to let the VM know that the disk has changed in size, or that the VM should call the FIFREEZE ioctl on a disk in preparation for a snapshot. There currently is a standardized way that will work across all OS's, and all cloud providers, so this sort of things gets done via agents. If you are making a single image which is customized for you, and you don't care about features like disk resizing or snapshots being done by the cloud's block device interface, then it certainly is quite easy to create a single image which works everywhere. > But to clarify, I use plenty of (OpenStack-based) public service > providers which work just fine without any proprietary agent daemon > installed on my guest instances. OpenStack isn't *just* for > "private cloud" and there are some 75+ different "public cloud" > providers worldwide running OpenStack from which to choose if you're > not a fan of closed/proprietary hosting platforms. Buy local, run > free. The shortcoming with OpenStack is that you end up having to support the lowest common denominator of functionality. For example, with OpenStack you have to detach a volume from a VM before you can resize them[1]. With AWS, GCE, and Azure, you can dynamically resize a disk while it is attached. [1] https://docs.openstack.org/cinder/latest/cli/cli-manage-volumes.html - Ted
