cooking the cloud
DESCRIPTION
TRANSCRIPT
Cooking the cloud
Managing configuration with Chef, and
How Abiquo uses it to provision nodes
Ignasi Barrera
Senior Software Engineer
We will talk about…
The need for configuration management
Quick overview of Chef and its different flavors
What the jclouds-chef project is
How we can combine it with jclouds
How Abiquo integrated Chef inside the platform
Configuration management
Centralization of the configuration
Automation in large infrastructures
Ease of maintenance
Automatic provisioning
How does it look like in Chef
Cookbooks Recipes
Ruby scripts Templates Configuration attributes
Nodes Maintain the configuration of each node
Databags
ChefContext chefContext = ContextBuilder.newBuilder(“chef|hostedchef|privatechef”)
.credentials(client, certificate) .build();
chefContext.getApi(); // Returns the typed API
Pick your favorite flavor
Community Chef (Open source)
Hosted Chef (PaaS, free limited account)
Private Chef (Opscode Chef inside the firewall)
The Chef service
Stores bootstrap configurationThe configuration is stored in the Chef Server and is accessible for jclouds and the nodes
Generates the bootstrap scriptThe script can be executed with the ComputeService
updateBootstrapConfigForGroup(runlist, config, group);
bootstrap = createBootstrapScriptForGroup(group); compute.runScriptOnNode(id, bootstrap);
The Abiquo approach
Software provisioning should be a simple process
Users should be able to provision and configure software when they need it
Each tenant should be able to configure custom software packages
Tenant management
Each tenant can configure the access to a custom Chef server
The tenant will be able to manage the cookbooks and recipes in the Chef server
Node configuration
The list of recipes available in the tenant’s Chef server is presented to the user
The user can select which recipes and roles will be applied to the node
Supports live configuration!
Resources
http://www.abiquo.com
http://www.opscode.com
http://www.jclouds.org
Follow us!
Me: https://twitter.com/IgnasiBarrera
Abiquo: https://twitter.com/abiquo
Abiquo Engineering: https://twitter.com/abiquolabs
Jclouds: https://twitter.com/jclouds
Thank you!