Analyst Report: A checklist for stacking up IaaS providers

1 Summary

Infrastructure as a Service (IaaS) is the fastest growing segment of the cloud services market. According to Gigaom Research, the current worldwide cloud market is growing by 126.5 percent year over year, driven by 119 percent growth in SaaS and 122 percent growth in IaaS.

Irrespective of the workload type, the key building blocks of infrastructure are compute, storage, networking, and database. This report focuses on identifying a set of common features for each of the building blocks and comparing them with the equivalent services offered by key players of the IaaS industry. The scope of this report is limited to public clouds and it doesn’t compare private cloud providers offering IaaS.

This report doesn’t attempt to compare the price and performance of the cloud service providers. The IaaS players are dropping their prices so frequently that the captured snapshot would be obsolete by the time this report is published. Since each workload, use case, and scenario differs from customer to customer, providing the technical benchmarking information is not practical. It’s best to pilot your app on several clouds and see what actual performance you get.

2 Key players of the IaaS landscape

The key players within the IaaS landscape are Amazon Web Services, Rackspace, Microsoft Windows Azure, Google Compute Engine, and HP Cloud Services. They are shortlisted based on features, maturity, adoption, and their partner ecosystem. The factors that define the maturity of the providers have been covered in detail in the Gigaom report, Infrastructure-as-a-Service basics: A guide for IT pros.

Amazon Web Services

Started as a set of web services for developers, AWS has evolved into an enterprise cloud platform. AWS’s most popular services are Amazon EC2, Amazon S3, Amazon VPC, Amazon DynamoDB, and Amazon RDS. Though started as a set of infrastructure services, AWS is slowly blurring the line between IaaS and PaaS by adding platform capabilities through AWS Beanstalk and AWS OpsWorks.

Rackspace

Rackspace evolved from a hosting service provider to an IaaS provider. OpenStack, which was developed in a partnership with NASA, is the foundation for Rackspace’s public cloud. It considers customer support as the key differentiating factor. Rackspace Cloud Servers, Cloud Storage, Cloud DNS, Cloud Load Balancers, and Cloud Databases form the key building blocks of its infrastructure.

Microsoft Windows Azure

Windows Azure started as a PaaS for .NET developers and gradually evolved into a comprehensive cloud platform. Microsoft added IaaS capabilities like VMs, persistent disks, load balancers, and firewalls with Windows Azure Infrastructure Services (WAIS). Along with Microsoft Windows, Azure IaaS also supports running popular Linux distributions.

Google Compute Engine

Google Compute Engine is the latest addition to the Google Cloud Platform. Unlike Microsoft, Google chose to invest in an IaaS platform separate from its PaaS offering. Some of the initial benchmarks prove that Google is able to deliver better performance than its competitors. Google Cloud Storage and Google Cloud SQL are the common building block services for both Google App Engine and Google Compute Engine.

HP Cloud

HP Cloud went live with its OpenStack-based commercial cloud offering in 2012. Since then it has introduced more features including DNS, load balancers, a content delivery network (CDN), and relational database services. HP is counting on its presence in the enterprise combined with its strong partner ecosystem.

3 Key components of IaaS

What is common between an application based on social media, a mobile application, a gaming application, and an enterprise line-of-business application is the core set of building blocks that power them. Irrespective of the application scenario, each of them needs compute to execute the code, storage to serve the content, networking to provide connectivity, and a database for transactions and persistence. Whether the application is running on-premise or on the cloud, these core components form the building blocks of an application. IaaS providers offer these services independently on a subscription model letting the customer choose what they need for their specific scenario. Compute is delivered as a set of virtual machines, storage is offered as an object storage service, network is exposed through virtual firewalls, load balancers, and isolated subnets, and finally, relational and NoSQL databases are available on demand for consumption. There are many similarities among cloud infrastructure providers in terms of supported features for each of these building blocks.

Building blocks of IaaS

Screen Shot 2014-02-28 at 2.43.25 PM

Source: Janakiram MSV/Gigaom Research

The following sections highlight the key features of these building blocks with detailed analysis of their implementation by the key cloud providers.

4 Compute

Compute is the key building block of IaaS. It enables customers to launch VMs rapidly in the cloud. VMs are based on templates, which contain a preinstalled base operating system. Each service provider offers a variety of configurations with varying number of cores, CPUs, memory, storage, and I/O capabilities. Customers can launch an existing template and modify it to create a customized template, which can be used to launch similar VMs when required.

Customers signing up for the compute service should consider the following factors that will impact price and performance in the long term.

Geographical presence

Many IaaS customers start small with their user base concentrated around a specific geography. But as they grow and target global users, their infrastructure must expand to support that global customer. It is important to understand the number of data centers an IaaS provider offers and where they are located. It should have at least one data center on each continent.

Regions and availability zones

IaaS providers use the nomenclature of regions and availability zones in the context of data centers. A region indicates the presence of the provider in a given geography, which typically represents a collection of data centers. Each region contains at least two independent, isolated physical data centers known as availability zones. The availability zones are interconnected by a low latency and high throughput network. IaaS providers leverage the availability zones for high availability and redundancy and also encourage customers to deploy resources across these facilities for fault tolerance and failover. The higher the number of regions and the availability zones, the better the resiliency of the architecture for customers.

VM types and families

Despite ongoing improvements to compute service by IaaS providers, many of them do not support dynamic configuration of virtual machines. The specifications of the VMs are fixed and customers are expected to choose the right configuration aligned with their workloads. These predefined VM configurations are called VM types or flavors. VM types vary in the number of supported cores, processors, memory, storage, and network I/O. VM types are further categorized into families based on their CPU, memory, and storage capabilities. It is important to understand the supported VM types and families before investing in an IaaS platform as they directly impact the performance and cost.

Virtual cores and virtual CPUs

Since each IaaS provider uses a different virtualization layer, it is not easy to map the processing power of physical servers to VMs. The number of supported virtual cores per virtual CPU defines the performance of a VM. The power of a vCPU significantly differs between a physical server and the VM. To make capacity planning easy, IaaS providers publish the equivalent physical processor for the vCPU specification. This is typically considered the equivalent CPU capacity of a 1.2 GHz Opteron or Xeon processor. But with some of the advancements in the processor architecture, this is changing fast. Customers should understand the definition and the mapping of vCPU before launching VMs.

Choice of operating systems

Most enterprise deployments are heterogeneous with the software running on various open-source and proprietary platforms. An IaaS provider should have the latest versions of popular Linux distributions along with the latest version of Microsoft Windows server in its catalog. It is common to find Ubuntu, CentOS, and SUSE distributions of Linux, but only a few providers support the latest version of Microsoft Windows. It is also important to check if the provider is certified to run enterprise operating systems like Red Hat Enterprise Linux and Oracle Linux.

Purchasing options

IaaS offers compute resources on a pay-by-use subscription model. While this is an advantage for startups, it doesn’t offer cost advantage to enterprises looking at long-term investment. Some of the mature IaaS providers offer discounts if customers commit to running the VMs for one or three years. By paying a percentage of the overall consumption upfront, customers get a significant discount on the on-demand pricing. Similarly, customers can also bid for surplus compute capacity available with the provider and pay less than the listed price of VMs. Analyzing the utilization pattern of the VMs and adjusting the cost accordingly will be an important part of ongoing cost optimization on the cloud. Customers should understand the purchasing models offered by each provider before making a decision.

Billing model

During the early days of IaaS, it was revolutionary to think of consuming compute power on demand and paying by the hour. But with the advancements in virtualization and the acceptance level of cloud by customers, this model is evolving fast. With the pay-by-hour model, even if the VM runs only for a few minutes, the provider charges for the whole hour. Some of the providers are challenging this by offering a per-minute billing model. Though it may not look significant, it will have serious impact on the long-term cost associated with running specific types of workloads involving batch processing. Customers should carefully analyze the workloads and tweak them to take advantage of the granular billing model of the provider.

Persistent storage

VMs launched within IaaS typically come with storage devices that are not persistent. This type of storage is called ephemeral because of the transient nature of these disks. Most of the providers offer a persistent disk as a separate storage unit that can be attached to the VMs. The lifetime of these disks goes beyond the VMs, providing durability. Data stored in these disks is independent of the VMs and it can be easily plugged into any running VM. While this has been a common feature, the limitation comes in the form of I/O operations supported per second, referred to as IOPS. When running software like ERP, it is not just persistence but also the performance of the disk that matters. Some of the mature providers offer persistent disks based on SSDs that have better IOPS, making them ideal to run enterprise applications. It is also possible to create persistent disks with provisioned IOPS where the provider commits to deliver a specified number of read and write operations per second. Customers should assess the I/O capabilities of the platform before attempting to migrate enterprise workloads to the cloud.

VM import and export

With investments in virtualization and private cloud, enterprises are looking at simplifying the management of VMs. Customers would like to easily export VM templates created by their internal IT teams to the public cloud. This would make it easy to manage and maintain the growing number of images and VM templates across the private cloud and public cloud. Only a few IaaS providers support importing and exporting of VMs. Enterprise customers should evaluate the VM import/export feature that provides better manageability and governance.

SLA

With mission critical applications moving to the public cloud, SLA plays an important role. While a lawyer might be required to comprehend the fine print of the terms and conditions, it is important to understand the terminology and the way by which the IaaS provider compensates the loss occurred during disruption. Some providers calculate the downtime on a yearly basis in a way that a few hours of monthly downtime doesn’t impact the promised uptime but negatively impacts the customer deployments. It is also important to understand the clauses that qualify the customer to claim compensation. Some providers commit the uptime only if the customer launches at least two VMs running across multiple availability zones. Running a single VM disqualifies the customer from claiming the financial credits. Customers should carefully understand the SLA before investing in an IaaS.

Strengths and weaknesses of the key cloud providers

Amazon EC2

AWS enjoys an early mover advantage with EC2. Since its launch in 2008, Amazon has continuously improved the compute service. It recently added the capability to back up and restore VMs across geographies making it possible to migrate VMs from one region to another.

Amazon scores high when compared to its competition in terms of the number of geographic locations, choice of VM types, choice of operating systems, and innovative purchasing options. It is one of the few platforms to get certified by enterprise software players like Red Hat, IBM, Oracle, SAP, and Microsoft. AWS responded to customer complaints about lower performance and throughput on EC2 by offering SSD-based VMs and block storage. Provisioned IOPS made it possible for customers to get predictable performance for I/O intensive workloads like big data and ERP. Spot Instances provided a new opportunity for customers to save on their compute bill through bidding for surplus capacity. The ability to run VMs in a nonshared, single-tenant mode called dedicated instance made it easy for customers with stringent compliance and regulatory requirements. EC2 supports running VMs created for vSphere and Hyper-V environments through its import and export feature. This opens up the door for enterprises that already run a private cloud on VMware or Microsoft platforms.

AWS is often criticized for its customer support, which is expensive. Customers not willing to pay for support will have to rely on the discussion forums that do not offer accurate and timely resolution. With the availability of more than 20 VM types of EC2, customers complain about the lack of guidance in choosing an appropriate VM type. While the competition sells the compute service by the minute, AWS bills for EC2 by the hour. The native monitoring system of AWS, Amazon CloudWatch, is limited in its capabilities and requires customers to use a third-party monitoring solution, which makes it hard to have a unified monitoring environment. Finally, EBS, the block storage of EC2, can be attached to only one VM at a time, forcing customers to deal with data synchronization across machines running in a cluster. More details on the limitations of Amazon EC2 can found in this report.

Rackspace Cloud Servers

Rackspace is transitioning its IaaS platform from first-generation servers based on the Mosso platform to OpenStack. Though it is working hard to compete with AWS, customers prefer Rackspace more for its traditional offerings based on colocation and reliable hosting than its cloud services.

Rackspace Cloud Servers are based on open-source cloud management software, OpenStack, which offers portability and openness of the VMs. Powered by Xen and Citrix XenServer hypervisors, Rackspace Cloud Servers can run major distributions of Linux and the latest version of Microsoft Windows operating system. Rackspace Cloud is available across five regions that include the U.S., Europe, and Asia. Unlike its competitors, Rackspace doesn’t charge for IOPS and only charges for the size of the block storage, which makes it easy to estimate costs. Customers can choose the managed cloud offering that extends its on-demand compute service to a managed service, which is monitored and maintained by certified system administrators. Rackspace’s monitoring service, powered by Cloudkick, is a comprehensive service when compared to the competition. Existing customers appreciate the fanatical support promise and mention that as the key reason for continuing with it. Rackspace’s clear differentiating factors are its hybrid cloud and customer support.

One of the biggest drawbacks of Rackspace Cloud Servers is the lack of choice of VM types. It also doesn’t support import and export of VMs despite running on top of OpenStack. Rackspace Cloud Servers only advertises on-demand pricing and does not have enterprise specific purchase plans based on long term commitment. Rackspace is heavily investing in OpenStack and has aggressive plans to bring OpenStack innovations to its IaaS platform. It will be interesting to watch how Rackspace maintains an edge over its partners and competitors who are also offering commercial OpenStack-based cloud offerings.

Windows Azure Infrastructure Services

Moved into general availability in May 2013, Windows Azure Infrastructure Services (WAIS) is evolving to compete with AWS. Within a month of going live, Microsoft and Oracle announced a partnership to run Oracle Linux, Oracle WebLogic, and Oracle 12c Database on Windows Azure. Given the strong partnership between Amazon and Oracle and the past rivalry between Microsoft and Oracle, this announcement raised eyebrows. It’s likely the two legacy IT giants decided to work together to compete with AWS.

Windows Azure comes close to AWS in its geographical presence with seven locations across the globe. It also offers a choice of VM types and operating systems through the support of Ubuntu, SUSE, and CentOS distributions of Linux. It obviously offers the latest version of Microsoft Windows Server along with SQL Server, BizTalk Server, and SharePoint server. Microsoft aims to make Windows Azure IaaS the preferred platform to run its server software. By offering deep discounts to run dev/test workloads for MSDN subscribers, it is trying to get developers on its side. Having heavily invested in PaaS, Azure has tighter integration between its cloud services (PaaS) and infrastructure services (IaaS), enabling a mix-and-match usage of its services. Azure is the only cloud that bills customers per minute instead of the traditional hourly billing. Enterprise customers running Hyper-V based private clouds can migrate VMs to Azure, which Microsoft highlights as a key strength of the Azure platform. With the integration with Microsoft System Center, Azure can be managed by the same set of standard tools used by the IT operations teams.

Microsoft has yet to offer CPU- and I/O-optimized VM types that are essential to run higher performance workloads. When compared to Amazon EC2, Azure has a limited choice of VM types. The storage architecture, which is an extension of its PaaS layer, delivers less throughput and becomes a bottleneck for running high-I/O applications. If Microsoft is serious about getting enterprise customers on Azure, it should get its cloud infrastructure certified to run Red Hat Linux. Since Red Hat Enterprise Linux powers the majority of Linux applications, lack of support on Azure becomes a barrier to adoption.

Google Compute Engine

As of January 2014, GCE is available in European and American data centers. Each region has at least two zones. Each zone is completely independent and isolated from other zones.

GCE scores high when it comes to the choice of VM types also known as machine types. There are 12 machine types that offer different configurations based on CPU, memory, storage, and the number of additional disks that can be attached. The initial benchmarks suggest that GCE is performing better than Amazon EC2. This is because of the storage and network architecture that delivers better I/O to the applications. Before Microsoft announced the per-minute billing, Google started the trend with a 10 minute billing model. Though the base rate is calculated hourly, the billing unit starts with a minimum of 10 minutes and then gets incremented every minute. One of the biggest advantages of GCE is the ability to attach the same persistent disk to multiple VMs. The important fact to consider is that all the VMs will have read-only access to the shared disk. This is still useful as it emulates shared disks on the cloud, which is complex to achieve on other IaaS environments. GCE also has a well-designed networking architecture that makes it easy to isolate public-facing servers and sensitive resources like databases.

GCE only supports two flavors of Linux — Debian and CentOS. This limits the choice of available operating systems for enterprise customers who run the majority of their applications on Red Hat Linux and Microsoft Windows. GCE doesn’t support importing and exporting VMs, which is an essential requirement of enterprises. Google lacks basic monitoring capabilities for VMs, leaving the responsibility entirely to customers. Google is expected to close these gaps in the future updates.

HP Cloud Compute

HP announced its public cloud service in April 2012. It was one of the first commercial cloud platforms to go live on OpenStack. Based on the “Havana” version of OpenStack, HP Cloud offers compute based on the OpenStack Nova project. These services became generally available during August 2012.

Since OpenStack powers both, there are striking similarities between Rackspace Cloud and HP Cloud. HP Cloud’s compute service offers 12 different VM types classified as standard and high memory instance types. HP Cloud supports popular Linux distributions along with Microsoft Windows Server 2008 R2.

As of October 2013, HP is trying to meet the baseline requirements of IaaS by offering the essential foundational services. It is counting on its enterprise footprint and strong sales force to drive adoption. HP Cloud is presently available only in the U.S., limiting the choice of locations. Lack of support for Red Hat and the latest version of Microsoft Windows limits the choice of applications that can be migrated. Setting up a hybrid environment is not straightforward and requires the involvement of the HP professional services team. It is hard to find the differentiating factors of HP Cloud in its current form.

Stacking them up

The following table summarizes the capabilities and features of the compute service of key players.

Category Feature AWS Azure GCE HP Cloud Rackspace
Geographical
presence
# of regions 9 8 2 2 5
N. America Yes Yes Yes Yes Yes
S. America Yes No No No No
Europe Yes Yes Yes No Yes
Asia Pacific Yes Yes No No Yes
VM types # of VM types 27 8 15 11 9
# of families 6 2 4 2 2
SSD-based VMs Yes No No No Yes
Hypervisor KVM No No Yes Yes No
Hyper-V No Yes No No No
Xen Yes No No No Yes
Citrix XenServer No No No No Yes
Linux distributions CentOS Yes Yes Yes Yes Yes
Debian Yes No Yes Yes Yes
SUSE Yes Yes No No Yes
Oracle Linux Yes Yes No No No
Ubuntu Yes Yes No Yes Yes
Red Hat Linux Yes No Yes No Yes
Microsoft Windows Windows Server 2003 Yes No No No No
Windows Server 2008 Yes Yes No Yes Yes
Windows Server 2008 R2 Yes Yes No Yes Yes
Windows Server 2012 Yes Yes No No Yes
Purchasing options On-demand Yes Yes Yes Yes Yes
Reserved Yes Yes No No No
Spot Yes No No No No
Billing model Hour Minute 10 minute Hour Hour
Persistent storage Yes Yes Yes Yes Yes
Provisioned IOPS Yes No No No No
Shared persistent disks No No Yes No No
VM import / export Yes Yes No No No
SLA 99.95% 99.95% 99.95% 99.9% 99.95%

 

5 Storage

Storage in a physical environment is available in the form of direct-attached storage (DAS), storage area network (SAN), or network-attached storage (NAS). On cloud, storage is a separate service that provides a durable engine to store and retrieve objects. This is different from the way storage is leveraged in the physical data center. Cloud storage is exposed via REST APIs, which can be consumed by any application. This is typically used to store static content that needs to be accessed by a variety of consumers. Most cloud storage services offer extended CDN capabilities to cache and deliver the content through an array of edge locations.

Customers signing up for storage services should consider the following factors.

Core storage capabilities

Core capabilities of a cloud storage provider include support for creating high-level containers that store objects along with metadata. Each provider has limitations on the number of containers per storage account, number of objects per container, and maximum size of metadata per container or object. Depending on the scenario, these factors will influence selecting a specific provider. For example, an enterprise may want to store a few gigabytes of data as a single unit while the maximum size of an object supported by the provider might be less than that. Versioning is another common but important feature in which multiple copies of the same object may be stored and retrieved. Metadata associated with each object can store additional information, which makes it easy to query and retrieve objects. Customers should check for these core features offered by cloud storage providers.

Cost calculation

Three factors typically influence the cost of cloud storage: size of data stored, transactions, and data transfer. Most of the cloud storage providers have tiered pricing that reduces the cost with the increase in the amount of data stored. Transactions refer to the HTTP requests or REST API calls that perform read or write operations on objects. Data transfer represents the inbound and outbound bandwidth consumption. It is common for most IaaS providers to offer free inbound data transfer and charge only for the outbound. Overall cost can be calculated by considering these parameters.

Reduced durability

Some IaaS providers offer a cheaper flavor of storage that comes with lesser durability. While the standard SLA for regular cloud storage could be 99.99 percent, the reduced durability storage comes with only 99.95 percent of availability. When customers store data that can be regenerated in an event of loss, they do not need storage with high durability and availability. Instead, they prefer a cheaper option with reduced durability. Behind the scenes, the cloud storage providers differentiate between standard and reduced redundancy based on the number of redundant copies maintained per object. In reduced redundancy, the data may be replicated within the same availability zone, saving the cost of storage and bandwidth but also minimizing the chance of data recovery in the event of failure. This is an option for customers to save on storage when they do not require high durability of data.

Security

One of the major concerns of storing data on the cloud is security. There are multiple techniques that the cloud storage provider can offer to secure data. At the minimum, the provider should have access control lists (ACL) and role based security to protect the data. Advanced techniques include multifactor authentication (MFA), server-side encryption, and signed URLs. Server-side encryption is a mechanism that provides seamless encryption of data without the developers dealing with the encryption algorithm and keys. MFA can secure the API calls made to the cloud storage platform through an additional layer of security. Signed URLs, also known as TempURLs, are used to generate URLs that give public access to private objects for a specific time window. Since these temporary URLs expire after a stipulated period of time, they are useful in sharing content without providing public access. Customers should carefully evaluate the security mechanisms offered by the provider to check if the data is secured during transit and while at rest.

Static websites

Though many customers may not use it, hosting websites on cloud storage is a common scenario. Since there are no compute resources associated, it is cheap to serve static websites hosted on cloud storage. Most of the providers support this by enabling customers to mark the default document that automatically shows up without typing the entire URL. It is also possible to associate the container hosting the static website with a domain by mapping the CNAME. By enabling logging, it is possible to access the standard logs to analyze the traffic and other parameters. When combined with CDN, this technique offers high scalability and availability of websites.

Offline import and export

Customers migrating large datasets to the cloud find it an expensive and time-consuming effort. Some of the providers support importing bulk data by copying to an external storage device and shipping it. While this may be a common feature, it is important to check if the provider supports encrypting and decrypting the data sent via offline devices. Since inbound data transfer is free, customers incur cost when exporting large data sets. Customers should verify that the provider not only supports offline import but also export.

CDN integration

Since users from various locations access the data stored on cloud, it makes sense to cache the frequently accessed data in the location nearest to the user. This is where a CDN has a crucial role to play. Mature cloud providers offer tight integration between storage and CDN, making it easy for customers to deliver the content via their own or a partner’s content delivery network.

SLA

Cloud storage SLAs typically offer an uptime of 99 percent or above, which translates to the availability of the objects in a given billing month. Customers should understand the clauses that mention the error rate of HTTP requests, which are counted towards the downtime. An important point to note is the difference between durability and availability. While the documentation and marketing material highlights the durability, the SLA may cover only the availability of the service. Customers should consider the differences of committed uptime between the standard and reduced durability tier.

Strengths and weaknesses of the key cloud providers

Amazon S3

Launched as one of the first services of AWS in 2006, Amazon S3 has come a long way. It was the default storage engine for Amazon EC2 until the introduction of Amazon Elastic Block Store in 2009. According to a report published in April 2013, there are over two trillion objects stored on Amazon S3 and the number of API calls peaks at 1.1 million per second.

One of the key aspects of cloud storage is security. Amazon S3 offers a variety of techniques to secure the data. Containers and objects residing in S3 can be secured by applying policies and ACLs that can selectively grant or restrict access to the data. By combining this with Amazon’s federated identity model, AWS IAM, customers get fine-grained control. The service also supports multi-factor authentication (MFA) when dealing with versioned objects in S3. Through server-side encryption, data at rest is protected by transparently managing the encryption and decryption of data without the need for the customer to deal with encryption keys and tools. While Amazon S3 provides better durability of objects, it also has a lower tiered storage called reduced redundancy storage (RRS) that offers lesser durability. Customers who can compromise on the durability but need cheaper cloud-based object storage prefer RRS to standard Amazon S3.With tighter integration with Amazon Glacier, a low-cost archival service, objects stored on Amazon S3 can be automatically archived after reaching end of life. AWS customers can make the content stored in Amazon S3 available across more than 40 edge locations using Amazon’s CDN called CloudFront. Amazon Storage Gateway, an appliance that resides on-premise, auto archives SAN- and NAS-based files to Amazon S3. This makes the storage service the backbone of AWS. Amazon S3 has a strong ecosystem in the form of tools, extensions, and plug-ins for enterprise database, mail, and storage software.

Rackspace Cloud Files

Originally launched as Mosso CloudFS in May 2008, Rackspace Cloud Files is an incarnation of the OpenStack “Swift” project.

Rackspace has integrated with Akamai’s CDN to deliver content across multiple edge locations. By leveraging over 200 Akamai edge locations, Cloud Files content can reach end users all over the globe. The CDN price and the data transfer charges are included in Cloud Files, which the billing structure simpler than Amazon S3. Rackspace relies on its “fanatical support” promise to attract customers. Like its compute service, storage is also offered in hybrid mode with the choice of hosting the content on either cloud or dedicated servers.

Rackspace Cloud Files does not have a tiered approach based on the durability of objects. It has not implemented server-side encryption, leaving the responsibility of securing data to customers. There is no data retention or lifecycle policy to autoexpire or delete objects automatically. Rackspace hopes to leverage the advancements made in OpenStack to enhance its cloud storage service.

Windows Azure Storage

Windows Azure Storage is one of the original building block services that was launched as a part of Microsoft’s PaaS. According to an official Microsoft blog post, Windows Azure Blob Storage hosts more than 8.5 trillion unique objects, making it one of the most used cloud storage services.

Windows Azure Storage has evolved to support various scenarios including storing the disks that are used by Azure VMs. It is a mature storage offering with tight integration with CDN and on-premise storage units supported through the StorSimple appliance. Windows Azure Blob storage has two levels of redundancy: geographic redundancy and local redundancy. Local redundant storage (LRS) offers less durability as it replicates the data within the same subregion that makes it difficult to restore in case of a subregion failure. Geo redundant storage (GRS) has better durability since the data is replicated across multiple subregions that are physically isolated. Microsoft recently announced the ability to ship offline disks for importing and exporting bulk data.

Windows Azure Storage doesn’t have server-side encryption at this point. Lack of command line tools for Linux and Mac makes it difficult for non-Microsoft customers to manipulate the objects stored on Azure.

Google Cloud Storage

Since its launch in May 2010, Google has added many features to its cloud storage. Google App Engine and Google Compute Engine customers use it extensively for serving static content.

Google Cloud Storage (GCS) offers security through server-side encryption along with OAuth 2.0 authentication that avoids the usage of username and password combinations. Data and metadata stored in Google Cloud Storage is encrypted under the 128-bit Advanced Encryption Standard (AES-128). GCS also has a cheaper storage option in the form of Durable Reduced Availability (DRA) Storage. GCS’s API is compatible with Amazon S3, which makes it possible to reuse the tools and utilities. GCS supports object versioning to maintain an archive of objects. It provides a way to undelete data that is accidentally deleted or to retrieve older versions of the data. Google is currently testing a bulk import feature in the U.S. Customers can ship an offline disk with encrypted data to Google for faster and cheaper upload of the data. Though Google doesn’t officially mention the integration of CDN, some performance tests demonstrate that Google actually caches static content across servers in its global network.

After Amazon S3, GCS comes close to meeting enterprise storage requirements through its security, tiered pricing, and offline disk-based import features.

HP Cloud Object Storage

HP Cloud Object Storage is based on the OpenStack Swift storage component. Like Rackspace, HP has partnered with Akamai for a CDN service.

Security and authentication for the HP Cloud Storage is based on the HP Identity Service that acts as a centralized authentication engine. Containers can be made public or private. Private containers can only be accessed by authenticated users based on predefined access control lists (ACL) associated with the container and object. It is also possible to create TempURLs that provide public access to objects for a limited time.

HP Cloud Object Storage suffers from the same limitations as Rackspace. It does not have a tiered approach based on variable durability of objects. It has no server-side encryption, leaving the responsibility of securing the data to the customers. There is no data retention or life cycle policy to auto-expire or delete objects automatically.

Stacking them up

The table below compares the main storage features of the key service providers.

Category Feature AWS Azure GCE HP Cloud Rackspace
Core storage # of containers per account 100 Unlimited Unlimited Unlimited 500,000
# of objects per container Unlimited Unlimited Unlimited Unlimited Unlimited
Max. size of an object 5 TB 1 TB Not available 5 TB 5 TB
Metadata Yes Yes Yes Yes Yes
Versioning Yes Yes Yes Yes Yes
Reduced redundancy Yes Yes Yes No No
Access logs Yes Yes Yes No No
Security ACL Yes Yes Yes Yes Yes
OAuth No No Yes No No
Multi-factor authentication Yes Yes No No Np
Role-based access Yes No No No Yes
Server-side
encryption
Yes No Yes No No
SSL Yes Yes Yes Yes Yes
TempURLs Yes Yes Yes Yes Yes
Websites Static website Yes Yes Yes Yes Yes
Default document Yes No Yes Yes Yes
Error document Yes No Yes Yes Yes
CNAME support Yes Yes Yes No Yes
Bulk data Offline disk support Yes No Yes Yes Yes
Encryption Yes No Yes No No
CDN CDN provider CloudFront Microsoft Google Akamai Akamai
# of edge locations 42 24 Not available Not available 213
SLA 99.99% 99.90% 99.90% 99.95% 99.90%

 

6 Network

The networking capabilities of IaaS range from basic DNS to advanced VPN integration. Common networking capabilities of cloud providers include load balancers that distribute traffic evenly across the VMs and firewalls that protect the VMs. Some mature service providers also offer advanced networking features in the form of isolated subnets, MPLS connectivity to the data center, and VPN integration for securely connecting on-premise resources to the cloud. New software-defined network (SDN) capabilities will enable cloud service providers to deliver programmable, dynamic, and rich networking services to their customers.

When choosing an IaaS provider, the following networking features must be considered.

Security Groups

While almost every IaaS platform offers a virtual firewall in the form of security groups, only a few support advanced capabilities like allowing the traffic to a port from a specific set of IP addresses. A typical use case of this scenario would be opening HTTP port 80 to the public while restricting access to port 22 to a valid IP address belonging to the corporate IP data center. This capability makes the cloud deployment very secure. The other important feature to check is the ability to allow traffic originating from a specific security group. This is possible by associating two security groups by defining the origin. This scenario is applicable to multitiered applications where access to the database server is restricted only to the application server. Any traffic targeting the database server should originate from the application server. This offers an additional layer of security to the VMs.

Load Balancer

One of the recommended deployment strategies on the cloud is the scale-out strategy where a number of low-powered virtual machines are used instead of one high-end virtual machine. To effectively utilize the deployed virtual machines, the traffic has to be routed evenly among them. Load-balancer-as-a-service brings the traditional, hardware-based load balancer to the cloud. Apart from routing the traffic, this service is capable of continuously checking the health of participating VMs by probing identified ports for a valid response. For example, it is possible to configure health-check parameters of the load balancer to ping a resource on each webserver every five minutes. If the response is valid, it is considered to be healthy, and the load balancer can stop sending the traffic to the faulty VM. This is useful in identifying faulty VMs and excluding them from receiving further requests. When moving legacy applications that are not stateless to the cloud, it is difficult to implement this scale-out strategy. Each web app server needs to be associated with a session to ensure the request and response are dealt by the same server. A feature of load balancers, called sticky session, makes this possible. Without this feature, it is hard to migrate legacy applications that expect the session to be maintained in each server. Apart from these major features, customers should check if the virtual load balancer supports associating with a static IP address, connection throttling that imposes limits on the traffic per IP address, and SSL termination to host secure servers behind the load balancer.

DNS

DNS is an important building block of the networking stack that translates human readable domain names to IP addresses. Some of the cloud infrastructure providers offer DNS as a service that brings the advantages of self-service, programmability, and pay-as-you-go billing. This service can be leveraged to centrally manage the DNS of all applications deployed within the same cloud provider. Like load balancer, DNS can also perform health checks on the registered IP addresses. One of the important features to check is the location-specific routing that can resolve to the nearest IP address based on the user location. For example, a user visiting from Asia will be resolved to a server in Singapore while users in the U.S. will be resolved to a server in America. Some DNS providers also offer weightage-based routing to channel the traffic based on the configuration. This is helpful in performing A/B testing of websites where the traffic is routed to two different versions of the same website based on predefined ratio. Finally, check for the number of DNS POP (Point of Presence) locations of the provider. The higher the number of locations, the faster the resolution.

Virtual Networks

It is common in enterprises to implement a demilitarized zone or perimeter network, which is a physical subnetwork that isolates public-facing services from the internal resources. This adds an additional layer of security by restricting access to the internal network. Replicating this scenario on the cloud is a critical requirement for enterprises. Cloud service providers respond to this through the virtual networking feature by which customers can create multiple subnets to separate the public-facing servers and sensitive resources. Some of the mature providers support VPN connectivity to extend the private subnet of a virtual network to their corporate data center. This enables the internal IT operations team to treat the cloud as a secure, extended data center. The internal IT policies, compliance, and regulations can be seamlessly applied to the servers running within the private subnet of the cloud. This configuration also makes it possible to route all the outbound Internet traffic originating from both internal and cloud resources through the corporate Internet gateway, which monitors and sanitizes the data. This is possible only when the IaaS provider supports custom routing. Support of virtual networks is the single most important requirement for enterprises. They should evaluate the compatibility of the VPN devices used by their cloud provider and rich networking features like custom routing, gateways and access control lists.

Peering

Peering is a concept of establishing dedicated network connecting between a corporate data center and the cloud provider’s facility. This opens up private connectivity offering lower latency and increased bandwidth. When combined with the virtual networking capability of cloud, peering offers the highest level of security and performance. This feature is a mandatory requirement for verticals like health care, finance, and the public sector, where the data needs to be retained in a specific facility adhering to security standards.

Strengths and weaknesses of the key cloud providers

Amazon Web Services

AWS has an advanced networking stack in the form of security groups, auto scale, elastic load balancer, Route 53, Direct Connect, and VPC. Security groups support filtering the traffic on both ports and originating IP addresses.

The key differentiating factor for AWS is its VPC service. It supports multiple scenarios to isolate sensitive resources into a private, closed section of virtual network called a private subnet. The private subnet can be connected to the corporate data center through a secure VPN connection. The entire configuration can be handled through the AWS Management Console. This enables a hybrid cloud scenario for enterprises by extending their on-premise IT assets to the cloud. When combined with Direct Connect, VPC becomes a powerful environment to run workloads that have strict compliance and regulatory requirements.

Route 53 is an alternative to commercial DNS providers like DNS Made Easy and DynDNS. Features like latency-based routing and weighted routing bring advanced DNS capabilities to cloud applications. It has tight integration with Amazon EC2, ELB, Amazon S3, and Amazon CloudFront.

Amazon is working on the next generation networking stack, which will be based on software-defined networking (SDN). This will make its networking services more programmable and dynamic.

Rackspace Cloud

Rackspace is evolving the network stack by adding the capabilities of DNS, load balancing, virtual networking, and VPN-based connectivity.

Rackspace Cloud Load Balancers are powered by Riverbed’s advanced capabilities. This technology makes Rackspace’s load balancers better than Amazon’s Elastic Load Balancers. Features like dedicated static IP addresses, advanced access control, and connection throttling are unique to Rackspace.

Rackspace Cloud Networks offer isolated subnets to split the workloads. Customers can choose to launch VMs on a private network, which is not accessible to the outside world. Unlike the competitors, the data transfer across the networks is free.

The hybrid cloud capabilities of Rackspace are available through the RackConnect service. This can be used to bridge physical servers with cloud servers through a secure VPN connection. The combination of Rackspace Cloud Networks and RackConnect offer the complete suite of hybrid cloud technology.

The limitation in Rackspace’s networking stack is that not everything is self-service. RackConnect takes at least two weeks to get configured. It also misses the fundamental concept of security groups for VMs. Customers need to configure the firewall for each VM through complex iptables configuration.

With SDN becoming a focus area for OpenStack, Rackspace is expected to bring those innovations to its networking stack. It should also focus on making its networking features more accessible and simpler.

Microsoft Windows Azure

Windows Azure networking stack consists of endpoint security, load balancers, traffic manager, virtual networking, and peering.

The network features of Windows Azure are slowly evolving to support the expected features. Microsoft recently added endpoint monitoring to check the health of web applications. It partnered with AT&T to bring peering connectivity to its data centers. The virtual networking layer of Windows Azure supports both site-to-site and point-to-site VPN connectivity. It is possible to extend the corporate data center to Windows Azure through a VPN connection. Many Microsoft customers are evaluating Windows Azure as a disaster recovery site to run their secondary instances of SQL, Exchange, and SharePoint servers. The traffic manager service provides geo-routing that redirects the end users to the nearest Azure deployment based on their location.

Windows Azure doesn’t support creating a static IP address and associating that with a VM. The platform automatically assigns a random public IP (ephemeral) address each time the VM is launched. This makes managing the host names and DNS updates very complex. The load balancer is primitive and doesn’t support capabilities like sticky sessions, connection throttling, and monitoring. Windows Azure SQL Database, the Database-as-a-Service offering, doesn’t support virtual networking at this point. Customers who require additional security need to launch SQL Server in a private subnet of the virtual network. Similarly, lack of support for access control lists for the subnets of a virtual network is a major limitation of the platform.

Windows Azure networking lacks some key features that are offered by its competitors. Customers need to find workarounds to achieve the same on Windows Azure.

Google Cloud Platform

Google Compute Engine is one of the few infrastructure services to have feature parity with Amazon EC2. It has advanced firewalls, configurable load balancers, virtual networking, and hybrid capabilities.

Networking is a first-class citizen in GCE with Google putting efforts to simplify the integration. GCE supports reserved static IP addresses that remain associated with the VM even after reboots. This makes DNS management simpler. One of the key differences of GCE when compared to the competition is that it treats a network as an entity similar to a VM. Customers can associate access control lists, firewalls, routing tables, and gateways to each network object that is created. VMs get launched on a specific network and automatically inherit the properties of the network object. Based on the access levels defined, networks can be public or private. GCE also supports VPN connectivity for hybrid scenarios.

The complex part of dealing with GCE is the lack of an intuitive and simple user interface.

HP Cloud Services

HP Cloud networking supports security groups, load balancers, DNS, and VPN connections. Although it is based on OpenStack, HP extended some of the networking features to entice enterprise customers.

At this point, HP is shooting for completeness of the stack more than bringing differentiating factor to the stack. The security groups offer basic endpoint protection and load balancers, which are still in private beta and have a long way to go in terms of feature parity with AWS and GCE. The DNS service has no bells and whistles without support for geo-routing or health checks.

HP’s hybrid strategy is tied to its enterprise services with no self-service options. Customers wanting to implement hybrid cloud have to engage with HP consultants to deploy it. HP hopes to capitalize on its Converged Cloud initiative that aims to bring private, public, and hybrid cloud strategy under one roof.

Overall, HP Cloud’s networking stack has a long way to go to attract serious cloud customers.

Stacking them up

The following table compares the major features of the network stack exposed by the key cloud service providers.

Category Feature AWS Azure GCE HP Cloud Rackspace
Firewall Allow TCP Yes Yes Yes Yes No
Allow UDP Yes Yes Yes Yes No
Allow ICMP Yes No Yes Yes No
Restrict traffic to a specific IP address Yes No Yes Yes No
Allow traffic from a specific security group Yes No Yes Yes No
Load balancer Dedicated public IP address No No No Yes Yes
Internal virtual IP address No No No No Yes
Sticky session Yes No Yes No Yes
Internal load balancing Yes No No No No
Health checks Yes Yes Yes Yes Yes
Auto scale Yes Yes Yes No Yes
Connection throttling No No No No Yes
SSL termination Yes No No No Yes
Access control list No No No No Yes
Configurable routing algorithm No Yes Yes Yes Yes
IPV6 support Yes No No No Yes
DNS Record management Yes No No Yes Yes
Health checks Yes No No No No
Location-based routing Yes Yes No No No
Weightage-based routing Yes No No No No
# of point of presence (POP) locations 42 Not available Not available Not available Not available
Virtual networking Custom routing policies Yes No Yes Not available Not available
VPN gateway Yes No Yes Not available Not available
Virtual NIC Yes No No Not available Not available
Configurable DHCP Yes No No Not available Not available
Configurable DNS Yes No No Not available Not available
Site-to-site VPN Yes Yes Yes Not available Not available
Point-to-site VPN No Yes No Not available Not available
Network ACLs Yes No Yes Not available Not available
Support for software VPN Yes No Yes Not available Not available
Peering Yes Yes No No Yes

 

7 Database

Though database is technically considered to be a part of PaaS, it is becoming an integral part of IaaS. Database as a Service (DBaaS) offers the database along with related DBA operations freeing the customer from constantly monitoring and maintaining the database. Mature providers are offering relational, NoSQL, and in-memory databases on their platforms. The scope of this report is limited to the relational database service.

When choosing the relational database offering on the cloud, the following factors must be considered.

Database container types

Like virtual machines, database containers are available in different configurations. The specifications of these containers are fixed and customers are expected to choose the right configuration aligned with their database workloads. These predefined configurations are called instance types. Instance types vary in the CPU power, memory, and I/O capabilities. It is important to understand the supported instance types before investing in cloud database as they directly impact the performance and cost.

Compatibility, supported DB size, and versions

The popular database flavors on cloud are MySQL, Oracle, Microsoft SQL Server, and PostgreSQL. However, it is important to ensure that the cloud database versions are compatible with the current database version. Certain stored procedures, data types, and features are very specific to the version and any mismatch may break the application. Most of the cloud database providers only support the latest versions, which can cause incompatibility issues with older on premise versions of the database.

The size limits of the database could make or break the migration to the cloud. Each provider has an upper bound that defines the maximum size of the database. For example, if the on-premise database size runs into multiple terabytes, none of the cloud databases may be able to support it.

Since the database servers run in a multitenant environment, certain settings that impact the global database server configuration may not be supported. For example, configuring the time zone of the database server or changing the global memory allocation settings are not permitted by the cloud database providers. It is important to carefully assess the changes that are required to migrate your database to the cloud.

Purchasing options

Most of the Database-as-a-Service offerings are based on a pay-by-use subscription model. While this is an advantage for startups, it doesn’t offer a cost advantage to enterprises looking at long-term investment. Some of the providers offer discounts based on the commitment from the customers. By paying a percentage of the overall consumption upfront, customers get a significant discount on the on-demand pricing. Analyzing the utilization pattern of the database containers and adjusting the cost accordingly will be an important part of ongoing cost optimization on the cloud. Customers should understand the purchasing models offered by each provider before making a decision.

License mobility

Most of the large organizations have an enterprise agreement or a volume licensing deal with the database vendors that covers licensing across the users, servers, and applications. Having invested heavily in these long-term licenses, enterprises may not be willing to forego the existing licenses in lieu of cloud databases. Mature cloud providers have licensing mobility in the form of “bring your own license” (BYOL). This enables organizations to migrate their database to the cloud while still retaining the existing licenses. The on-demand pricing of commercial cloud databases includes the cost of licenses, which is accounted for in the database license. Through the BYOL model, customers can save the incremental fee and pay only for the compute resources. When choosing the cloud database provider, customers need to thoroughly understand the cost breakup and verify that the provider supports BYOL model for the database.

Dynamic scaling

One of the key advantages of migrating to the cloud is the ability to scale up and scale out, which is also applicable to the databases. Dynamic scaling can be either scale up or scale out. In a scale up scenario, the current database server can be upgraded to a higher configuration and in scale out, more numbers of identical database servers get added. While it may not be possible to scale out the data tier of a highly transactional application, additional servers that get added will handle the read traffic while one designated server will accept both read and write operations. This ensures that the database load is split across multiple servers. The other technique of scaling out a database is achieved by implementing a pattern called “sharding” in which the database is partitioned based on a key with each server hosting a specific partition. Both scale up and scale out should involve little or no downtime of the production database server. It is critical to understand the scale up and scale out strategy of the cloud database provider to assess the impact on the application availability.

Monitoring

Databases are constantly monitored for their uptime, concurrency, and response time. In a traditional IT environment these metrics are tracked by installing third-party software or monitoring agents, provided by the database vendor. Cloud databases are opaque and do not give the same level of control to the administrators. Customers will be forced to track the performance metrics exposed by the provider, which may be a subset of the metrics tracked by the IT team. One of the key considerations is to compare and contrast the performance metrics exposed by the cloud database provider with the current set of metrics that are critical to the application.

Data portability and tools support

Most of the databases have proprietary tools to export and import data. These tools are used by DBAs when migrating the databases from one version to another. Cloud providers may choose to block these tools accessing the database instances due to issues related to compatibility or multitenancy. Lack of support for standard tools will lock in customers by making it hard to get out of the cloud platform. Enterprises also rely on a set to third-party tools to regularly maintain the databases. These tools analyze the database statistics and optimize them for performance. If these tools are critical for your application, make sure that you can continue to use them even after migrating the database to the cloud.

SLA

Cloud database providers offer an SLA-driven uptime commitment. What is important to note is that most of the providers require the deployment to run at least two instances of the database server to be covered under the SLA. Some providers define a time window of unavailability, which will be counted toward the downtime. Depending on the criticality of the application, this time window may or may not be acceptable by the customers. Customers should carefully read and understand the fine print of the SLA before deciding on the provider.

Strengths and weaknesses of the key cloud providers

Amazon Relational Database Service

Amazon RDS went live in 2009 with MySQL and subsequently added support for Oracle, Microsoft SQL Server, and PostgreSQL. AWS borrowed quite a few features from Amazon EC2 for RDS to enhance its database offering. The recent addition came in the form of a high memory instance that supports 244 GB of memory and 88 compute units.

In many ways, Amazon RDS set the precedence for cloud database providers. It was the first to add an opt-in high availability option in the form of Multi-AZ and a scale out architecture through Read-Replicas. It offers a wide range of DB instance types and provisioned IOPS to get the right level of performance. Microsoft and Oracle customers can leverage license mobility to port their licenses to the cloud. With support for up to 3 TB of database size, Amazon RDS fits most of the scenarios. It supports launching the DB instances on a private subnet of VPC, which isolates and secures the database servers. It is expected that Amazon RDS will support IBM DB2 in the near future.

Though they use the same technology, customers often complain about the lack of integration between EC2 and RDS. Both EC2 and RDS rely on the same EBS and S3 services for backup and restore. Still, it is not possible to easily backup an existing EC2 volume and restore that on Amazon RDS. Missing feature parity across the supported databases is another visible issue. While MySQL and Oracle support Multi-AZ, Microsoft SQL is not available in high availability mode. Finally, the inability to manipulate parameters such as time zone forces customers to run the database on EC2 instead of RDS.

Rackspace Cloud Databases

Launched in December 2011, Rackspace Cloud Database is the preferred way of running a MySQL database in the Rackspace cloud. It is deployed on top of OpenStack based on a slightly different technology that uses isolated containers instead of typical virtualization. Rackspace claims that this delivers better performance than multitenant VMs. Customers can launch and configure MySQL databases from within the control panel. There are six flavors of containers to choose from while launching the database instance. Rackspace claims that its cloud database is faster than Amazon RDS.

Some of the limitations of Rackspace Cloud Databases include the choice, which is limited to MySQL. The maximum supported size is 150 GB, which is considered small by enterprise customers. It doesn’t support automated/scheduled backups and customers need to handle the backups themselves. It is not clear if the database server can be launched on a SSD device for better throughput.

Windows Azure SQL Database

Originally launched as SQL Azure as a part of PaaS in 2010, Windows Azure SQL Database is the preferred cloud database service for Microsoft customers. Microsoft positions this as a service that is highly compatible with Microsoft SQL Server but not as a true alternative to native SQL Server. If customers require 100 percent compatibility, they are pointed toward running SQL Server in a VM on top of Windows Azure Infrastructure Services. ClearDB, a company that specializes in delivering MySQL as a service, partnered with Microsoft to bring MySQL to Azure.

For existing Microsoft customers, Windows Azure SQL Database is a viable option to run databases on the Cloud. Azure has an entry level database service offering called Web that supports up to 5 GB while the business edition supports up to 150 GB. Customers can choose between on-demand, semi-annual, or annual pricing options. It has integrated monitoring, backup, and restore options. Developers using Microsoft Visual Studio will feel at home with integrated tooling support.

Based on the feedback from customers, Microsoft has announced a premium tier that delivers better performance. The pricing details and the size limitations are not announced yet but this targets enterprises with large databases. All instances of Azure SQL DB run on the public domain with no option to launch on the private subnet of a virtual network. This is a serious limitation for migrating and running sensitive database workloads on Azure. Surprisingly, existing Microsoft customers cannot port their license to Windows Azure SQL Database. Replicating data between on-premise Microsoft SQL Server and Azure SQL DB is not supported at this time.

Customers serious about moving their entire databases to Azure should carefully evaluate between running the database in a VM versus migrating to Windows Azure SQL Database.

Google Cloud SQL

Launched in October 2011, Google Cloud SQL is a MySQL compatible database service running within Google Cloud platform. This service was originally designed for Google App Engine and became more accessible after the GCE announcement. This can now be accessed from any application running within App Engine or Compute Engine.

This service is tightly integrated with rest of Google Cloud services with support of the console and command line tools. In November 2012, Google increased the maximum database size limit to 100 GB and 16 GB of RAM. This is still considered to be low when compared to the competition. Google has an interesting pricing plan in terms of packages where predefined instance types are charged per day against per hour billing. The on-demand pricing is available and charged on an hourly basis.

It’s likely Google will support commercial databases like Oracle and Microsoft SQL Server in the future if it is serious about bringing enterprise database workloads to its cloud. One of the limitations it currently has is the 100 GB size limit, which may be a barrier to adoption. The database engine has discrepancies with the original MySQL engine which forces developers to change large portions of code and design to make it run on Google’s cloud. There is also no support for SSD, which is becoming a standard for running I/O intensive applications on the cloud.

HP Cloud Relational Database

HP Cloud Relational Database service is currently in public beta. Existing features are expected to change by the time the service becomes generally available.

The DB containers are run on top of OpenStack and the only supported database type is MySQL. There are six types of DB instances to choose from with each offering varying CPU, memory, and storage capacities. Like most of the other services of HP Cloud, this also aims at completeness rather than adding differentiating factors. To attract enterprise customers, HP has to support additional databases like Oracle and PostgreSQL. But it may be early to comment on the HP database service as it just entered the public beta.

Stacking them up

The table below compares the key capabilities of the cloud database providers.

Category Feature AWS Azure GCE HP Cloud Rackspace
Container types # of container types 9 3 7 6 6
# of families 3 1 2 1 1
Supported databases IBM DB2 No No No No No
MySQL Yes Yes Yes Yes Yes
Microsoft SQL Server Yes Yes No No No
Oracle Yes No No No No
PostgreSQL Yes No No No No
Purchasing options On-demand Yes Yes Yes Yes Yes
Reserved Yes Yes No No No
Backups Automated backups Yes Yes Yes Yes No
Scheduled backups Yes Yes No No No
Scalability Scale up Yes Yes Yes Yes Yes
Scale out (read replicas) Yes No No No No
Sharding No Yes No No No
Max. size 3 TB 150 GB 100 GB Not available 150 GB
Automated patching Yes Yes Yes Yes Yes
Monitoring Yes Yes No No Yes
High availability / failover Yes Yes Yes No No
Supports virtual network Yes No No No No
Provisioned IOPS Yes No No No No
Bring your own license Yes No Not applicable Not applicable Not applicable
SLA 99.95% 99.9% 99.95% Not available 99.9%

8 Conclusion and key takeaways

Customers need to consider a variety of factors when choosing the right cloud infrastructure to run their applications. Each of the building blocks of the infrastructure — compute, storage, network, and databases should be carefully evaluated before migrating workloads.

  • Amazon Web Services, Google Compute Engine, HP Cloud, Microsoft Windows Azure, and Rackspace are the key players of the enterprise public cloud market.
  • Choice of OS, VM types, support for SSD, and long-term purchasing options are key factors that influence the decision of choosing the compute service.
  • Data security, retention policies, bulk import and export, and integration with on-premise storage units are key features to consider when choosing a cloud storage provider.
  • Configurable firewalls, integrated DNS, load balancers, and the ability to isolate networks define the core capabilities of the network stack of an IaaS provider.
  • Choice of databases, license mobility, automated backups, and support for tools are key parameters that define the maturity of a cloud database provider.

9 About Janakiram MSV

Janakiram MSV heads cloud infrastructure services at Aditi Technologies. He was the founder and CTO of Get Cloud Ready Consulting, a niche cloud migration and cloud operations firm that was recently acquired by Aditi Technologies. He is the principal analyst at Janakiram & Associates where he focuses on research and analysis related to cloud services.

Through his speaking, writing, and analysis, he helps businesses take advantage of emerging technologies. Janakiram is one of the first few Microsoft Certified Professionals on Windows Azure in India. He is also an AWS Certified Solutions Architect. Janakiram studies the cloud services landscape for the Gigaom Research analyst network. Janakiram is a guest faculty member at the International Institute of Information Technology, Hyderabad (IIIT-H) where he teaches big data, devops and cloud computing to the students enrolled for the master’s course.

Janakiram has worked at world-class product companies including Microsoft, Amazon Web Services, and Alcatel-Lucent. His last role was with Amazon Web Services as the technology evangelist where he joined them as the first employee in India. Prior to that, Janakiram spent 10 years at Microsoft where he was involved in selling, marketing, and evangelizing the Microsoft application platform and tools. When he left Microsoft, he was a cloud architect focused on Windows Azure.

10 About Gigaom Research

Gigaom Research gives you insider access to expert industry insights on emerging markets. Focused on delivering highly relevant and timely research to the people who need it most, our analysis, reports, and original research come from the most respected voices in the industry. Whether you’re beginning to learn about a new market or are an industry insider, Gigaom Research addresses the need for relevant, illuminating insights into the industry’s most dynamic markets.

Visit us at: research.gigaom.com.

11 Copyright

© Knowingly, Inc. 2014. "A checklist for stacking up IaaS providers" is a trademark of Knowingly, Inc. For permission to reproduce this report, please contact sales@gigaom.com.

Tags