Personal tools
     DOCUMENTATION

Appliance Development:The Software Appliance Concept

From rPath Wiki

Jump to: navigation, search
Image:Rpath-color-16x16-1bitalpha.png  APPLIANCE DEVELOPMENT

A software appliance is software application and its supporting software packaged with just enough of an operating system to run that software on industry standard hardware (typically server hardware) or as a virtual machine in one of several commercial hypervisors (such as VMware ESX Server).

The following are some of the goals when building a software appliance, including a brief description of how each is addressed during the appliance development process:

Reduce research and development overhead
Appliance developers can focus on compatibility with a single operating system rather than ensuring a software application is installable on multiple general-purpose operating systems. Appliance developers should obtain a copy of the operating system on which the appliance is based and modify that single operating system to fit the needs of the application.
Improve the deployment process
Appliance developers can reduce the time and effort needed to deploy an application by automating most of that process during appliance installation. Developers should automate deployment as much as possible and prompt users only for as much unique information as the application requires (such as initial user credentials or license information).
Ease maintenance tasks
Appliance developers can include the rPath Appliance Platform Agent on an appliance for web-based administration, and they can customize its interface with functions and branding appropriate to the product. Developers should ensure that administrators need minimal understanding of the underlying operating system in order to deploy, configure, and maintain the appliance.
Reduce the total cost of ownership
Appliance developers should ensure the the support overhead for the appliance is minimized. Legacy appliance installations on general-purpose operating systems have more variations between deployments and are prone to a wider variety of support needs. In contrast, appliance deployments are not prone to the same variations, reducing the support needs for the application itself. Appliance developers should be able to test and release updates to an appliance while assuring that a customer's support needs are minimal during and after each update.
Image:Bulbgraph.png   The rPath corporate site offers some business and marketing descriptions of the software appliance concept which are excellent resources when developing marketing messages to accompany your appliance product.


<< PREVIOUS: Conary and rPath Concepts NEXT: Appliance Development Main Page >>