I read an interesting post, The Future Of Virtualization And What That Means For CIOs, that painted an intriguing, but rather limited view of the future. In this post, the author, John Soat, discussed the importance of BEA's Jrockit® 6 Java implementation that can run directly on a hypervisor without requiring another operating system.
In the author's view, this single innovation will lead to everyone consolidating their efforts on deploying many virtual environments, each of which is tuned precisely to the needs of a single application or application component. While the vision presented is certainly attractive, it doesn't account for the fact that CIOs tend to honor the Golden Rules of IT in their planning.
It also doesn't account for the fact that organizations adopt virtualization for many reasons other than consolidation. Some are more focused on high performance, increased levels of scalability, greater agility, higher levels of reliablity or availability, or managing all of their resources in a unified way.
I suspect that a blog post's limited space contributed to this limited viewpoint rather than any lack of vision on the author's part.
Here are some areas that were not addressed that mean that the BEA's technology is likely to end up adding complexity to the environment.
- Once a computing solution is installed, it is likely to stay in use until:
- The organization is no longer in that business
- The orgainzation sells or spins off the business unit that used that solution and so, technically, it no longer is using the computing solution
- The organization has been acquired and the acquiring party didn't need that particular computing solution
- The organization is no longer in business.
- Organizations seldom uproot working solutions to replace them with something else that does exactly the same thing using new technology merely for the joy of using new technology. They would prefer to invest their limited IT resources in solving new problems rather than re-addressing older issues.
- Virtual machine technology isn't the best choice for many organizations.
- Organizations interested in increasing overall performance would seek out a high performance computing/Grid computing monitor
- Organizations interested in increasing scalability and reliability would seek out a clustering solution
- Organizations interested in expanded access would seek out an access virtualization technology
- Organiztions interested better application control might select an application virtualization technology. Depending upon the application, of course, BEA's technology might be an helpful addition in this case.
What's your view? Would your organization move in this direction if their application development and deployment environment ran directly on a hypervisor?