Reputation: 43
I'm trying to implement a deployment automation using CHEF. So far I have implemented it using Amazon EC2 and Internap cloud platforms. I know CHEF supports only few cloud platforms.
Other than CHEF is there any library which can be used to create cloud instances in variety of different platforms?
Deployment automation is anyway will do using CHEF, the problem is to create instances in different platforms.
Upvotes: 1
Views: 86
Reputation: 77951
Problem is there is no truly generic way to launch VMs on all clouds. Each has their own set of options and settings. One good thing is that industry is starting to standardize around both Amazon and Openstack.
The chef knife command has a number of helper plugins for launching servers on 3rd party clouds. These are convenient to use, but what you may not realise is that these are just convenient wrappers around the knife bootstrap command. You can always pre-provision your servers and add them to your chef server as a second step. One option is to use a good open source abstraction layer like:
The latter is implemented in ruby and used to write many of the knife plugins for clouds like Amazon, Rackspace, etc.
Finally, a more complex but ultimately superior solution would be to use your providers userdata service (if it exists). Many clouds now support the ability to specify how the VM is configured on startup. Many cloud VM images have Cloud-init built in and this has support for initializing chef.
Upvotes: 1
Reputation: 7529
There is a very active project to support deployment of OpenStack via Chef cookbooks, you might have a look at those: http://docs.opscode.com/openstack.html
Upvotes: 0
Reputation: 3066
There are PaaS options (Platform-as-a-Service) that support provisioning instances on multiple clouds. Some of them have builtin support for Chef, too. There is a comparison available here: Looking for PaaS providers recommendations
Disclaimer: I work for GigaSpaces, developer of the Cloudify open-source PaaS Stack.
Upvotes: 1