Many Clouds, One API

Outlook

Apache Deltacloud is continually being developed by an active community of programmers. A major aspect of development is compatibility with cloud-oriented storage systems such as S3 and Cloudfiles. A further priority is the creation of new drivers, particularly for vCloud, Red Hat Enterprise Virtualization Manager (RHEV-M), and Google Storage. These extensions are designed to be fully backward compatible, allowing older clients to communicate flawlessly with newer servers. Such API stability comprises not only the parameters of the HTTP requests and the XML format of the responses, but also data, such as error codes and messages reported by the API.

Figure 4. Cloud Engine and the Deltacloud API: Red Hat’s Cloud Engine is used for implementing and operating private clouds that communicate with public clouds. All incoming and outgoing communications are handled via the Deltacloud API. (Source: Red Hat)

Deltacloud currently is being used in several major projects, including Red Hat’s Cloud Engine, SteamCannon, and Eclipse. The goal of Cloud Engine is to implement an open source cloud broker (Figures 4 and 5). The Deltacloud API is used here to facilitate views on the virtual clouds of each user, as well as for communication with the clouds themselves. SteamCannon creates tools for operating user-specific Platform-as-a-Service (PaaS) clouds for Java and Ruby applications. The Eclipse project is used to develop plugins that aid the management of virtual machines in clouds from within Eclipse, enabling developers to implement even complex application scenarios and architectures with a few simple mouse clicks.

Figure 5. Red Hat’s cloud architecture makes it possible to integrate extremely different virtual systems and public clouds and to administer them together. (Source: Red Hat)

Installing Deltacloud

To install the Deltacloud server, use one of two methods. On Fedora and related Linux distributions, Deltacloud is available as RPMs and can be installed with a simple

yum install deltacloud-core-all

On other operating systems, you need to install Deltacloud as a Ruby gem with the command:

gem install deltacloud-core

The drawback of gem install  is that a C compiler must be present because some of the gems Deltacloud depends on need to be compiled.

After installation, the Deltacloud server can be started with

deltacloudd -i mock -r  HOSTNAME  -p  PORT

where HOSTNAME is the hostname or IP address on which the server should be listening. The Deltacloud RPM contains an init script to do this, which is configured by editing /etc/sysconfig/deltacloud-core , but for the sake of explanation, I’ll start the server directly. Under the covers, deltacloudd uses thin, which only supports HTTP, not HTTPS; to get secure connections to a Deltacloud, the server requires those connections to be proxied through another web server like Apache or nginx.

When starting the server, deltacloudd expects a default driver. In this example, I use the mock driver, which just pretends to be a cloud and is useful for testing. But any supported driver, like ec2 or rhevm can be specified here.

Related content

  • Red Hat's cloud and virtualization portfolio
    Red Hat massively expanded its cloud portfolio during 2012. This overview can help you evaluate Red Hat's products in the context of VMware and others.
  • Red Hat’s Cloud Tools

    Red Hat massively expanded its cloud portfolio during 2012. This overview can help you evaluate Red Hat’s products in the context of VMware and others.

  • Overview of cloud platforms and appliances
    The current trend toward cloud computing is obfuscated by a cloud of buzzwords and acronyms. Pushing the buzzwords aside, we take a look at the nitty gritty of the current crop of offerings.
  • ownCloud

    ownCloud is an alternative to the many online storage services whose data protection promises could turn out to be as nebulous as their offerings.

  • Moving HPC to the Cloud

    HPC has a unique set of requirements that might not fit into standard clouds. However, plenty of commercial options, including cloud-like services, provide the advantages of real HPC without the capital expense of buying hardware.

comments powered by Disqus