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:
- Definitions: defining relevant concepts and terminology.
- Types of Appliances: differentiating between different types of appliances and what they are used for.
- Appliance Servers -- Benefits: an overview of the advantages of hosting software on an appliance.
- Appliance Servers -- Drawbacks: an overview of the drawbacks of hosting software on an appliance.
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:
- Run on one or more servers, with at least options for data replication and either load balancing or a hot standby system for high availability.
- Provide a service to many users, possibly distributed across multiple locations.
- Must be scalable and reliable, because many users would be adversely impacted by loss of access to the application.
- Must be secure, because compromise of the system in question would have serious impact on the organization.
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:
- Hardware -- typicall X86-style servers -- from vendors such as Lenovo, HP or Dell.
- An operating system, such as Windows or Linux.
- Possibly a web server, such as IIS or Apache.
- Possibly a database server, such as Oracle Database, Microsoft SQL Server or MySQL.
- Possibly other components, such as a J2EE application server, SharePoint or a .NET framework.
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.