Since its start in 2005, rPath has focused on bringing many of the details that define an enterprise software stack under tight, reliable management through the same version control facilities that developers use to keep their codebases in order.
The company’s latest offering, rPath X6, expands its ambitions with powerful configuration management capabilities and a spruced-up user interface that’s much improved compared with the version I last tested in 2009. Also much improved since I last reviewed this product is its range of supported deployment targets and the ease with which I could link up to those targets.
In my tests of rPath X6, I had no trouble assembling virtual appliances out of packages from the CentOS network repositories alongside software packages that I uploaded myself. Similarly easy was the process of building and deploying Amazon EC2 and VMware vSphere images.
However, I found the configuration management processes more difficult to master, and the product documentation for these tasks sparser than I’d have liked. The interface for X6 is a mostly point-and-click affair, but before you can point and click your way through configuration tasks, you must first break out a text editor to create and package configurator scripts to enable the GUI functions.
Also, I was confused by some of the changes that rPath has introduced between this and the last version I tested. For instance, in previous versions of the product, appliance management could be carried out through a Web-based console application on the virtual appliances, a management option that’s limited to rPath’s Linux flavor and unavailable on the mainstream Linux platforms that X6 supports.
All told, rPath is on the right track with X6, but the product would benefit greatly from documentation and interface improvements around its configuration capabilities-both of which, according to rPath, are in the works.
rPath X6 is licensed via annual subscription based on the number of system instances under management. Pricing starts at $50,000 per year. The company’s free, hosted version of its product, called rBuilder Online, has been discontinued.
rPath X6 in the Lab
rPath X6 in the Lab
I installed rPath X6 on a six-core Advanced Micro Devices Opteron 4000-series server in our lab and performed basic configuration of the X6 instance through rPath’s handy Web-based appliance administration console. I next configured CentOS 5.5 as a platform operating system and kicked off a process to sync packages from the nearby kernel.org CentOS mirror to my X6 instance.
I then configured a pair of targets for deploying my VMs (virtual machines) by providing the location of and credentials for our VMware vCenter server in the lab and for an Amazon EC2 account in the cloud. During my previous rPath review, configuring and using the VMware target took some trial and error, but this time around, the process was completely trouble-free. After setting up the VMware target, I could browse through the existing VMs associated with our test data center.
For my test appliance, I opted to re-create our WordPress-based blog server, and started by picking relevant CentOS packages to add to my appliance, such as Apache, PHP and MySQL. rPath X6 took care of the details of pulling in dependencies, including the Linux kernel and the constellation of other components that go into a typical server image. For the WordPress code itself, I created a package of my own by uploading the WordPress tarball into my X6 instance, providing basic metadata, such as name, version and a location to extract the archive.
I was able to carry out each of these platform, target and appliance operations through the product’s Flash-based Web interface, which, as with the VMware target support, performed much more smoothly this time around than it had during my 2009 tests.
It was in the next step of my tests, running through the new appliance configuration options, that I hit my first real snags. In previous versions of the rPath product, the Web admin console I used to manage the X6 instance itself was also available for managing individual appliances, and this new version still sports a “manage” link that points at the port 8003 location where this console lives. However, the rPath admin console is only available for rPath Linux-based appliances, and rPath Linux is no longer listed as a platform option in X6.
What’s more, the “configuration” tab for individual appliances reported that my appliance lacked any configurable elements. After scratching my head trying to figure out why the manage link wasn’t working with my CentOS-based appliance-in-progress, I got on the right track and set about creating configuration packages to handle operations such as turning the Apache server on or off by default, and modifying the port number at which the Web server listened.
Creating these configurations involved breaking out a text editor to create XML config property and handler files capable of swapping values entered in the X6 interface into particular configuration files on my deployed VM. Also, the configuration packages had to include scripts for performing operations such as restarting or shutting down services. Once created, these configuration packages worked just as the WordPress package did-I compressed them into tarballs and uploaded them with a directive to extract them to the root of my deployed VM.
I used an example package from rPath for configuring Apache to start up by default to create a handful of other configurations-including those for changing Apache’s document root and for starting up MySQL by default.
This built-in configuration system, called iconfig, is an open-source project licensed under the CPL, but I found scant information about it in rPath’s documentation. The software would be much easier to use with a community around it and with more sample packages. According to rPath, more example content is on the way, and a user interface for creating configurations is planned for a future version. Sites already using Chef, Puppet or Cfengine for configuration management should be in better shape than I was, as these systems may be used with rPath X6 in lieu of iconfig.
Deploying my WordPress instance to Amazon EC2 was a straightforward affair: Using the X6 Web interface, I created an EC2 AMI for my appliance and launched it on Amazon’s cloud just as I had with our vSphere installation. Managing and configuring EC2-deployed appliances, however, require additional setup, as an X6 server must be reachable by deployed appliances, either by hosting an X6 instance in a DMZ or by locating an instance at EC2.