Until now, neither Microsoft nor Google has offered plain vanilla, cloud compute power as a service from their respective Windows Azure and App Engine data centers. Infrastructure-as-a-service (IaaS) thus far has been the undisputed province of Amazon Web Services, with Rackspace, SoftLayer, and other would-be competitors trying to gain market share.

But both Microsoft and Google have always had the means to compete in that market--they've built data centers in strategic locations around the world and can use them as a springboard into IaaS. And some customers want Microsoft and Google to become IaaS suppliers, given their existing reliance on those vendors' technologies.

In fact, both have been edging closer to doing so.

Google's primary infrastructure architect Urs Holzle on Thursday at the company's developers conference announced the Google Compute Engine, or infrastructure-as-a-service, a move that brings it into more direct competition with market leader Amazon Web Services.

Holzle said Google's success with App Engine, its platform-as-a-service for building applications, had generated demand among its users for an accompanying infrastructure service to run applications in virtual machines for long periods of time. Google will manage all scalability and performance issues for users of Compute Engine, letting businesses and independent software developers gain the benefit of Google's "decade of experience in building and running Google search engine data centers." It made the announcement during a Thursday morning keynote session of Google I/O in San Francisco.

Google already has one the largest worldwide networks of data centers with strong networking connections between them. That may become a distinguishing point between Google and Amazon, which also has data centers around the world but is just starting to offer connections between them. Based on its approach to platform-as-a-service, Google can be expected emphasize the resiliency and lack of downtime of its approach to infrastructure.

Amazon, however, offers infrastructure for both Windows and Linux workloads. In addition, Google Compute Engine will host virtual machines running only Linux workloads.

Holzle said Compute Engine will deliver "up to 50% more value" than other IaaS providers without specifically naming any competitors. In addition to Amazon, Rackspace, SoftLayer, and Hosting.com offer IaaS, along with more business-oriented suppliers such as Terremark, a unit of Verizon, and Savvis, a unit of CenturyLink.

Compute Engine is available immediately in "limited preview," meaning it doesn't yet qualify as a full-fledged product. Google will limit how many users may sign up for the service. No date for general availability has been named.

One of the strongest steps Microsoft has made toward IaaS came June 6 whenit said it would start offering Linux servers. If it's ever going to offer IaaS, it needed to include Linux or permanently concede a large part of the market to Amazon. It will import the Linux workloads using its VHD virtual machine file format, meaning that its Hyper-V hypervisor will gain a more equal footing with VMware's ESX Server, which from day one dealt with Linux.

Microsoft at the time said that Azure customers may run CentOS, Ubuntu, or Suse Linux servers--in other words nearly anyone except Red Hat. Red Hat is still too formidable a competitor. Despite being a denouncer of Linux for years, Microsoft has reconsidered. It doesn't wish to be left behind because of its militant line. If cloud users want to run Linux, Azure will do so.

Why Open Source?

Open source code is popular among cloud users in general. As their cloud use expands, they don't incur more licensing charges. So Microsoft recently turned to open source code to generate new capabilities on Azure. Azure Web Sites, also announced June 6, expands Microsoft's language library beyond its own .Net languages. Azure has been opened up to serve as a more general purpose website host, able to run Node.js, a server form of JavaScript, and Python, as well as the previously supported open source PHP. Azure Web Sites also aids its users in using open source code services, such as WordPress for blogging and Joomla or Drupal for content management.

If cloud users find in Azure what they need to build their websites, they're more likely to use it for its infrastructure and build more applications using its platform-as-a-service. PaaS is a step above plain vanilla computing because it adds tools, widgets, and frameworks for rapid application building; the resulting apps run conveniently in the PaaS cloud.

Thus, Microsoft has maneuvered itself much closer to becoming an IaaS provider. It has invested heavily in data centers around the world--Azure will become available in 48 additional countries, including Russia, by the end of June, bringing its total to 89. Microsoft is thus in a strong position to make an IaaS offering as a logical extension of its platform. Offering IaaS would also allow Microsoft to more thoroughly utilize its data centers for more profitable operations.

But so far, Microsoft hasn't gone head to head with Amazon, except when offering entry-level small servers. Both Amazon and Microsoft appear to be trying to capture the cloud newcomer and early cloud user with low pricing for small servers. As the size of the server offering increases, Microsoft loses a small pricing edge and Amazon offers the stronger IaaS server resources for the money. In that sense, Microsoft appears to be competing for IaaS customers with the intent of leading them toward a value-added and higher-priced PaaS environment.

Enterprise cloud adoption has evolved to the point where hybrid public/private cloud designs and use of multiple providers is common. Who among us has mastered provisioning resources in different clouds; allocating the right resources to each application; assigning applications to the "best" cloud provider based on performance or reliability requirements.