If you have ever been involved in configuring, installing and maintaining enterprise software, I don't have to tell you that it's time-consuming and complex. The cumbersome process of installing and tuning the operating system (OS), middleware, and database, then integrating and configuring the software is manual and error-prone. Even if you get it all correct, the process alone can delay time-to-value for the end user and introduce challenges for independent software vendors (ISVs) looking to shorten sales cycles. The whole process is daunting and expensive, discouraging customers and inhibiting sales.
For example, providing evaluation copies of software is a great way to prove a product's value, yet deploying the software takes time and effort. Many customers want the benefits of evaluating the product with as little time invested as possible. Installing and configuring traditional evaluation or demo versions can take as much time as installing the production version, delaying the sales cycle and introducing countless opportunities for technical errors. Each of the steps involved with setting parameters or configuring the operating system and application stack can cause a problem in demonstrating the value of the solution - extending the sales cycle, or even putting the sale at risk.
This is even more troublesome in live production environments. Even after the product is up and running, maintenance is no simple task. The countless iterations of application, OS, and middleware configurations and associated patches makes it extremely difficult to isolate and pinpoint the root cause of performance problems and ensure applications operate optimally.
Many of these problems stem from the fact that today's operating systems are exceedingly complex and monolithic. Because operating systems were built to support just about every possible software function and scenario, they are cumbersome, often offering too much functionality. Yet in reality, most applications only require a small portion of the OS capabilities. All the added OS "bulk" simply introduces vulnerabilities and inefficiencies to the computing environment.
Both sides - ISVs and their customers - cannot afford to continue with this inefficient approach to application implementation and management.
The need for appliances is compelling
To maximize their financial return and eliminate these installation and maintenance challenges, many ISVs are building appliances - versions of their product, packaged with a "just enough operating system" (JeOS) required to perform the desired tasks. Pre-configured for specific use cases, these compact, self-contained appliances can be deployed in a matter of minutes, requiring only last mile setup. The appliance is far easier to maintain than a traditional software installation and ensures effective configuration and installation. In addition, the appliances are much easier to manage because support teams no longer have to distribute patches that aren't relevant to the appliance.
What is a software appliance?
Appliances offer a new way to build and support tailored solutions with ease by trimming down the size of the associated operating system. In particular, software appliances are pre-configured combinations of an application and operating system integrated into a single image and optimized to run on industry-standard hardware. This integrated software application and purpose-built operating system contains everything needed to simply copy the software to a standard platform and boot. Since most applications don't require much operating system capability to function properly, software appliances offer an unprecedented opportunity to reduce the footprint of the combined installation, as well as the complexity of installation, maintenance and support. This results in lower cost of hardware and software ownership for the customer and reduced installation and maintenance costs for the software vendor.
Why would I want a software appliance?
For software vendors and customers, software appliances are a means to reducing cost and increasing revenue for new and existing products. From simpler evaluation and installation, to easier support and sales cycles, appliances can help accelerate the entire sales process.
In general, traditional enterprise data center software evaluations are complicated for the buyer. First, the operating system has to be selected and configured with each kernel parameter tuned for the application. Second, the software itself has to be installed, and finally the software has to be integrated, configured and tuned. If there is middleware involved, this is even more complicated for the end customer, and the process can take days. If there were an easier way, what customer would want to spend days installing an evaluation?
With a software appliance, all of this tuning and configuration is done once by the software vendor, targeting a specific standard platform and use case. All a customer needs to get the application running is a hypervisor or server as specified by the vendor. Take, as an example, a mid-size manufacturer that would like to evaluate a new Enterprise Resource Planning (ERP) system. An ERP vendor can create a single image that is a pre-configured operating system and application with only the modules needed by mid-sized manufacturers. These modules can be tuned for manufacturing best practices by the ERP vendor when the appliance is created. This image can then be provided on a DVD to the customer, and the customer can be up and answering last-mile setup question via a wizard, and running the evaluation immediately. The sales cycle was just reduced by days, even weeks.
The same factors that make software appliances an excellent evaluation tool also make software appliances an accelerator for production applications. Instead of a customer installing and configuring an application, a software appliance image created by the software vendor can be provided. If this image is placed into the appropriate host environment, such as an x86 server or hypervisor, it can be booted, configured and ready in a matter of minutes. Support for this image is also greatly simplified, as all of the standard operating system and configuration questions are now irrelevant. The software vendor created the image, knows precisely what is in it, and can simply load the same image during a customer support call for fast, deep, relevant technical support. Any problems uncovered in the application can be distributed quickly to all relevant customers via an integrated update mechanism. In the end, software appliances reduce time and cost in the sales cycle and beyond, for the customer and the software vendor. The more applicable question may be this - why wouldn't you want a software appliance?
Software appliances are revolutionizing the way the software industry packages and distributes software. With appliances, ISVs now have unprecedented opportunities to deliver simplified, highly portable, tailored solutions free of the maintenance headaches that have plagued enterprise IT solutions. In effect, appliances make it possible to "mass customize" application delivery to fit the specific needs of a customers, and deliver a fully integrated solution faster and more efficiently than before. Particularly in tough economic times, these solutions are appealing to end users looking to stretch their IT budget while still delivering on the business need. ISVs building appliances gain a tremendous competitive advantage by offering highly reliable solutions, purpose-built for the end user's own needs, without all the baggage that usually comes with new software applications. By eliminating the risks associated with bulky OS installations, ISVs can now deliver more secure, better performing solutions than ever before possible.
About the author:
Matt Richards is senior program manager for the SUSE Appliance Program at Novell, a leading supplier of both open source and proprietary software solutions.