Masthead

Virtual Machines

Right now, you typically have one computer (e.g. "machine") that you interact with. You can work on mulitple tasks at the same time on your computer but if one tasks takes a long time, it can bog down your entire computer and prevent you from doing other work.

What if there was a magical world where you could create "virtual machines". These would be computers that cost you nothing, that you could create as may as you want to, run them for as long as you want, and if they crashed, you could simply restart them and try again. This has been the promise for virtual machines.

The Reality

Modern operating systems contain an "abstrction layer" that separates the operating system (MS-Windows, UNIX, LINUX, Mac OS) from the physical hardware it was running on. Some clever folks discovered that they could have the abstration layer communicate with another software package so that you could run a "comptuer" inside another computer. Since the "computer" was actually software, you could create mulitple copies of them at no cost. You could also start them, stop them, save them, and restore them at your will. This software was called a "virtual machine" (engineers call computers machines).

What virtual machines do not provide is an increase in performance or system memory (RAM). If you run two virtual machines on the same computer, they will both need the resources on your computer, effectively at the same time.

The great advantage of using virtual machines in this class is that we can create full enterprise-level geospatial systems without having a server-class computer and all of the support and security that it requires.

There are also additional challenges in working with virtual machines. Many commercial software applications and operating systems (like ArcGIS and MS-Windows) require you to have a license for each copy of the software you are using. This means you would have to have a license for each virtual machine you create. This is why virtual machines typically only use free and/or open source software.

VirtualBox

VirtualBox, from Oracle, is a software applications that manages and runs virtual machines. The software is free to use and relatively easy to use. You can download this software from Oracle and install it on your own computer if you like. Below is a screen shot of the Oracle VirtualBox Manager which Iused in a previous class to run OSGeo.

VirtualBox

The Oracle VirtualBox Manager with an OSGeo Virtual Machine running

 

The Cloud

"Cloud computing has long been touted as the magic wand that can deliver on the promises of on-demand pricing, less IT overhead, and the ability to scale IT up and down quickly" - Pete Johnson, Wired

"You're telling me that something named after something that appears firm and stable but is really just a mass of water vapor, might provide only the illusion of security" - John Stewart

Coming Down to Earth

The reality, in my opinion, is that The Cloud is just a marketing term. What is real is the Internet and the data and services it provides. These are shown in the figure above and are real and have been available on the Internet since before the term "The Cloud" was used. Over the next few weeks, we'll be exploring the capabilites of the Internet and how to create spatial solutions that utlize it's capabilities.

One of the really exciting things about virtual machines is that you can create them and then put them "into" The Cloud. This really means uploading them to a server farm such as Google or Amazon, and then running them remotely. This allows you to use massive computational facilities without having to create them yourself. At the same time, you have to pay for these services if you use them heavily.

© Copyright 2018 HSU - All rights reserved.