This content is part of the Essential Guide: Sorting through enterprise IT's PaaS options
Tip

Choosing from the major Platform as a Service providers

Many organizations prefer Platform as a Service offerings for their cloud needs. Our expert compares options from Google, Microsoft and Amazon.

Platform as a Service is the preferred cloud computing approach for many -- if not most -- organizations, as it frees software developers and IT operatives from infrastructure management chores, security concerns and licensing issues.

Amazon's new Elastic Beanstalk service, albeit in a beta version, enables Amazon Web Services to join Google and Microsoft in forming a triumvirate of top-tier Platform as a Service (PaaS) providers. These organizations readily pass most governance standards established by upper-level management and boards of directors for IT vendors, such as the following:

  • Financial stability to support large-scale capital investment in multiple data centers, without the risk of hostile or friendly takeovers by telcos or anyone else that might require finding a new cloud service provider.
  • Geographically dispersed data centers to enable disaster recovery with replicated applications and data.
  • Audit certifications to attest conformance to ISO/IEC 27001 for information security management and SAS 70 Type I and Type II for IT controls and control objectives.
  • Service-level agreements (SLAs) to guarantee application (compute) and data (storage) availability. (It should be noted that PaaS SLAs provide minimal compensation for exceeding downtime limits.)

The following chart describes how the three cloud platform providers stack up in the preceding categories, based on publicly available data as of mid-January 2011:

Category
 
Amazon (BeanStalk)
 
Google (App Engine)
 
Microsoft (Azure)
 

Total assets,
U.S. $
 
$18,797,000
 
$57,851,000
 
$59,684,000
 

Market capitalization, U.S. $
 
$85.81 billion
 
$200.96 billion
 
$227.96 billion
 

Data centers, U.S.
 

Northern CA; Northern VA
 

Berkeley County, SC; Council Bluffs, IA; Lenoir, NC; Mayes County, OK (2011); The Dalles, OR
 

Chicago, IL; San Antonio, TX; Quincy, WA (2011); Boydton, VA (2011?)
 

Data centers, overseas
 

Ireland, Singapore
 

Hamina, Finland (2011); St. Ghislain, Belgium
 

Dublin; Amsterdam; Singapore; Hong Kong
 

Audit certifications
 

SAS 70 Type II
 

None for Google App Engine*
 

ISO/IEC 27001:2005;
SAS 70 Type I and II
 

Service-level agreements, uptime %
 

99.95% (EC2)
99.9% (S3, CDN)
 

99.9% (Google App Engine for Business** only)
 

99.95% (Compute)***
99.9% (Storage and SQL Azure)
 

No- or low-cost trial versions
 

See my tip on free cloud computing services for details on Amazon, Google and Microsoft trial offers
 
   

* Google’s SAS 70 Type II certification for Google Apps doesn’t appear to apply to Google App Engine.
** Google App Engine for Business was in the preview stage at press time.
*** Windows Azure’s compute SLA requires a minimum of two instances running.

IT managers and software developers must determine how a provider’s platform integrates with the organization’s current data center infrastructure and programming skill set, as well as gain familiarity with optional features for specific applications like SQL databases and content delivery networks. Here are the details of the big three’s current offerings to PaaS customers:

Service or feature
 
Amazon (BeanStalk)
 
Google (App Engine)
 
Microsoft (Azure)
 

Compute instances
 

All Amazon EC2 Linux instance sizes
 

Shares the Google infrastructure
 

Windows 2008 Server with varying resources
 

Programming languages
 

Java deployments only
 

Google App Engine SDK for Python and SDK for Java
 

.NET, SDK for Java, SDK for PHP, IronPython and IronRuby
 

Programming platforms
 

AWS Toolkit for Eclipse
 

Google Plugin for Eclipse
 

Visual Studio 2010, Windows Azure Tools for Eclipse
 

Persistent storage
 

S3 (blobs), SimpleDB (tables), Simple Queue Service (SQS), Elastic Block Store (EBS) for EC2
 

Datastore (key-value tables, based on BigTable)
 

Tables (key-value), queues, and blobs, Azure Drives (file system)
 

Database
 

Simple DB (key-value), Elastic Map Reduce (Hadoop), relational database service (MySQL), SQL Server, Oracle 11g (Q2 of 2011)
 

Hosted SQL database (App Engine for Business* only, Q2 of 2011)
 

SQL Azure (SQL Server 2008 R2 modified), 50 GB maximum database size. Scale out and in with SQL Azure Federations (2011?)
 

Load balancing
 

Built-in, automatic
 

Built-in, automatic
 

Built-in, automatic
 

Elastic scale-out and scale-in
 

Auto scaling with Amazon CloudWatch
 

Built-in, automatic
 

Custom .NET code or AzureWatch from Paraleap
 

Content delivery network (CDN)
 

Amazon CloudFront
 

Limited built-in CDN features
 

Windows Azure CDN
 

Federated (SSO) access control and enterprise service bus
 

AWS Identity and Access Management (SSO only)
 

No equivalent
 

Windows Azure AppFabric
 

Secure bridge to your existing IT infrastructure
 

Amazon Virtual Private Cloud (VPC)
 

No equivalent
 

Windows Azure Connect (Beta)
 

Legacy app support with Infrastructure as a Service

Amazon EC2 AMIs

No equivalent

Azure Virtual Machine Roles (Windows only)

* Google App Engine for Business is a premium offering that charges $8 per month per user for a hosted application, up to a maximum of $1,000 per month per application.

Microsoft and Amazon pricing is quite competitive for compute, storage and bandwidth services; both companies charge by the hour for compute time, whether or not applications are in use. Therefore, Amazon EC2 and Windows Azure aren’t good candidates for hosting low-traffic websites. Amazon updated their S3 service in late February 2011 to enable serving a complete (static) website or blog, which eliminates compute changes; posted prices for bandwidth and monthly storage still apply.

Google, on the other hand, charges by actual CPU compute usage and offers generous free quotas. The quotas support bandwidth and CPU usage for about five million free webpage views per month (by Google’s reckoning). If your organization is Java-oriented, you have three choices; just be sure to verify that Google’s Java SDK supports all the features you need.

Windows Azure and Google App Engine accommodate PHP, but read Carlos Ble’s Goodbye Google App Engine post (and the comments) if you intend to use Django with App Engine. Microsoft-only shops interested in the minimal administration benefits of PaaS are best served by opting for the Windows Azure platform and using Visual Studio to simplify deployment.

ABOUT THE AUTHOR:
Roger Jennings is a data-oriented .NET developer and writer, the principal consultant of OakLeaf Systems and curator of the OakLeaf Systems blog. He's also the author of 30+ books on the Windows Azure Platform, Microsoft operating systems (Windows NT and 2000 Server), databases (SQL Azure, SQL Server and Access), .NET data access, Web services and InfoPath 2003. His books have more than 1.25 million English copies in print and have been translated into 20+ languages.

Dig Deeper on PaaS and other cloud development platforms

Data Center
ITOperations
SearchAWS
SearchVMware
Close