cooking the cloud
DESCRIPTION
TRANSCRIPT
![Page 1: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/1.jpg)
Cooking the cloud
Managing configuration with Chef, and
How Abiquo uses it to provision nodes
Ignasi Barrera
Senior Software Engineer
![Page 2: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/2.jpg)
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
![Page 3: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/3.jpg)
Configuration management
Centralization of the configuration
Automation in large infrastructures
Ease of maintenance
Automatic provisioning
![Page 4: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/4.jpg)
How does it look like in Chef
Cookbooks Recipes
Ruby scripts Templates Configuration attributes
Nodes Maintain the configuration of each node
Databags
![Page 5: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/5.jpg)
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)
![Page 6: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/6.jpg)
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);
![Page 7: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/7.jpg)
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
![Page 8: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/8.jpg)
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
![Page 9: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/9.jpg)
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!
![Page 10: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/10.jpg)
Resources
http://www.abiquo.com
http://www.opscode.com
http://www.jclouds.org
![Page 11: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/11.jpg)
Follow us!
Me: https://twitter.com/IgnasiBarrera
Abiquo: https://twitter.com/abiquo
Abiquo Engineering: https://twitter.com/abiquolabs
Jclouds: https://twitter.com/jclouds
![Page 12: Cooking the cloud](https://reader035.vdocuments.net/reader035/viewer/2022081413/545ca138b1af9f3c0a8b47f8/html5/thumbnails/12.jpg)
Thank you!