Everybody is talking about agile infrastructures, continuous integration and especially Cloud Computing.
Since the common adaptation of virtualization and the need to standardise and automate Datacenter Management everybody is now trying to find out how to benefit from the Cloud Computing hype for their own companies. This presentation explains how Cloud Computing changes business flows and how it gets integrated in existing IT environments.
It especially focuses on managing agile infrastructures and sustainable Datacenters based on an example use case of a private openQRM Cloud.
Continuous integration is a new method for software development to improve the quality of software, and reduce time to deliver it. Its main concept is to apply quality control measures as a continuous process.
This involves a closer teamwork and tight communication channels between production, development and QA departments using "Just-in-Time" (JiT) production methods like Kanban or Scrum.
One recommendation of the Continuous Integration method is to test in a clone of the production environment.
The openQRM Cloud provides the capability to easily exchange snapshots of development, QA, or even production servers at runtime without affecting the original service. This means e.g. a development team and the QA department can deploy a 1-to-1 copy of the production environment as their test-bed and even exchange snapshots of specific servers for sanity checks at any time. Unlike many other Cloud Products, openQRM is not only capable to rapidly deploy virtual machines but it also automatically deploys and manages physical servers via its Cloud Portal.
All mainstream virtualization technologies, such as Xen, KVM, VMware and Citrix XenServer, are supported by openQRM and even migration between physical and virtual machines is seamless.
Another recommendation is to automate build and deployment. Automated build-pipelines are a great tool to make software development hassle-free. Build-pipelines consist of a mechanism which triggers a re-build and test cycle of the complete product as soon as changes are committed to the mainline by the developers. After the product is re-built, it then triggers an automated deployment system to re-install the QA environment. Having the QA always equipped with the latest product tremendously decreases the time between "finding" and "fixing" bugs. The performance of the test-bed is actually proportional to the quality and robustness of the developed software.
An example of those build-pipelines is the openQRM package build-system. An openQRM-managed private Cloud is used to automatically initiate a re-build of the complete software product when updates are commited to the central subversion code repository. After the rebuild has finished, a complete openQRM environment is updated automatically from the latest build results for our QA team.
For infinite scalability openQRM also includes support for "hybrid Cloud Computing" by providing an Amazon EC2 connector via its new "AWS plugin". This plugin integrates public Cloud Providers and allows to seamlessly migrate systems from openQRM to e.g. Amazon, Eucalyptus or UEC and also to import system images (AMI's) from those external Clouds into openQRM. This ensures the capability to outsource capacities in case of increasing resource requirements at any time.
For Continuous Integration this means that nobody needs to wait for requested systems any more even if own (local) servers or virtual machines are rare.
Matthias Rechenburg is project manager of the openQRM project and CEO of openQRM Enterprise.
Since many years he is involved in all kinds of Datacenter-related Open Source projects like high-performance and high-availability clustering, consolidation, network and enterprise storage management. His most serious interests are the different Virtualization technologies, their features and capabilities and integration by a unified Virtualization layer.
Matthias lives in Bonn, Germany, enjoys to code in his home-lab but also likes traveling, meeting other Linux-people and joining all kinds of Linux-related events and congresses.