Anyone who has ever deployed an enterprise application knows this. Never mind just installing the application. First there's the long pre-install checklist of libraries, updates and runtimes that are required in order to just install the application. Then you need to make sure that you're databases are in order and fully compliant to connect to the application. And then you have to do the install itself. Good luck getting that right in just one try.
And that's just the install! After that you'll just have a bare-bones default installation. Then you have to tweak the application to your specific hardware and requirements and then get your actual systems up and running on the new enterprise application.
All of this is why companies often spend serious money on deployment consultants and has also been one of the big drivers in the growth of Software as a Service products.
But over the last year, more and more enterprise application vendors have begun to take advantage of the same technology that many businesses are using to improve their own systems. This technology is, of course, virtualization.
Over the last year as I've spoken to many of the top enterprise application vendors, I've heard time and again that many, if not all, of their top enterprise applications can be delivered directly to customers as virtual machines.
Of course this makes perfect sense to anyone who has used virtualization but it has taken the vendors a little while to catch up to the rest of the market. But now that they are doing this it could greatly ease the deployment and use of enterprise applications in business.
Take that nightmare installation scenario I outlined above. If I had instead purchased that application in VM form, all I would need to do is to deploy it into my virtualization infrastructure and basically I would be ready to go.
Since it's a VM created by the vendor, all of the necessary prerequisites and settings are already configured. It will run out of the box. And it would also be possible and relatively simple to discuss the use case scenarios with the vendor ahead of time and have them handle most of the necessary tweaking and configuration before hand to achieve top performance and stability parameters.
This idea makes so much sense that even many of the SaaS vendors are taking advantage of it. Many of the major SaaS providers that I've spoken to are now using pre-built VMs to allow customers to install portions or all of their solution within the company firewall. This also eases the classic issue of code escrow and the fear of company failure and shutdown that has dogged SaaS and on-demand solutions over the years.
Of course, no solution is perfect and this idea does have its own problems. From a security and compliance standpoint, you as an IT department have very little control over this VM before it is delivered. Any problems with the VM could come as a surprise. And while this solution can work in many use cases, there will still be situations where a business wants the enterprise application fully installed on server hardware.
But for many other situations, a VM deployment is the perfect solution to the classic problem of enterprise application installation and deployment. And probably the closest to a no muss no fuss enterprise application that we'll ever get.