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.