On Wed, Oct 2, 2013 at 4:50 PM, Jay Ashworth jra@baylink.com wrote:
----- Original Message -----
From: "Ryan Lane" rlane32@gmail.com
On Wed, Oct 2, 2013 at 12:48 PM, C. Scott Ananian cananian@wikimedia.orgwrote:
One intermediate position might be for WMF to distribute virtual machine images
I'd rather provide cloud-init scripts with instructions on how to use
them.
The cloud init script could pull and run a puppet module, or a salt
module,
or etc. etc.. Providing images kind of sucks.
Ok, time for me to throw an oar in the water, as an ops and support guy.
My perception of Brion's use of "officially supported" was, roughly, "whomever is providing support to these hosting customers has a direct, *formal* line of communication to the development staff".
The reason you build images, and version the images, is that it provides a clear solid baseline for people providing such support to know (and, preferably, be able to put their fingers on) exactly the release you're running, so they can give you clear and correct answers -- it's not just going to be the Mediawiki release number that's the issue there.
That's impossible to do reliably if you pull the code down and build it sui generis on each customer's machine... which is what I understand Ryan to be suggesting.
It's a little more work to build images, but you're not throwing it away; you get it back in reduced support costs.
No. I'm suggesting that we provide cloud-init scripts [1] to let people seed their virtual instances. It would pull down a puppet, salt, chef, juju, etc. repository which would then install all the prerequisites, start all the necessary services, install MediaWiki, and maybe install and configure a number of extensions. We could skip cloud-init completely for some of these. I think vagrant has ec2 [2] and openstack [3] providers. salt stack has salt-cloud [4] (or you could use salty vagrant [5]).
Some of these also already have mediawiki modules created and usable. In fact, juju uses MediaWiki for demo purposes relatively often. WMF has a usable puppet module. I wrote a salt module for webplatform.org, which we'll be publishing soon.
The nice part about this is that it's all configuration managed, can be versioned and could also be used to upgrade MediaWiki and all related infrastructure.
Images are a pain in the ass to build and maintain (I build and maintain images), you need to keep them updated because the image will be insecure otherwise, and they are giant. They are also way less flexible.
- Ryan
[1] http://cloudinit.readthedocs.org/en/latest/ [2] https://github.com/mitchellh/vagrant-aws [3] https://github.com/cloudbau/vagrant-openstack-plugin [4] https://github.com/saltstack/salt-cloud [5] https://github.com/saltstack/salty-vagrant