Software Appliances
In concept, a software appliance is a tightly integrated package of enterprise application software and an operating system, designed to run on a standard industry platform. If the appliance is designed to run on a standard server, it is a software appliance; if it is designed to run on a hyper-visor, it is a special kind of software appliance called a virtual appliance. In implementation, a software appliance can function much like a black box, providing a business function to end users with the complexity hidden from view. The appliance is portable and easy to move, as long as it runs on the hardware or hyper-visor for which it is designed. In these ways, SaaS and software appliances are very similar. In many ways, though, software appliances offer benefits that SaaS alone cannot address. For example, software appliances are typically hosted onsite. The appliance can also be purpose built to meet the needs of a specific customer, solving the multi-tenancy challenges introduced by SaaS. Unlike SaaS, the appliance can handle updates on an individual appliance basis, enabling better timing of updates and rollbacks. Finally, appliances are easier to manage and more secure because they only contain the components of the OS that are required for a specific application. This reduces the footprint of the OS, the number of relevant attack vectors and the number of patches needed by the appliance.
Comparing to a Virtual Machine
The difference is that a virtual appliance is a pre-configured image with an application stack and JeOS (just enough operating system) , while a virtual machine is simply a hyper-visor capable of running a standard OS, and it contains no application software. With a virtual machine, a customer still needs to choose, install, configure and manage an OS and application stack.
The Benefits of Virtual Appliances
The benefits of virtual appliances over the SaaS model, or even the corporate hosted application model for that matter, run the gamut—from simpler distribution to bolstered security:
In concept, a software appliance is a tightly integrated package of enterprise application software and an operating system, designed to run on a standard industry platform. If the appliance is designed to run on a standard server, it is a software appliance; if it is designed to run on a hyper-visor, it is a special kind of software appliance called a virtual appliance. In implementation, a software appliance can function much like a black box, providing a business function to end users with the complexity hidden from view. The appliance is portable and easy to move, as long as it runs on the hardware or hyper-visor for which it is designed. In these ways, SaaS and software appliances are very similar. In many ways, though, software appliances offer benefits that SaaS alone cannot address. For example, software appliances are typically hosted onsite. The appliance can also be purpose built to meet the needs of a specific customer, solving the multi-tenancy challenges introduced by SaaS. Unlike SaaS, the appliance can handle updates on an individual appliance basis, enabling better timing of updates and rollbacks. Finally, appliances are easier to manage and more secure because they only contain the components of the OS that are required for a specific application. This reduces the footprint of the OS, the number of relevant attack vectors and the number of patches needed by the appliance.
Comparing to a Virtual Machine
The difference is that a virtual appliance is a pre-configured image with an application stack and JeOS (just enough operating system) , while a virtual machine is simply a hyper-visor capable of running a standard OS, and it contains no application software. With a virtual machine, a customer still needs to choose, install, configure and manage an OS and application stack.
The Benefits of Virtual Appliances
The benefits of virtual appliances over the SaaS model, or even the corporate hosted application model for that matter, run the gamut—from simpler distribution to bolstered security:
- Simplified distribution. Because a virtual appliance is a self-contained, preconfigured application packaged with a JeOS, distribution is greatly simplified. A single file with a small footprint is easy to download via the Internet. A preconfigured, self-contained package with no external dependencies is also easy to transfer through testing and into the production environment. In addition, encapsulated virtual appliances are highly portable between virtual platforms and from server to server, which is especially beneficial in the case of disaster recovery. Easier deployment. Deploying a compact, self-contained virtual appliance entails a single straightforward installation.
- Easier deployment. Deploying a compact, self-contained virtual appliance entails a single straightforward installation. Configuring a virtual appliance is simple and is accomplished through a command-line interface or a Web browser. These attributes reduce the installation and configuration costs associated with running complex stacks of software.
- High performance. Virtual appliances tend to offer better performance when compared to a standard virtual machine for a given application. A small, finely tuned JeOS (just enough operating system) environment allows an application to run more efficiently, and all the components of a virtual appliance are tested and optimized to run together and without any unnecessary bloat.
- Greater reliability. Extensive interoperability testing and tuning of components makes virtual appliances more robust. What’s more, the self-contained nature of virtual appliances insulates them from the surrounding system, also improving reliability.
- Lower hardware costs. Because they are self-contained, virtual appliances can be installed on any commodity hardware, with no need for underlying OS or thirdparty components. In addition, many virtual appliances can run simultaneously on a single virtual server, further reducing hardware costs and increasing overall hardware utilization.
- Improved security. Virtual appliances tend to be more secure than comparable applications running on normal OSs. Much of that is because of the compactness of a JeOS, which contains fewer packages and thus fewer vulnerabilities to exploit. In comparison to the SaaS delivery model, virtual appliances are more secure because applications with sensitive data remain on a company’s premises and safely behind its firewall. Data is not transmitted over the Internet and stored offsite at a vendor’s location, where the company has no control.
- Digital signing. Virtual appliances also simplify adding security aspects such as digital signing to ensure the trustworthiness of solutions. An authoring organization can digitally sign a virtual appliance at every step, including the image description, repository packages and the image file itself.
- Reduced management workload. With a typical software stack, there are individual vendors for the application, the OS and each third-party component. These vendors all have their own update schedules, which makes keeping track of versions, patch levels and compatibility a logistical night - mare for IT organizations, and makes conflicts inevitable. Because the virtual appliance author is responsible for configuring the software stack, JeOS and third-party components, there’s just a single path for updates. By replacing OS- and application-specific management tasks with a single efficient, standardized set of processes, IT staffs gain a simplified software management lifecycle while reducing associated costs.