Today we announced the availability of the Skytap Automation Pack for Rational Team Concert. The Skytap Automation Pack has passed the Ready for Rational validation requirements providing assurance that the Skytap Automation Pack is engineered to fit smoothly into Rational Team Concert environments.
This integration between Skytap Cloud and Rational Team Concert enables IT operations and development teams to rapidly provision Rational Team Concert build machines on demand in Skytap Cloud and make use of scalable, elastic, on-demand cloud resources to meet fluctuating and unpredictable demand for build machine capacity. Because build machines are provisioned on-demand in Skytap Cloud, there is no need for capital and labor expenditures required to buy, monitor, and maintain physical hardware. Additionally, the virtual machines that are provisioned on demand using the Skytap Automation Pack can also be configured to shut down automatically so organizations only pay for the virtual machine build resources that they use.
Beyond on-demand scaling of build resources, the Skytap Automation Pack enables projects to pre-configure and control the machines used for their project builds to ensure that the correct environment is always being used for product development.
The diagram above provides an illustration of a typical scenario for a continuous integration workflow using Skytap Cloud for auto-scaling and integration of build machine environments with an on-premise deployment of Rational Team Concert.
Skytap Automation Pack for Rational Team Concert Roles
The Skytap Automation pack is software that installs in a Rational Team Concert environment to continuously monitor selected build request queues for incoming build requests. These incoming Rational Team Concert build requests then trigger an automated process that creates complete build environments in Skytap Cloud based on pre-defined customer templates. When the build environments have finished with the requested builds, they shut themselves down and they are deleted.
Connectivity between the on-premise Rational Team Concert infrastructure and Skytap Cloud is achieved via a secure VPN connection over IPsec, which is dynamically created using Skytap’s AutoNetworks software defined networking technology.
As illustrated below there are four roles active roles in the Skytap Automation Pack for Rational Team Concert.
The operation of each of these roles is as follows:
1. Rational Team Concert Server – The Rational Team Concert server is available from IBM and serves as the database repository for your controlled objects and work items.
2. Rational Team Concert Client – The Rational Team Concert client is available from IBM and provides the user interface for IBM Rational Team Concert. The IBM Rational Team Concert client allows users to request builds specified in project build definitions.
3. Skytap Build Engine – The Skytap Build Engine, available from Skytap, is a process that, once materialized in Skytap Cloud, monitors specified Rational Team Concert build queues.
At configurable intervals, the Skytap Build Engine loops through a list of configured Rational Team Concert build queues looking for build requests to execute. If a candidate build request is found, the Skytap Build Engine claims that build result and launches the Rational Team Concert Build Engine process to execute the build. If no build requests are found, the Skytap Build Engine waits for a configured amount of time and then checks again for build requests. After the configured number of intervals where no build request candidate is identified, the Skytap Build Engine will shut down and optionally shut the machine down.
The Skytap Build Engine is implemented as a wrapper around the IBM Rational Team Concert Build Engine and is installed into a virtual machine in the Skytap Cloud. In addition to having the Skytap Build Engine installed, this virtual machine should also be configured appropriately to execute the desired type of build.
4. Skytap Build Queue Watcher – The Skytap Build Queue Watcher, available from Skytap, is a utility that monitors Rational Team Concert build queues and interacts with the Skytap Cloud API to dynamically instantiate and start Skytap Build Engines when it detects build requests collecting in those build queues.
At configurable intervals, the Skytap Queue Watcher enumerates all of its configured build rules. For each configured set of build rules, the Skytap Queue Watcher loops through the Rational Team Concert build definition queues defined in that build rule, and if the configured threshold number of build requests has been reached or exceeded, the Skytap Queue Watcher uses the Skytap Cloud API to instantiate and start one or more Skytap Build Engine configurations in the Skytap Cloud to handle those builds. The Skytap Queue Watcher process monitors the Skytap Build Engines it has instantiated and when a Skytap Build Engine shuts down, the Skytap Queue Watcher interacts with the Skytap API to delete that Build Engine configuration.
A Typical Use Case
Typically, the demand for build resources in a Rational Team Concert environment can be sporadic and unpredictable. There may be long periods when there are no requests for builds. During these down times, provisioned build servers are idle, resulting in waste of costly resources. Conversely, when build requests come in there may be so many that the existing build servers are over-utilized resulting in delayed builds. In the following scenario, we can see how use of the Skytap Automation Pack for Rational Team Concert can help ameliorate this problem.
Below, we see a Rational Team Concert build queue that has several pending builds in it because existing build servers can’t keep up.
When the Skytap Automation Pack for Rational Team Concert is being used, these pending build requests trigger an automated process that creates new build servers in Skytap Cloud to service these build requests.
The screen shot below shows the output of a Skytap Build Queue Watcher that has been configured to provide verbose status messages so that we can see what it is doing:
We can see in the highlighted area that the Skytap Queue Watcher first detected a single build request in the build queue and created a build server to service it. By the time the first build server was ready, an additional seven build requests had stacked up in the build queue, so the Skytap Queue Watcher is creating an additional build server to service the pending builds.
Below, we see that the two build servers have registered themselves with Rational Team Concert as Build Engines and are beginning to service the pending build requests:
We can also see these build servers in the Skytap Cloud dashboard:
Finally, when the build servers have finished with all the pending build requests, they shut themselves down. The Skytap Queue Watcher detects that they are no longer running and deletes them, as we see below:
Again, we see this reflected in the Skytap Cloud dashboard:
This is also reflected in the Rational Team Concert client where the previously registered build engines no longer exist:
We can also see that, because the Skytap Automation Pack for Rational Team Concert is engineered to fit seamlessly into the Rational Team Concert environment, the builds that were executed are first-class Rational Team Concert builds with all the data and properties you would expect of a Rational Team Concert build.
We’ve seen the operation of the Skytap Automation Pack for Rational Team Concert to dynamically provision Rational Team build engines based on real, measured demand. We’ve also seen that these auto-provisioned build engines only exist for as long as they are needed so they don’t waste valuable energy or administrative resources. Further, use of build engines stored in Skytap Cloud provides assurance to IT and development organizations that the machines used for product builds are complete and sufficient, containing exactly what is required and only what is required to create correct, reliable, reproducible builds of their software products.
Feel free to get in touch if you’d like more information about Skytap or the Skytap Automation Pack for Rational Team Concert.