This document is intended to help organizations decide whether an appliance or a traditional server is an appropriate platform for hosting enterprise software applications. It is organized as follows:
A growing number of vendors are offering what would otherwise be software-only solutions in the form of dedicated appliances. Appliances may be physical, incorporating both hardware and software, or virtual, in the form of a pre-configured virtual machine with all required software, from the operating system up, pre-installed and configured.
In this section, terms and concepts relevant to appliances are introduced, so that the subsequent discussion can be more clear.
This document is concerned specifically with "enterprise software applications." That is, applications which:
At issue is whether it is preferable to host such applications on appliances or traditional servers, as defined below.
A traditional server consists of several components, possibly from different vendors, which are assembled into a unit at deployment time:
Servers are increasingly virtualized. This means that the OS image runs on a VM rather than directly on hardware. The VM runs on a hypervisor, which may be a part of a larger virtualization platform -- i.e., a private or public cloud.
Organizations typically run many servers, sometimes hosting multiple applications on each one.
An appliance server is one where all of the required functional components, including those identified in (_label_trad-server), plus the application software itself, are integrated and configured into a unit and purchased from a single vendor.
Appliances may be physical -- literally a device shipped from the vendor to the customer and installed on the customer's network.
Increasingly, appliances are virtual, including all the required components except the hardware in a single VM image, suitable for deployment on an existing customer hypervisor platform.
Users connect to applications from a client device. This may be a desktop or laptop PC, a telephone or smart phone, a tablet, etc.
Most modern applications present a web user interface. In this case, the user's device runs a web browser, which renders the UI.