Politics in the Cloud

November 22, 2012 | 3:05 pm

When implementing cloud services, various technology barriers can crop up such as services taking up to a week to provision or lock-in to a specific vendor’s infrastructure which can be costly. Here at Abiquo we’ve worked hard to ensure we overcome this.

(more…)

Published by: Ian Finlay

Abiquo grows a Mo

November 19, 2012 | 4:52 am

Here at Abiquo towers, the team has decided to take part in ‘Movember’ 2012, the annual charity that creates awareness and raises funds for men’s health. We started clean shaven on November 1st and by now we’re all sporting questionable moustaches.

So far growth has varied throughout the team with some members (including myself) proudly displaying fully fledged ‘Mo’s’ and others trying their best to sprout some stubble (but at least they’re taking part!).

We will be posting weekly updates on Twitter and you can see photo updates of our efforts on our Facebook page.

Published by: Ian Finlay

Infographic – Delivering on the Cloud promise

November 16, 2012 | 5:01 pm

London – November 16, 2012  A few weeks ago now the Abiquo team took time to visit the VMworld Europe 2012 event in Barcelona.  We’ve put together an infographic of the results which we wanted to share with you. (more…)

Published by: Ian Finlay

Cooking your own configuration in the cloud

November 12, 2012 | 9:29 am

Although configuration is one of the most important aspects of cloud deployment, it is often neglected. There are several automation tools and platforms available, such as Opscode Chef or Puppet, but a minimal infrastructure is usually required to be able to use them. They are really good at automating configuration in large environments, but this is not always the use case in the cloud.

People want to create services in the cloud quickly and easily, without having to worry about infrastructure apart from the services that they are deploying. So how could service configuration be automated? SSH or command-line scripts are often very complex to build and maintain, and making them work on multiple operating systems can be painful. How could this be resolved quickly and easily? The answer is to team up Jclouds and Chef Solo. They’re a perfect match!

Cool features of Chef Solo:

  • Run cookbooks on your nodes without a Chef Server.
  • Many cookbooks are available, compatible with most common operating systems.
  • Configure roles and data bags.
  • Schedule Chef runs to keep your node up to date.

Ok, this sounds great, so let’s get into the code!

Cooking a basic web server

This first basic example will install an Apache2 web server on a node. It will download a tarball with all the cookbook definitions and install the Apache2 recipe on the deployed node.

// Create the connection to the cloud provider
ComputeServiceContext computeContext = ContextBuilder.newBuilder("<provider>") 
    .endpoint("<provider endpoint>")
    .credentials("<identity>", "<credential>")
    .modules(ImmutableSet.<Module> of(new SshjSshClientModule()))
    .buildView(ComputeServiceContext.class);
ComputeService compute = computeContext.getComputeService();

// Build the Chef Solo script that will download the cookbook definitions
// and install the selected recipes
Statement bootstrap = ChefSolo.builder().
    .cookbooksArchiveLocation("http://foo/bar/cookbooks.tar.gz")
    .runlist(RunList.builder().recipe("apache2").build())
    .build();

// Select the template to be deployed
Template template = compute.templateBuilder()
    .imageNameMatches("Ubuntu.*")
    .options(runScript(bootstrap))
    .build();

// Deploy the node and bootstrap it using Chef Solo!
compute.createNodesInGroup(group, 1, template)

Have you noticed that there are only 5 lines of code? That’s how easy it is to bootstrap nodes with jclouds and Chef Solo!

Playing with roles and data bags

Chef Solo also lets you define roles and data bags on the fly, to provide more flexibility to your configuration. This example will show how a role can be created and used to customize the Apache2 installation.

Role role = Role.builder()
    .name("webserver")
    .description("Web server with apache and SSL")
    .jsonDefaultAttributes("{"apache": {"listen_ports":["8888"]}}")
    .runlist(RunList.builder().recipe("apache2").build())
    .build();

Statement bootstrap = ChefSolo.builder().
    .defineRole(role)
    .cookbooksArchiveLocation("http://foo/bar/cookbooks.tar.gz")
    .runlist(RunList.builder().role("webserver").build())
    .build();

That’s it! With just these two lines you can create a role to set up the default configuration for your web server deployment.

Automating maintenance

In the examples I’ve used the cookbooksArchiveLocation to download a cookbook archive. This could also be a local file system path if you are able to upload the cookbooks to the node (for example, using the jclouds SshClient).

Instead of downloading or uploading a cookbook archive to the node, another common use case is to clone a git repository with all the cookbooks and set up a cron job to keep it up to date. Then the Chef Solo statement can be configured to run periodically, and this way the node will always be up to date with the latest version of the cookbooks.

// Clone all community cookbooks in the '/var/chef' directory
Statement cloneCookbooks = CloneGitRepo.builder() //
    .repository("git://github.com/opscode/cookbooks.git") //
    .directory("/var/chef") //
    .build();

// Configure Chef Solo to read the cookbooks from there
Statement chefSolo = ChefSolo.builder().
    .cookbookPath("/var/chef/cookbooks")
    .runlist(RunList.builder().recipe("apache2").build())
    .build();

// Build a boostrap statement that installs Git, clones the cookbooks and
// runs Chef Solo
StatementList bootstrap = new StatementList(
    new InstallGit(), cloneCookbooks, chefSolo);

As you’ve seen here, bringing configuration management to the cloud is easy with jclouds and Chef Solo. There is no need to build complex infrastructures or deployments. Just start cooking your own stuff!

Published by: Ignasi Barrera

We are the (cloud) champions

November 8, 2012 | 2:30 am

Abiquo has been named as a cloud computing champion in a recent assessment of the top global cloud management services by Info-Tech. Info-Tech is an independent global leader in providing IT research and advice on the best IT solutions out there.  Abiquo was credited in the top tier category of ‘champion’ as a leading vendor with a leading product, above Eucalyptus, CA Technologies and OpenStack out of the top nine cloud management solutions analysed.

To determine how strong the cloud management service is, both product and vendor offerings were analysed against set criteria. The cloud product was assessed Info-Tech highlighted three core areas of Abiquo’s platform which make it so strong and unique compared to other platforms.against its features, usability, affordability and architecture. Vendors were weighed against four factors, the first being their viability, which looked at how profitable, knowledgeable and long-term they are. The second was the vendor’s strategy; how committed are they to the space and if they have a future product. The third was the vendors reach; how much support they are able to offer customers post sale and if it is worldwide.  Finally, vendors were assessed on their channel strategy and the channel’s strength.  Abiquo scored highly in both product and vendor categories with 87% of their offering being above sufficient requirements and 47% being exemplary.

Our support for multiple hypervisors, providing our customers with flexibility and avoiding vendor lock-in was noted as being a champion area as many are yet to provide this as an option. In addition, our extensive and fully-integrated self service capabilities, with stand out “show-forward pricing” enabling customers to see what resources will cost before they are provisioned, was noted as being a strong point.

For more information on the Info-Tech report please click here

Published by: Ian Finlay