Since CloudStack entered incubation at the Apache Software Foundation, there has been lots of work in integrating existing software solutions with Apache CloudStack (ACS). On the networking side we have seen integration with Nicira, BigSwitch BVS, VMWare dvSwitch, Midokura Midonet. On the storage side we have seen integration with Ceph, Riak CS, Caringo and more recently Solidfire. All of these integrations are either already present in the 4.0 release, set for 4.1 at the end of March or in the works for the 4.2 release this summer. Most of these integration efforts need some tight integration with the CloudStack code, developing plugins, writing new classes, potentially defining new orchestration steps, and adding UI interaction. In this post, I want to introduce an integration with Proactive from a french company called Activeeon (@activeeon). They treated ACS as a black box and integrated with it using the default exposed API. A very powerful mechanism to integrate existing solutions and enterprise workflows with a private or public cloud.
Activeeon is a company that originated from an INRIA research lab (INRIA is the leading computer research organization in French , and a CloudStack user in their continuous integration department). One of their solutions, Proactive is an open source software available at the OW2 consortium. Proactive is an advanced workflow manager that combines a powerful IDE, a workflow engine and a resource manager. It aims to take complex computational workflows and ease their execution on distributed resources, such as HPC cluster, desktop grids and clouds. Existing applications using Proactive are from a diverse set of industries such as the financial, biological and automotive industries. Integrating with Clouds allows ProActive to dynamically provision resources to execute a workflow based on a set of pre-defined policies and constraints that are up to the user. Activeeon had developed a Amazon EC2 resource plugin and it made complete sense to integrate with Apache CloudStack either through the EC2 mapping and even directly via the ACS native API. Below I embed slides from Brian Amedro (@brianamedro) describing the integration, as well as a video demoing it live.
Practically speaking, how did the integration happen ? According to @brianamedro it took 1 person five days. They used the ACS sandbox DevCloud to stand up a live ACS cloud. They modified the template used in DevCloud to make it a Proactive nodesource template. To call the API they used an existing library which even though it was created for older CloudStack release still worked with ACS 4.0. The resulting java code was open sourced on the OW2 repository. Looking ahead, Activeeon wants to test the scalability of the CloudStack connector on thousand nodes cloud and add a stronger integration especially in terms of identity management and auto-scaling.
What their work showed me is that out of the box integration of existing middleware systems with CloudStack is quite straightforward. The rich ACS API opens the door for very powerful couplings and a very extensive CloudStack ecosystem. To top it off, I really appreciated that they developed straight up in Open source mode and that their work is available on the OW2 consortium forge.