The leap from virtual host to virtual machine

Virtualization and implications of free software

Download the whole article as PDF

Short URL: http://fsmsh.com/1157

Write a full post in response to this!


Back in the good old days, when men were men, women were women and the standard way for two computers to talk to each other was through a cable plugged into the serial port, was when I first took the plunge into this “internet” thingy and signed up with an ISP. Then, armed with a modem, a telephone line that doubled as a fax, Netscape 1.1 and a sense of adventure, I surfed web sites, emailed the few others I knew who had also taken the plunge and joined in on worldwide discussions on what we called “News Groups”. I felt at the time I was at the sharp end of technology, that I had arrived at the next millennium early (this was still the nineties) and I had boldly gone into this brave new world of global communications where few had gone before. In a way, I had, when you consider what others around me in the UK were doing at that time.

First virtual experience

Soon after I had joined, my ISP decided to give all of its customers the ability to publish web pages for personal or business use. To announce it they came up with this excellent slogan—“Don’t just surf, make waves!”. They didn’t give us all our own server, of course, but some space on one of their servers they had implemented for the purpose. A staggering 512 kilobytes! An entire half meg! Not only that but they gave us use of a few CGI scripts to enable functionality like the emailing of results from forms that I could write and publish on my website. Wow!

My ISP encouraged us to create web pages with the slogan “Don’t just surf—make waves!”

This was, I suppose, my first experience of virtualization, although I didn’t think of it as such at the time. We (at first) did not have our own domain names, none the less the concept was born: that a large number of people could use an area of a single machine totally independent of others and could treat that area as their own, especially as far as anyone visiting is concerned. In short, the distinction between network and server had been blurred; someone could visit my site and, unless they looked at the URL at the top of the browser, would be unaware that I was sharing the hardware with possibly hundreds of others.

Technical advancements increased and soon the company I helped to run obtained a virtual host, similar to, as we think, one of today. It consisted of our own domain name, shell access to our area of the machine and giving me the ability to create my own web scripts, and perform email forwarding, mailing list management. It also came with all of the other paraphernalia we have come to expect from virtual host suppliers. This suited us perfectly because, for a relatively small financial outlay, we could produce a web site that, as far as most of the world’s population was concerned, was on par with the multi-million dollar sites of the corporations.

The cost of non-virtualization installations could be prohibitive
The cost of non-virtualization installations could be prohibitive

Virtual comparisons and progress

As the company grew so did our web requirements, and soon we needed a dedicated machine. We couldn’t justify the cost of getting a fast link to our offices—which were temporary in any case—so we co-located it with a host provider who specialised in that. We finally had “root” administrator access on our own machine and could install whatever software we considered necessary to run our business, without the limitations a virtual host restricted us to. Freedom to do what we wanted to at last! This, however, cost us considerably more money than the shared hosting that we had before.

Recently a significant technical advance has occurred with web servers on the market: onto the scene has come virtual machines. I currently use one of these as my personal web site. In effect a hosting company can give you the functionality of a co-located machine for the price of a virtual host. I have root administrator access to my machine and the facility to reboot it whenever I require. I can even connect to a special server using SSH and have access to the console of my machine, should I mess up the firewall configuration, which I found useful when I put the default firewall policy as “deny” and flushed the rules (oops!). I can install any software I like and even set up virtual hosts on it. I could even, if I wanted, choose which Linux distribution and kernel to use. All of this even though I share this machine with about fifty other people, all of whom are enjoying the same functionality for their own virtual machine, and none of us has access to each other’s machines at all. The distinction between “network” and “machine” is becoming more and more obfuscated. The implications to the small web server writer are enormous. They now have the facility to install whatever databases they like, and provide whatever services they like for the monthly price of a dinner at a mediocre restaurant. An equaliser between the corporations and the one-man bands indeed.

A large number of web pages exist on some kind of virtual machine, server or host
A large number of web pages exist on some kind of virtual machine, server or host

Free software has had an important role to play in this. In fact, more than just important. If the free software model didn’t exist, I can say with near certainty that virtual machines would not exist in the way they do today. Most virtual machines currently only exist in the free software world, on Linux especially. I believe that this is one area where Microsoft cannot claim that they out-perform Linux no matter what “independent” reports they commission for the simple reason that they have yet to produce a viable virtual web-server machine.

If the free software model didn’t exist, I can say with near certainty that virtual machines would not exist in the way we know them today

The way virtualization has advanced is very much on par with the ethos of free software. It is, after all, a tweak and an enhancement of the kernel and operating system. In order to successfully create a virtual machine program you need access to the magical inner workings of the machine and all of associated documentation. For proprietary systems this is often the exclusive knowledge, and always under the control of, the software vendor, and thus there exists an immediate obstacle to the development of such products—and “Why?”. The answer to “Why Not” is obvious. It creates support issues. It could well lead to the sale of fewer licenses, not more, it can create performance issues, and so on. Also, in the proprietary world, one of the major benefits of virtualization disappears. It’s difficult to see how a vendor would permit two instances of the operating system to be sold for any less on a virtual machine than on a real one. With this and the extra licensing they’d charge for the virtualizing software itself, a web hoster may well have to pay as much, or more, to provide a virtual machine as it would to provide a real one.

The free software version doesn’t have these handicaps. This means that when someone needed or simply wanted to write virtualizing software, all of the tools and information were at hand. This means that projects like User-Mode Linux could get off the ground, and be implemented and enjoyed without anyone’s licensing terms being violated, and the only people being harmed are the proprietary operating systems in the market, whose vendors have seen their share of it being reduced slightly more.

Virtualization types and advancements

As often is the case, the free software model doesn’t stop there. Virtualization is about to go to the next level. In the world of virtualization, a new kid has arrived on the block that is getting noticed. And the name of the kid? Xen. To understand why it is so significant we need to examine the different types of virtualizing programs. The names I have given to these categories are my own.

Different types of virtual models exist for different needs
Different types of virtual models exist for different needs
Don't miss out on the other pages!
12next ›last »

Write a full post in response to this!

0

Do you like this post?
Vote for it!

Copyright information

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html.

Biography

Edward Macnaghten: Edward Macnaghten has been a professional programmer, analyst and consultant for in excess of 20 years. His experiences include manufacturing commercially based software for a number of industries in a variety of different technical environments in Europe, Asia and the USA. He is currently running an IT consultancy specialising in free software solutions based in Cambridge UK. He also maintains his own web site.

admin's picture

Good Overview

Submitted by admin on Wed, 2006-03-29 11:30.

Vote!
0

From: James Cornell
Url: http://www.unixdevil.org
Date: 2005-07-11
Subject: Good Overview

Good overview on virtual servers.

Keep in mind that amongst commercial virtual servers during the last two decades both Microsoft and Sun Microsystems have implemented their own versions. Sun's zones is almost comparable with the performance of a Linux virtual server, although the same to say of a Microsoft virtual server is not the same.

The reason Microsoft has yet to really outperform in this area is due to their roots. Their OS was never designed multiuser, hence it cannot be as good at being a multiserver no matter how many hacks put on it nearly two decades later.

admin's picture

MS and stuff

Submitted by admin on Wed, 2006-03-29 11:31.

Vote!
0

From: Cat
Url:
Date: 2005-07-15
Subject: MS and stuff

I hate to defend M$ but they have produced 2 destinct Windows operating systems. Firstly the 9x series whcih ( as you say was never intened for multipleusers) and the NT-2k-XP-2k3 series, which was designed from the ground up with multiple users in mind, amongst other things.

Cat



CariNet: Cloud computing is a reality.