I think that Juju is a technology that has the potential to help a lot of sysadmins, it would be great to have a good tutorial for using it in other clouds, such as gandi.net1. Is there any way to run juju in non aws2 clouds?
As of Ubuntu 12.04, and the "0.5+bzr531" release of Juju that comes with it, Juju can only speak 3 API's:
- EC2 - This is actually EC2 and S3 for charm storage
- Orchestra - This is Cobbler + WEBDAV for charm storage.
- MaaS - This uses MaaS much like Orchestra used Cobbler, and MaaS has the file storage built-in rather than relying on a secondary WEBDAV.
The EC2 API lets Juju deploy things into OpenStack clouds, and in theory, CloudStack and Eucalyptus, though neither of those are regularly tested by the Juju dev team.
Juju can also spin up LXC containers on linux machine to create a simulated cloud on a single machine.
The effort to add another cloud API is pretty small. You need to be able to start, stop, and list machines, and then you need some shared object storage so charms can be stored by clients and retrieved by any of the machines.
One wrinkle for the immediate addition of any other cloud providers is that Juju is undergoing a rewrite from Python to Go. Because of that, any effort that goes into the Python version will see limited attention from Juju development long term as the Go port matures.