Application Development: Software Appliances Are Changing the Way Developers Create Applications
Software appliances are beginning to take off. A software appliance is a software application that might be combined with just enough operating system for it to run optimally on industry standard hardware (typically a server) or within a virtual machine. Software appliances have several benefits over traditional software applications that are installed on top of an operating system. One such benefit is software appliances provide simplified deployment. A software appliance encapsulates an application's dependencies in a pre-integrated, self-contained unit. This can simplify software deployment by freeing users from having to worry about resolving potentially complex operating system compatibility issues, library dependencies or undesirable interactions with other applications. This is known as a "toaster." Another benefit of software appliances is improved isolation. Software appliances are typically used to run applications in isolation from one another. If the security of an appliance is compromised, or if the appliance crashes, other isolated appliances will not be affected.