What are the differences between VMware vCloud Hybrid Service and Microsoft Windows Azure ?

The two biggest players on the x86 server virtualization market recently entered  the public cloud Infrastructure as a Service  (IaaS) market as well.

Microsoft Windows Azure Virtual Machines went general available in April 2013. VMware vCloud Hybrid Service went general available in August 2013. Some believe the rivals for  server virtualization will become rivals as well in the public and hybrid cloud space.

This post will describe why both cannot be compared.

Both Azure and VCHS provide customers the ability to create cloud based virtual machines and have control over the guest operating system and applications running on top of it. That is basically the IaaS model.

I guess this is about the only feature what Azure Virtual Machines and vCHS have in common.  Both clouds have a different philosophy and the architecture is based on different use cases.

Comparing Azure to vCHS is like comparing a cattle truck to a bus. Both are transport, have wheels and needs a driver. But the payload is much different. Cattle do not need seats, a fridge and a toilet. Nor does a cow or sheep need a safety belt. If one of the animals  dies while being transported nobody really cares. Passengers in a bus is something different. The bus company cares about this payload.

TruckCharter_bus


The same compare applies to Azure versus vCHS. Azure was designed initially as  Platform as a Service. In that model are virtual machines used but not exposed to the developpers using Azure. The Azure platform is not designed to provide resiliency. Commodity servers are used with non-redundant powersupplies. Racks are equipped with a single top of rack router. There is no feature to move virtual machines to another host to prepare a host for planned downtime. Virtual machines are to Azure like cattle.
In Azure the application should provide resiliency.
The ability to manage the virtual machines in Azure is driven to provide developpers more choice in applications for development.

VMware vCHS is designed with the requirement that the public cloud platform should provide resiliency. This means the hardware is robust and state of the art, virtual machines can be vMotioned to another host etc, vCHS is designed to host enterprise, legacy  applications which are not designed for cloud and do not provide resiliency.

What applies to Azure vs vCHS applies to Amazon EC2 vs vCHS as well. Amazon however is more mature and feature rich than Windows Azure. Massimo Re Ferre’ , architect of VMware, wrote an interesting blog about this subject here.

The bottom line of my blogpost: there is nothing wrong with cattle trucks or busses. They serve a different use case. Make sure your applications are compatible with the cloud platform running your applications.

Lets have a look how different Azure and vCHS platforms really are. I do that by comparing different aspects:

  • platform
  • resources
  • service offering
  • service level agreement
  • storage services
  • guest os support
  • feature connect
  • time to cloud
  • new platform releases

Platform
Azure is built using a mix of Windows Server 2008 R2 & Windows Server 2012 Hyper-V as  hypervisor. Microsoft does not reveal how much of its servers are running the 2012 edition of Hyper-V yet.  Azure is operational in 8 datacenters located in the US, Europe and South East Asia. Nodes are managed by so called Fabric Controllers. Data is stored in a distributed, very scalable storage platform which is able to do datacenter replication and geo-replication.

vCHS uses vSphere as the hypervisor. On top of that runs vCloud Director. vCloud Networking & Security is used for logical network separation and public access to the virtual machines (firewall, gateway).
vCHS is at the moment only available in three US datacenters. Expansion to 2 other datacenters is planned.

Resources
Windows Azure sells virtual machines. Microsoft provides those in t-shirt sizes. Which means there is a limited choice in combination of number of vCPU’s and internal memory. There is however an unlimited number of resources. Customers can created as many VM’s as they need. The resources consumed are billed in a pay as you go model. This also means the costs can be very fluctual. One month a high bill, the next month maybe a lower bill.

In vCHS customers buy a certain amount of resources, a combination of cpu, storage and memory resources. Like a virtual datacenter (sandbox) instead of individual components. vCHS does not sell VM’s like Azure. Customers can make any number of virtual machines with tailor made specifications. vCPU, memory and disks can independantly be configured by the customer. The costs per month are based on a core subscription based on a contract of minimal 3 months to max 36 months depending on the service offering.

Service offering
In public cloud there are two ways to have customers use  virtual machines running on nodes. In dedicated mode all virtual machines running on a node belong the same customer. The processing on the node is non-shared and physically isolated from other tenants/customers. Networking and storage is logically separated from other tenants.
In shared mode virtual machines of multiple tenants share processing.

VMware vCHs provides two service offerings:

  • vCloud Hybrid Service Dedicated Cloud will provide physically isolated and reserved compute resources with pricing starting at 13 cents an hour for a fully protected, fully redundant 1 GB virtual machine with 1 processor.
  • vCloud Hybrid Service Virtual Private Cloud will offer multitenant compute with full virtual private network isolation. Virtual Private Cloud pricing starting at 4.5 cents an hour for a fully protected, fully redundant 1GB virtual machine with 1 processor

Azure does not provide a non-shared model. Processing capacity on nodes is shared by virtual machines managed by multiple tenants.

Service Level Agreement
Microsoft guarantees an availability of 99,95% for the virtual machine service. However, this is only guaranteed when Azure customers have two or more instances of the same role participating in an availability set. Microsoft does not provide a SLA for a single instance VM.

VMware has a SLA for each service offering. For the Dedicated Cloud an availability of 99,95 % is guaranteed. For the Virtual Private Cloud the availability is 99,90%. I do not know why there is a difference in availability. Both models use the same server hardware.

Storage services
As said before, Microsoft Azure sells components like processing and storage individually. Customers can just use a bunch of storage for backup or archiving without buying processing or the need for a VM.

Currently in vCHS it is not possible to just use storage without being charged for reservation of processing as well. Also vCHS does not provide the scaleable, block storage which Azure Storage provides. In vCHS storage comes with the VM, not as an independant resource,

Guest OS support
Azure is limited in the number of guest operating systems it supports. Currently Azure supports Windows Server 2008 R2 and Windows Server 2012. Also supported is SUSE Linux Enterprise Server 11 SP2, Ubunutu 12.04 and 12.10, CentOS 6.2 and CentOS 6.3  & openSUSE 12.3

vCHS supports many guest operating systems. From Windows NT4 to Windows Server 2012. In total vCHS currently supports 67 guest operating systems.

Feature connect
Both vCHS and Azure provide some sort of hybrid cloud. Hybrid cloud is basically an extension of an on-premise infrastructure to the public cloud.
Azure allows to connect on-premise networks with Azure using site to site VPN.
VCHS allows this as well.

In management of a hybrid cloud, administrators prefer to have  similar features in on-premise and public cloud platform.
Azure does not provide all the features of Hyper-V running on-premise. There is no support in Azure for VHDX virtual disk format, no Live Migration, no snapshot, no live extension of virtual disks, no remote console access etc.

Not all applications are supported in Azure. Microsoft for example does not support all Windows Server roles. DHCP is an example. Also Exchange Server is not supported. It will run but outgoing mail will be rejected by many organizations because the sending IP-address in the SMTP session (owned by Microsoft) will not match the domain name of the Azure customer. Reverse DNS is not supported yet.

As vCHS is running VMware ESXi as hypervisor most common features are available both in vSphere on-premise and in vCHS off-premise.
I do not know if the issue with Exchange is valid for vCHS as well.

Time to cloud
Using Azure it is a matter of minutes from typing in your creditcard number to the moment your first VM runs.

In VCHS another model is used. Customers needs to fill in a purchase order. It can take hours or even some days between registration and first operational virtual machine. vCHS is sold direcly from VMware and also by partners. Customers cannot use their creditcard and buy virtual machines online.

New platform features
Microsoft releases new features in Azure about every month. Most are for Paas, some for Iaas. There are no announcements on future features. Some to be released features can be used as Preview. One of the Preview features is the ability to failover to a second customer datacenter orchestrated by Azure.

VMware announced it will add DRaas to vCHS in Q4 2013. This enables per VM replication from on-premise to vCHS. Also Desktop as a Service is announced. VMware PaaS platform Cloud Foundry will be added in the future as well.

Conclusion
Azure and vCHS are different clouds. While Azure is primarily targeted at cloud application development (PaaS) and added Iaas type of features, vCHS is essentially a cloud infrastructure platform supporting legacy apps and is adding PaaS features in the future.