Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cooking the cloud

Cooking the cloud

Managing configuration with Chef, and how Abiquo uses it to provision nodes

Ignasi Barrera

February 04, 2013
Tweet

More Decks by Ignasi Barrera

Other Decks in Programming

Transcript

  1. Cooking the cloud Managing configuration with Chef, and How Abiquo

    uses it to provision nodes Ignasi Barrera Senior Software Engineer
  2. 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
  3. Configuration management ¤  Centralization of the configuration ¤  Automation in

    large infrastructures ¤  Ease of maintenance ¤  Automatic provisioning
  4. How does it look like in Chef ¤  Cookbooks ¤ 

    Recipes ¤  Ruby scripts ¤  Templates ¤  Configuration attributes ¤  Nodes ¤  Maintain the configuration of each node ¤  Databags
  5. 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)
  6. The Chef service ¤  Stores bootstrap configuration The configuration is

    stored in the Chef Server and is accessible for jclouds and the nodes ¤  Generates the bootstrap script The script can be executed with the ComputeService updateBootstrapConfigForGroup(runlist, config, group); bootstrap = createBootstrapScriptForGroup(group); compute.runScriptOnNode(id, bootstrap);
  7. 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
  8. 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
  9. 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!
  10. Follow us! ¤  Me: https://twitter.com/IgnasiBarrera ¤  Abiquo: https://twitter.com/abiquo ¤  Abiquo

    Engineering: https://twitter.com/abiquolabs ¤  Jclouds: https://twitter.com/jclouds