System News
Project Live* [live-star] - Simplifying Software Distribution and Configuration
Bringing the Consumer Electronics Firmware Model to the Datacenter
January 19, 2009,
Volume 131, Issue 3

We don't need small incremental improvements to current processes; we need to re-think the way software is deployed.

-- Olaf Manczak
 

Inspired by the example of consumer electronic devices such as cell phones, wireless routers and plasma TVs, Sun's Project Live* [live-star] team, has been working on simplifying the distribution and configuration of software in the datacenter, attempting to bring to that process the simplicity of the built-in firmware that makes consumer electronic devices so easy to use. Live* technology distributes major software components as immutable disk images containing pre-installed, ready-to-run software that users can pick and click to create fully functional software appliances.

"The complexity of software installation and configuration is already a big problem for datacenter administrators, and it's going to get bigger if we can't find a better approach," said Olaf Manczak, Project Live* team leader. "The number of physical datacenter servers deployed is currently growing at a rate of about 15 percent per year, and with the increasing popularity of server virtualization the total number of installations is actually growing much faster than that. We don't need small incremental improvements to current processes; we need to re-think the way software is deployed."

Each of the already existing solutions for software distribution and configuration -- AdminStudio from Acresso (formerly Macrovision), Sun xVM OpsCenter, HP OpenView, or live CD distros -- has limitations that keep them from providing the utility Manczak envisions.

"The traditional model still leaves far too much burden on administrators and end users," Manczak said. "What we're trying to accomplish with Project Live* is to push the burden of software installation back to the factory—while still enabling users to easily customize their software appliance."

The immutable disk images (each containing such major software components as operating systems, databases and application servers) featured in Project Live* technology are similar to Lego blocks: users can assemble them as they will into exactly the configurations they require.

For example, someone wanting to run MySQL on OpenSolaris and to do backup and recovery with Zmanda Recovery Manager can find all of those components in their most current versions as disk images. Users would simply pick and click among those and other components to create the specific software appliance they want.

At boot time, Live* technology creates a virtual file system that dynamically combines the software from multiple images in a process that is entirely transparent to existing software, and the resulting content of the virtual file system is identical to the result of a traditional installation.

With Project Live*, systems can be upgraded simply by replacing entire images with updated versions of that image. Even better, through management systems such as Sun xVM Ops Center, this process can be automated so that multiple servers can be updated through a single command.

A unique feature of Live* technology that will surely find favor with users is the ability to virtualize the software (as a block-level snapshot) and handle both structured and unstructured data. This approach enables users to install the software they need while maintaining their personalization settings, even when upgrading or patching the software.

Project Live* borrows a technique from the Live CD approach called "file system unification," a technique that enables applications to see a combined file system that looks like a writable CD-ROM, but with this difference: There are actually two file systems - one that provides access to existing files on the CD, and another that handles all the modifications, such as writes, deletes, and renames. This technique allows a user to change/upgrade software dynamically by simply replacing the old image with the new one while the software appliance runs exactly as you want it to. Project Live* employs what is termed "personalization engines" or programmable infrastructure for generating configuration files. This is a capability not found in the Live CD approach.

These personalization engines have no knowledge up front of how to deal with the configuration files. Instead, the disk images have a set of "generators" that can be used to transcribe the personalization parameters — all the answers you normally give to software installers — into actual configuration files to create an in-memory empty file system using the personalization engine to apply all the generators and create actual configuration files that go in the empty memory file. The end result is something that looks like a single writable disk with all the software installed in the right place with all the configuration files already there.

"It's like genes in a DNA structure," says Manczak. "No one vendor has access to the full structure, but each vendor can extract needed parameters. At early boot time, the personalization engine goes through all the images needed to create a software appliance, identifies the generators and informs them. The output is the generation of configuration files, which go into the in-memory file system. So you end up with an immutable image with both software and personalization information. Now you can make changes to the structured or unstructured data and they're preserved."

One of the huge and obvious benefits of the Live* approach is that it becomes possible to do operating system updates quickly. Users need no longer install a patch or security update on every machine; just get the latest image, re-start the virtual machine, and everything runs correctly.

Combined with Xen or VMware hardware virtualization, Live* technology provides a one-click way to create robust, secure, and reproducible software appliances.

Sun Labs urges the development community to take a closer look at Live* technology and help expand its capabilities. The Project Live* team is making the core technology accessible to the open source community via GPL v2 licensing.

More Information

Download the Live* source code

Video: Project Live* - brief, funny demo

Project Live* home page [...read more...]

Keywords:

fullsource
 

Other articles in the Features section of Volume 131, Issue 3:

See all archived articles in the Features section.



News and Solutions for Users of Solaris, Java and Oracle's Sun hardware products
Just the news you need, none of what you don't – 42,000+ Members – 24,000+ Articles Published since 1998