Share

Industrialising template creation in Hybrid Clouds

Written by Nik Tetteh-Lartey - 06 february 2014

The Why and the How

Hybrid Cloud, yes, we understand the business value propositions, or, at least, we think we do. We see the advantages of using an IaaS platform for template modelling, generation and image publication and furthermore we really appreciate these advantages compared to "how we did it" in the good old bad days. So with this safely all taken onboard, how do we actually get started on automating all this wonderful technology for a flourishing and often changing hybrid cloud environment?

This question may be more simple to answer than we may first imagine, so let us explain why? Since, the UForge Platform permits us to seamlessly execute all the various steps we can perform "manually" using a powerful UI, by giving us the additional flexibility, strength and option, to switch into an "automation" or "industrialisation" mode, using standard RESTful web services methods or by just writing code, for direct access to the backend services, using a Java API SDK.

At the workshop

Using theJava API SDK code taken from the samples provided on ourwebsite. We can very quickly "build and run" the java module CreateWindowsAppliance.java in a NetBeans IDE, for example. What happens in this module is roughly algorithmically equivalent to what we demonstrated in our previousblog, where we used the UI to do all the "hard work", but now let's use theJava API SDK, which will empower us further, by subsequently allowing us to incorporate complex or simple processes into any semi or fully automatic or industrialised production methodology we care to choose. Even transforming such automated processes into fully RESTful procedures, should be easily feasible, if needs be. Obviously, development proceeds in iterative cycles, so this will ultimately "cut down" drastically on defect evolutions, which can be spuriously introduced by manual template production and manipulation processes.

Once the appliance creation is completed, we can use another code module, to take the appliance template, generate and then publish the image to any of the many (Hybrid) Cloud infrastructures supported by the UForge Platform. For this demonstration, we will use a "QCOW2" format to be published on CloudStack infrastructure. But this could easily have been any one, of the many other cloud format offerings, we support in our comprehensive coverage of cloud connectors (e.g. AMI, Flexiant, OpenStack, Windows Azure and Abiquo, to name a few).

The PublishCloudstack.java module will generate the appliance image and publish it to our CloudStack (hybrid) cloud using the provided API access and keys. Once successfully published, we can access the cloud management console and launch our image on a compute node and finally access our running instance using the provided console, that's all there is to it!

The Hybrid Cloud challenge

We have to note, that in any real Hybrid Cloud environment we will have many different services. We can envisage; launched and running image templates, providing their services on many different cloud infrastructures, most likely deployed from an IaaS platform, using differing connectors and or supporting multiple and different image formats. Such diverse cloud ecosystems may lead to hugely challenging situations, which would need highly adaptable, agile and flexible solutions to succeed well in. Management of these Hybrid Cloud systems would be well suited to the rich functionality provided in the UForge Platform, which can easily aide, in adapting any cloud service, on any cloud, in a world of very rapid changes by making the change process, as simple as regenerating and publishing images, from existing appliance templates to any new cloud environment in a few automatable steps.