Systems management is one of those categories that doesn’t get the attention of senior management unless things break or budgets are exceeded. The world of software appliances has flourished over the last few years with the advent of services such as Amazon’s EC2 and automated appliance creation tools like Novell’s SUSE Studio. While the combination of easy creation and deployment make the process simpler, they don’t really address the issues faced by independent software vendors (ISVs), such as managing the complexities of a multi-tiered application with multiple library and version dependencies.
rBuilder takes the approach of determining all the dependencies of an application and then creating a “bill of materials”, down to the individual file level, to construct and deploy the system. This would include all system dependencies including applications on a Linux system such as a database server, mail server, Web server and any inherent language dependencies such as Perl, PHP or Python.
Automated virtual appliance development
Creating a virtual appliance is a lot like building a software application. rBuilder treats the process of building an appliance in much the same way that you would build a complex application, (see figure 1) using tight version control to track every moving part. It also automates the actual build process including a testing phase.
One of the key steps during the build process is an examination of all RPMs that are a part of the build to determine dependencies. A clean-room build environment and robust build tool is used to create the finished image. Each build process also executes a pre-defined set of policies to set the proper file execution and ownership and to check for links to any proprietary code.
A benefit of using a software development approach is the ability to target multiple platforms. rPath currently supports these virtualization environments: VMware, Xen, KVM, and Hyper-V. For cloud-based deployments they support Amazon’s EC2, BlueLock, Globus, GoGrid and Rackspace. rBuilder completely automates the build process of constructing an application appliance, down to creating an ISO or VHD file.
Measured systems updates
Another advantage to the rPath system is the close management of the application update process. This could be a software update or a security patch to one of the underlying dependencies such as Apache. For this, rPath actually works in conjunction with Red Hat’s Satellite Network. The unique feature is that rPath’s determines exactly which updates will be applied and what operational applications they might affect. This is where rPath’s systems approach becomes vitally important. Using the same approach in the update and patching process as they use in the initial build and deployment phase makes it possible to fully understand what will happen when the updates are applied. Note: rPath doesn’t require RHN Satellite, and doesn’t deploy software via RHN Satellite.
While rPath relies heavily on open source tools for much of their infrastructure, they have also developed some of their own. Conary is rPath’s tool that performs the equivalent of version control and package management. It works in conjunction with rBuild and rMake to fully automate the process of building, creating, updating and delivering an application appliance.
rPath recently ran a marketing campaign called “Satellite Swap Out” trying to entice Red Hat Satellite customers to switch over to their product. The target for this promotion is primarily customers with either a large number of custom application appliances or lots of virtual machines. It would not be a very good fit for an enterprise customer with lots of standard Red Hat servers and/or desktops. These types of systems would not be adversely affected with standard security updates and patches as might a custom application server.
When compared to Red Hat Satellite Network rPath really provides much more functionality and control over the patching/updating process specifically related to virtual machines and/or application appliances. It also brings a whole different level of granular control to how the patching and updating process works from start to finish. This is physically implemented using specific policies for dictating which pieces of an appliance receive patches and which ones will be left alone. rPath provides both a Web-based tool for configuring these policies and a command line interface to allow integration with existing tools.
Both BMC Blade Logic and HP Server Automation tools are high-end data center management automation tools targeted at managing large numbers of servers both physical and virtual. Both products include features to manage a wide range of devices from switches and routers to network attached storage. The key to these types of products is a centralized control feature capable of managing virtually everything inside a data center.
Bottom line is these are probably overkill for most SME's.
While rPath’s rBuilder may resemble other appliance construction tools such as SUSE Studio, it does much more. The deep understanding of every dependency built through inspection of every part of the application is totally unique to the rPath product. The Web-based management console provides an additional capability to physically deploy the appliances to any number of different target environments.
rPath’s annual subscription is based on the number of system instances, but with volume discounting, currently that pricing can be $20 instance/year.
ABOUT THE AUTHOR: Paul Ferrill has a BS and MS in electrical engineering and has been writing about computers for over twenty years. He's had articles published in PC Magazine, PC Computing, InfoWorld, Computer World, Network World, Network Computing, Federal Computer Week, Information Week, and multiple Web sites.
This was first published in July 2010