Wednesday 8 April 2009

VMWare in the Cloud

For several years now I'm a grateful user of VMWare Server. I started with VMWare Workstation and moved to VMWare Server. As you can see on this blog, VMWare is an important tool for me and I advise VMWare quite often for several purposes to my customers.
Since Oracle has also a VM solution, just like many other vendors, you can tell that Virtualization is growing in importance.

The main difference between the Oracle solution and VMWare Server is that Oracle's solution is solely meant for running on the bare hardware. VMWare Server (fka. GSX Server) is installed just on a Host OS. That means that for my purposes, seperating my server and development installments from my office-related base functioning of my laptop and mobilizing of my server and development installments, the Oracle solution would not fit. Because when not running my VM's I need to be able to use my laptop for mailing, wordprocessing, listening music underway, etc. Besides VMWare Server, there is also VMWare ESX server, that like Oracle VM is to be installed on the bare hardware. So also VMWare ESX server runs with no Host OS underneath it.

Having VM's prevent that doing lots of trial-and-error-installation (which I'm into a lot these days and give me much frustrations) mess up my host OS. If something won't work I just throw a way the VM. If the installation in the VM does work I'm able to back it up by simply zipping the VM. If my laptop need an upgrade or reinstall of my host OS for whatever reason, simply reinstalling VMWare and the most necessary office tools (OpenOffice, FireFox and Thunderbird for example) put me back in business.

A few years ago, I created a presentation on the VMWare products for the Linux Professional Community of Oracle Netherlands which I used to participate. I browsed to the product pages of VMWare and put all the products I could find then with a brief description together in the presentation, with some comments of myself. I put it into a whitepaper that can be found here. It's all in Dutch, but you can find all the information yourself on vmware.com. The main conclusions I'll put below.

Since I do not have a datacenter and haven't done any VMWare training myself, I had to do it with the VMWare Sales talk. But although I was already impressed by the briljant pease of software that the VMWare VM solution is, the toolstack of VMWare impressed me even more. Basically what impressed me was that VMWare had thought of a complete Virtualization landscape with several tools working together to have an infrastructure running high available Virtual Machines. Several ESX Servers can share a clustered filesystem that provide several Virtual Machines. When a ESX Server running a VM goes down or has to be brought down for maintenance reasons, VMotion transfers the life! VM to another ESX Server that takes it over. The end-user hardly notices it, maybe only a short hick-up.

The only constraint I see at the moment, as I understand it, is that a VM can only be serviced by just one ESX Server. So in my whitepaper I stated that it wondered if VMWare in about 3 to 5 year period would be able to get ESX Servers work together servicing the same VM. Just like the Oracle Grid database: multiple instances running the same database. Imagine it: 4 quad core ESX servers running the same VM with for example Windows 2008 Server. If you start a remote desktop connection to it and introspect the system properties it would report 16 CPU's. Would Windows be able to have another CPU hot-plugged into it? Or what if you bring down one ESX Server, would the guest OS run further? I would find it awesome to build such a cluster and run for example OpenSuse or Oracle Enterprise Linux in it. Nowadays we have grid enabled applications (the Oracle database for example) or grid enabled Operating Systems (I have no examples, but I read about it in articles on Super Computing). But having a grid enabled virtualization product would enable you to have grid underneath an OS. The OS would not need particular enhancements, although it would be handy if it supports having extra resources (memory, cpu) tugged in or getting down when running.

I would say that Oracle has the base technology in house. Bringing together some of the development teams should enable this.

Today I got a mail from VMWare that they are coming up with a webinar or 'Simulcast' as they call it on their VCloud solution. I watched a demo-movie on the webside this morning. The solution is based on a load-balancer and monitor application. In this monitor application you can set SLA's. When an SLA is not met, for example response-times is going beyond 4 seconds (as in their demo) then a suspended VM is brought up automatically. The company can charged or be charged only for running VM's. Quite impressing.

To bad for me is that it is still based on seperately run VM's. Fortunately for Oracle. Because their Oracle Database Grid technology is still courant. Even more it complements with eachother. Think about it. You'll have several database instances in several VM's and you suspend just several that you don't need. Then if response times gets low, SLA's are not met, the suspended VM's come up transparently. I don't know if Oracle supports that scenario as well. I know that Oracle VM is able to transfer the running of VM's between instances, like VMWare's VMotion.

But it is a small step towards my vision stated above. And I watching out for that to come. In the meantime I play further with my own VM's. It would be nice if Oracle comes up with a virtualization solution that can run on my Host OS. I certainly would try that also. For now I stick with VMWare.

No comments :