You did your research well and determined that you need to install your data center in the public cloud. You have studied the technology and defined the criteria that you will take into account in your purchase decision. The time has come to choose a public cloud provider for hosting your virtual machines.
But which provider provides the services and technical support that best suits your environment and needs?
This article is the latest in a series dealing with Cloud Computing purchasing decisions. The first article described the benefits of hosting virtual servers in the cloud , while the second detailed the costs and risks of a public cloud .
The third article presented the purchase criteria to be taken into account in a call for tenders to be sure to obtain from a supplier the services adapted to his environment.
This article compares four market-leading public cloud vendors, Amazon Web Services (AWS), Google, Microsoft, and Rackspace, based on the following seven criteria:
• Support for VM migration
• Support custom
• Image Library • Autoscaling
• Network Connectivity
• Storage Options
• Regional Support
1. Support for VM Migration
With public and hybrid clouds becoming more common, it is important for organizations to be able to move virtual machines (VMs) from an on-premises hypervisor into the public cloud and bring these workloads back into the enterprise as needed.
Among the leading cloud providers, AWS offers the most transparent VM migration path, although Microsoft is not far behind. AWS provides a graphical interface called AWS Management Portal for vCenter that enables virtualization administrators to manage their Amazon resources through VMware vCenter. This portal also provides the ability to migrate VMware VMs to the public cloud.
Microsoft has created its Azure public cloud on top of Windows Server and Hyper-V. Because Azure uses the same software as a large number of on-premises networks, it is relatively easy to migrate VMs between local data centers and Azure. The process is not transparent, but it is relatively easy once connectivity is established between Azure and a local network.
Google does not support VM migrations in the Google Compute Engine Cloud. However, there are third-party providers, such as Cohesive Networks, that allow VMs to be imported into Google Compute Engine.
Rackspace does not provide the ability to migrate VMs to the cloud or from the cloud. It does, however, offer a service called RackConnect, which is designed for hybrid clouds.
2. Support for custom images
Cloud providers typically create VMs from predefined images, but these generic OS images do not always meet the needs of a business. Therefore, they must provide the ability to create and exploit custom images of virtual machines.
AWS provides APIs that you can use to import VM images into the Amazon Cloud. AWS imports:
• VMware ESX and VMware Workstation VMDK images;
• Citrix XenServer virtual hard disk images;
• Microsoft Hyper-V VHD images for Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2;
• Red Hat Enterprise Linux (RHEL) 5.1-5.11, 6.1-6.6 (using Cloud Access), Centos 5.1-5.11, 6.1-6.6, Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04, 14.10 and Debian 6.0.0-6.0 .8, 7.0.0-7.2.0
Microsoft makes it easy to create a custom image. The simplest method is to create a virtual hard disk file and import it into Azure. Even if you can create VHD images from scratch, System Center Virtual Machine Manager can facilitate the imaging process.
Rackspace supports the creation of custom images, which can be imported and exported in its Cloud environment. Rackspace also provides a custom API designed to share custom images.
3. Image Library
Although many companies are trying to reduce the number of server operating systems they use, heterogeneous environments are becoming more common, especially in the cloud. A good cloud provider must have a varied offer of OS.
This is the case of Rackspace, which offers a dozen variants of Linux, including Ubuntu, Red Hat Enterprise Linux and CentOS. In addition, Rackspace offers Windows Server 2008 and Windows Server 2012. Windows Server images can be pre-loaded with SQL Server or SharePoint. The versions that are available vary depending on the operating system you choose. Available Windows Server 2008 images are Base OS, SQL Server 2008, SQL Server 2012, and SharePoint 2010. Available Windows Server 2012 images are R1 and R2 base, R1 with SQL Server 2012, R1 with SharePoint 2013, and R2 with SQL Server 2014.
Microsoft provides various operating system images, including Windows Server, Ubuntu, CoreOS, CentOS, SUSE, Oracle and Puppet Labs. You can deploy Windows images using only the base operating system or by integrating Microsoft server products such as SharePoint, SQL Server, BizTalk Server, Visual Studio, or Microsoft Dynamics.
AWS provides Windows images, as well as a number of Linux images. The Linux versions available are Red Hat Enterprise Linux, SUSE Linux, Ubuntu, Fedora, Debian, CentOS, Gentoo Linux, Oracle Linux and FreeBSD.
Google offers a range of high-end operating systems, including Red Hat Enterprise Linux, SUSE and Windows Server.
Typically, the demand for workloads is not linear and increases and decreases. Ideally, a cloud provider should allow automatic sizing based on demand.
Rackspace offers an autoscaling feature that increases or decreases the size of the cloud based on a set of user-defined rules. These rules may include a schedule for increasing workloads just before a peak of activity and reducing them once the peak is complete.
For this purpose, Microsoft’s Azure interface includes a Scale page. You can use this page to manually size an application or to define the parameters that will be used for automatic sizing of the workload.
Google offers an autoscaling tool that increases or decreases scaling based on fluctuating demand, and can be used with a group of managed instances.
AWS provides autoscaling features that can be enabled for a group.
5. Network connectivity
Network connectivity is also an important consideration in choosing a cloud provider. You must be able to connect your on-premises network to your cloud network, and your provider must offer various connectivity options.
AWS offers a function that it calls Enhanced Networking. This service is available for Windows and Linux VMs, and offers better network connectivity than the standard one. The Enhanced Networking feature is specifically designed to provide low latency. It is enabled by default for Amazon Machine images created for Windows Server 2012 R2 and Linux HVM.
Rackspace offers several network connectivity options. Extreme Networking, for example, is Rackspace’s broadband solution that uses 10Gb / s double-link connections. There is a more generic Rackspace option, Cloud Networks, designed for multi-level SDNs. Rackspace also offers cloud load balancing features and IPv6 support.
Google Compute Engine provides all the basic features of a cloud’s network connectivity, but also the load balancing and DNS of the cloud. In addition, Google offers an interconnect feature that allows customers to connect to the Google Cloud directly or via VPN.
Microsoft has designed Azure to help support hybrid clouds. Although you can define virtual networks in Azure, you can also connect Azure to your corporate network through a point-to-point VPN. When you do this, the Azure network functions as an extension of an on-premises network. For example, a cloud application can access a local SQL Server database.
6. Storage options
Storage requirements vary by workloads. Some workloads can easily run a generic storage system, while others require high-performance storage. Therefore, a cloud provider must offer several storage options.
Amazon EC2 provides basic storage for VMs, but this service is actually designed to connect to Amazon’s Elastic Block Store (EBS) service, which is designed to be scalable, flexible, and fault-tolerant. For example, the proposed storage system may be universal, based on SSDs and hard disks, or Provisioned IOPS. In addition, Amazon EBS supports the use of regular snapshots. AWS also offers several fault-tolerant storage configurations.
Microsoft provides a basic storage system for Azure VMs and high-end storage for high-performance workloads. The latter uses SSDs and standard storage of rotating hard drives. In high-end storage, the allocation is flexible: you can define multiple disks for each VM and allocate up to 32 TB of storage space to a single VM. High-end storage can perform up to 50,000 IOPS per VM with extremely low latency, especially for read operations.
Google offers three different storage options. Cloud Datastore is a managed, schema-free NoSQL database that stores nonrelational data. For the storage of databases, Google offers a fully administered MySQL database. For more general storage, Google offers Cloud Storage, which is primarily object storage that can be programmatically managed through a provided API.
Rackspace provides two main storage options: No Spinning Disks and Cloud Block Storage. As the name implies, the No Spinning Disks option is a fully SSD-based storage solution for VMs and bare cloud servers. Cloud Block Storage, on the other hand, is a solution reserved for virtual servers. It can use SSD or rotating drives and be connected to VMs over a 10 Gb / s connection.
7. Regional support
Sometimes, for legal or commercial reasons, companies are forced to host their resources in a specific geographic area. In this case, the cloud provider should ideally allow its customers to choose the location of the hosting of their VMs.
AWS provides the ability to host instances of VMs in specific regions. It also refers to various Availability Zones in these areas, far enough apart from each other to be safe from possible disasters.
Google allows you to choose the hosting regions of your VMs. However, there are differences in the material used in the various regions and each region has several areas. The sites offered by Google are located in the United States, Ireland, Germany, South America and Asia. Some resources, such as VM images, are not region-specific.
Microsoft has defined 17 regions for Azure, located throughout the United States, Europe, Asia, South America, and Australia.
Rackspace has Cloud datacenters in the United States, London, Hong Kong and Sydney (Australia). The company uses these data centers to enable redundancy and ensure consistent availability. Rackspace does not give the ability to confine a VM to a specific region.
Choosing the right public cloud provider can make all the difference by giving you a true extension of your on-premises data center. Studying prices and features can be difficult, so carefully design a tender that will allow you to compare comparable items and make the right choice for your environment and the needs of your business.