Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Virtual Machine Programming

April 20, 2008

One of the most significant trends in data centers across the world today is the migration of physical servers into virtual ones.  A rainbow of reasons exists for this, from more effective provisioning of hardware to higher availability, durability and business process isolation. 

These and other factors combine to drive operating costs down while keeping complexity at bay.  With the rapid ascent of VM's, the need to spontaneously generate and spool new, highly customized and targeted VM's for operations in a standardized way is the next step in the virtualization march.

Eventually, VM's will be abstracted to the level that applications living within an operating system are today.  As such, a new way of thinking about full VM usage from server to desktop to edge devices are already impacting and readjusting the way operating systems and the applications they host are written.  Three of the most prevalent and programmable VM host environments are Xen for Red Hat Linux Enterprise and other Linux distributions, Microsoft's Virtual Server / Hyper-V for Microsoft-homogeneous environments and VMware for mixed environments.  

While each of these allow a certain degree of API access to the VM processes, each does not yet offer quite the depth of standardized programmatic interfaces that a highly sophisticated manipulation of hosted VM's that developers might expect from such dynamic environments.  The reason for this is obvious - there are no standards when it comes to VM programming.  Yet, with the ongoing increases in processor cores and speeds, host RAM and storage capacity, on-the-fly VM processing will be a frontier that could be as frequently employed as Java and .NET application virtual machines are used today.  While the competitive success of virtual machine technologies will antagonize the formulation of cooperative interfaces for the near-term, I believe the market will demand a standard that will deliver the portability between VM host providers much the way the C language unified application development across disparate computing platforms in the last quarter of the 20th century. 

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.