This picture shows a vision of VMWare – “Computing Clouds on and off premise” exactly the flexibility to host applications anywhere. Whether some sensitive data should remain on premise or can be eventually loaded off premise should be up to decision of the enterprise not technology restrictions (or lock-down by cloud infrastructure). Enterprise can always decide whether their ‘treasure’ will be stored. I have added my small notes into grey boxes in the graph refering to available type of products.Core part of this vision is enabling technology- VMWare VMotion that enables the live migration of running virtual machines from one physical server to another with zero downtime, continuous service availability, and complete transaction integrity.Other technology involev are : VMWare Fault Tolerance: no downtime in case of hardware failure (VM continuously sync, with another VM on another HW)
and AppSpeed (for self-managing Datacenter) – automatically assigning new resources when performance goes bellow SLA. vCenter provision more instances.
In summer last year I was experimenting with what I call “Geospatial Operating Environment” – a client based virtual appliance for geospatialy related operations that would give to user immediate (instant) tools and applications. Well, there is already approach to have USB drive and put there portable applications that can be run directly from USB drive without any need of installation. This approach is fine but definitely not error-prone since ‘the virtualization’ level is just on top of operating system and more dependent on a host OS state and health. Running any executable from USB can potentially crash whole OS. Another approach is to virtualize applications using ThinApps or App-V but again the level of separation of OS from applications is not always guaranteed (I mean look on a way how you define virtualized applications – you need to sequence them (or ‘capture them’) where differences between initial state of OS and state of the OS after installation of apps represent the ‘properly installed and configured application’ that can be virtualized). Is this a right way ? why the industry is not looking more for jeOS and virtual appliances ? May be virtualized applications will give us more robust application sandbox that will less crash OS and less side-interact with other applications. Well may be the whole point is to always assemble OS+Apps where producer has always under control fresh new OS plus set of apps on top of that (Actually both CITRIX and VMWare are promoting this dynamic approach). Simply said, I do not trust so far to virtualized applications. OS is still pretty complex piece that you can make better, reliable but not as stable as hardware operations today.Virtual Appliances rely on thin layer of hypervisor and hw while virtualized applications have much more large stack of software underneath.
Back to my topic… so I have done experimental client-side virtual appliance with lot of installed open source and free applications. One of them GoogleEarth was performing very slowly in virtualized environment due to the fact that virtualized environmend can’t so far utilize special hardware (a typical problem of virtual machines or common denominator). But why not to run same appliance either virtualized or on physical hardware ? with VMWare it is possible with physical disk – once appliance is installed, you can either boot it directly from hard drive (or USB) or if you want to run it virtualized in some host environment, then this is possible too:
vmdk file then look very simple and access in fact regural disk image of the ‘virtual appliance’ – this is not any more virtual appliance but somehow ‘semi-virtualized’ appliance :
# Disk DescriptorFile
# Extent description
RW 625137345 FLAT "\\.\PhysicalDrive1" 0
# The Disk Data Base
ddb.toolsVersion = "0"
ddb.adapterType = "lsilogic"
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "38913"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.geometry.biosCylinders = "38913"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63"
I wanted to evaluate originally ThinInstall (now newly renamed by VMware to ThinApp) only. ThinApp requires as much as possible clean OS before capturing apps that should be virtualized. Since I didn’t want to boot my VM/install clean one I gave 2nd chance to MojoPac (a great idea, but half year ago MojoPac was crashing my entire Laptotp when trying to open files with QGIS 10..) . This time MojoPac 126.96.36.199 positively suprised me. First of all I still don’t know how they technicaly do this. Could be by new windows session, but that was not proven…Back to my test. I decided to install fresh MojoPac ainto my WD external HDD and there I have installed trial version of VMWare ThinApp. I have choosen to virtualize complex caliber installation application Bentley view v8i. All worked fine to my suprise. MojoPac was able to run Bently View as well as ThinApp successfully virtualised it. The footprint of the exe and dat file was huge (no compression)..1.3GB. virtualised Bently view was able to run on host as well in MojoPac. The last test I have tried was to run both in MojoPac – Bently View installed reguraly as well as virtualised…just worked. To summarize this, I believe that MojoPac is a great way (if stable and improving) and directly competting with ThinApp from VMWare (which is not free).
On page http://www.xpnet.com/appvirt2008.pdf you migh find quite interesting benchmark of current application virtualizations technologies of Microsoft Application Virtualization (App-V) 4.5; VMware ThinApp 4.0.1; Citrix XenApp 5; and Symantec Software Virtualization Solution (SVS) Pro 2.1. In the report ThinApp is a winner.:[quoted from the research ]:
” Application virtualization solutions that use an embedded virtualization model (ThinApp) deliver the best application throughput. Only ThinApp delivers the combination of excellent raw performance plus low overall CPU utilization, making it the better solution for organizations seeking to minimize the performance “hit” typically associated with virtualization technology. “
2 Bently View v8i running inside MojoPac - 1 installed, 2nd virtualized by ThinApp (and both virtualized by MojoPac)
Here are my numbers of lunching Bently View v8i (all are measured by 4th run and untill dialog for selecting dgn file will appear):
run from installation in MojoPac: 2.8 s
run from ThinApp virtualization (uncompressed) in MojoPac: 4.9 s
run from ThinApp in host: 4.9 s
run MojoPac + Bently View from host : 14.8 s
this would give MojoPac 1.75x faster than default ThinApp virtualized application (regardless whether ThinInstall runs inside or outside MojoPac). But if compared to time from host to virtualized applicaiton run, than winner is ThinApp (3x faster) since there is no overhead with virtualisation of whole desktop environment. (I personally prefer – with regard to coherence introduced by Parallels – ThinApp way for smooth integration with current desktop)
If you are user of VMWare workstation, you may be interested of way how to migrate your existing physical machine into the virtual one. You may either buy VMWare P2V assistant starter edition or you may use the workflow for not less than trying that;) I made successful experimental migration with following configuration: OS: Windows XP professional SP1, VMware 4.0, ‘Image maker’: PowerQuest DriveImage 7.0. Note that later VMWares doesn’t allow to run PowerQuest recovery utility ! (but waste your time and try it to prove it)
1. Make your HDD image by running Drive Image on your physical machine
2. Put the image on some acessible network or external HDD which can be seen by PQ Recovery utility
3. Configure you VMWare virtual machine for target OS with disk and nework specs.
4. Boot inside VMWare PQ Recovery utility and find your drive image
5. Run restore (I do not remember the right toggles checked in…I made it in October..leaving defaults should work)
Sample picture from migration :is here