CloudStack Software Engineering

ShapeBlue offers software engineering and software development services to develop features & integration for Apache CloudStack. Our software engineering team is heavily focused on CloudStack and  has numerous CloudStack project contributors and committers, who work directly on the  ongoing development of the technology. ShapeBlue is one of the top  contributors to the CloudStack project.

Rapid development of new features for public cloud providers.

We are able to develop features outside of the release cycle of CloudStack or commercial distributions of CloudStack

New integration of vendor technologies into CloudStack

Many vendors seek to leverage CloudStack’s large install base as a route to market for their products. Working either for the vendor or a common end-user customer, we can help plan and develop these integration points.

Re-engineering and refactoring of core code modules to enable integration points

Sometimes the core code of Apache Cloudstack does not easily allow specific integration to be easily achieved. In these cases, we are often able to re-factor and improve core modules to allow the integration to be performed.

Back-porting of specific features or patches into older versions of CloudStack

Often our customers production environments are under strict change control so they do not wish to install newer versions of Cloudstack in an ad-hoc way. However, they may have urgent business needs to have a new feature available. In these cases, we can back port new features on request to older version of CloudStack

Customer specific pre-release testing

We see CloudStack deployed in a near infinite number of network and storage environments. Our pre-release testing ensures that new version of CloudStack are fully tested in your specific environment. We perform this testing during the development phase of a new version of CloudStack ensuring that customer-specific issues are identified early.

Training and Consulting for development teams

For organisations wishing to write their own functionality or integration to CloudStack, we will work with your architects to create a suitable design and then train & mentor your in-house software development team.

Our CloudStack Software Engineering process

ShapeBlue has a defined process for CloudStack feature development. This process ensures that we delivery quality features to agreed budget and timeframe and it also maximises the chance that the feature will be accepted into the master branch of Apache CloudStack so it is available in future releases.

Initial scope

We will scope the requirements initially at a high level to create a summary budget and implementation timeframe.

Design & specification

We use a workshop process to capture detailed requirements, and create a detailed Design Specification. We use this specification to create a detailed test plan, implementation and project plans.

In parallel, we will create a proposal to the CloudStack community. This ensures that the feature is accepted into the master branch of CloudStack.

Develop

Our developers will work to build the feature in accordance with the Specification.

Test & acceptance

Code and unit tests will be performed during the development phase. However, we will run a formal set of Acceptance tests in order to prove that the functionality meets specification. Optionally, we can run acceptance testing in your own test or pre-production environment.

Donate to Apache CloudStack

We work primarily within the Apache opensource community and are in the top 10 contributing organisations to this project. We encourage our customers to allow us to contribute all work back to the Apache CloudStack opensource project, which gives the advantage of the work being maintained by the community as a whole and accommodated into future releases. However, we acknowledge that customers may wish to keep some work proprietary for competitive or business reasons.

Our software engineering work is actually performed “within” the community. However, we have to ensure that any features are accepted into future releases. We do this though communicating our work into the community, answering any concerns that others may have and, occasionally, modifying functionality to ensure it works well downstream.

Ongoing support

Once code has been accepted into CloudStack, we support that work through our CloudStack Infrastructure Support service. Customers must have our product patching service.