Infrastructure as a Service (IaaS) is the cloud market leader today with a forecast of about 80% of the estimated
$15 billion combined market for IaaS and Platform as a Service (PaaS) in 2012. But most IT analyst firms and consultants predict PaaS will enjoy a greater compounded annual growth rate (CAGR) than IaaS in 2013 and beyond. Their conclusion is that IaaS will become (or is now) a commoditized market having comparatively low margins and inability to command premium prices for differentiated features or increased functionality. That conclusion probably led Amazon to join Microsoft and Google as a first-tier PaaS application provider by adding Elastic Beanstalk to Amazon Web Service’s bag of tricks in January 2011. Amazon later expanded its language repertoire to include PHP in March 2012, as well as .NET and T-SQL for SQL Server in May 2012. On the other hand, Microsoft and Google might be listening to a different drummer; GigaOm blogger Derrick Harris’ reported on May 17, 2012 that both firms will enter the IaaS business in 2012.
Most IaaS providers host users’ virtualized operating system images and some provide reliable blob and table storage, usually including relational (SQL) database instances. Amazon Web Services (AWS) became the archetypical IaaS provider with the lion’s share of the market by providing the highly successful Simple Storage Services (S3) for blobs, SimpleDB and DynamoDB for semi-structured tabular data, and Relational Data Services (RDS) for MySQL, Oracle and SQL Server databases. AWS kept IaaS competitors at bay by delivering innovative, chargeable added-value services, such as ElastiCache, Simple Queue Services, Simple Notification Services, Simple Email Services and CloudSearch. PaaS customers also demand these infrastructure services, which involve substantial development and support investments. Historically, Google and Microsoft have spent most of their journey to cloud eminence playing catch-up to AWS infrastructure features. Google’s long-promised Cloud SQL relational database was still only “available to a limited number of users” called “Trusted Testers” at press time.
PaaS’s primary value-adds to IaaS are abstracting and maintaining the operating system as well as automating application hosting with support for popular programming languages. Microsoft’s Windows Azure and Amazon’s Elastic Beanstalk support .NET, Java and PHP, while Google’s App Engine supports Python, Java and the experimental Go language (see Table 1). Smaller, second-tier PaaS providers, ranging from App Harbor to VMWare CloudFoundry, more commonly support one or two languages. An important criterion that distinguishes top-tier from second-tier PaaS providers is whether they develop and support their own add-in and add-on SaaS features or rely on third-party “partners” to do so.
|Platform as a Service||Programming Languages||SQL Database||Add-Ins and Add-Ons for PaaS Features|
|AWS Elastic Beanstalk||Java, .NET, PHP||Amazon RDS (MySQL, Oracle and SQL Server)||CloudFront (CDN), Cloud Search, DynamoDB, ElastiCache, Elastic MapReduce (EMR), Email Service (SES), Notification Service (SNS), Queue Service (SQS)|
|Google App Engine||Python, Java, Go||Cloud SQL*||Blobstore API, Datastore API, Images API, Mail API, Memcache API, Multitenancy API, New Database Module, Remote API, Task Queue API, URLFetch API, Users API, XMPP API, … see all 22|
|Microsoft Windows Azure||.NET, PHP, Java, node.js||SQL Azure||Access Control, Active Directory, Apache Hadoop on Windows Azure* (HDFS, MapReduce, Hive, Pig), Caching, Connect, Content Delivery Network (CDN), High-Performance Computing (HPC), Media Services*, SendGrid Email Service, Service Bus, SQL Azure Labs* (Cloud Numerics, Data Explorer, Data Hub, Data Transfer, Social Analytics, SQL Server Security Services, Trust Services) Twilio Voice/SMS Service|
|AppHarbor||.NET||MySQL||Blitline, CloudAMQP, Cloudant, CloudMailin, IronMQ, JustOneDB, Mailgun, Memcacher, MongoHQ, MongoLab, RavenHQ, Redis To Go, Searchify, SendGrid, SQL Server, Xeround|
|Cloudbees||Java||Cloudant, Codesion, JFrog, MongoHQ, Papertrail, SendGrid, Websolr, XWiki Cloud|
|Engine Yard||Ruby/Rails, PHP||EnterpriseDB (PosgreSQL)||Assistly, Boxcar, Braintree, Brighter Planet, Chargify, CloudMailin, DocRaptor, IndexTank, Infochimps, Inkdit, Iron.io, Janrain, Librato Metrics, LucidWorks Cloud, MailGun, MongoHQ, MongoLab, … see all 52|
|Force.com||Apex||Force.com Database||Cloud Integration Tools, Data Tools, Email Tools, Language Integration Libraries, Mobile Integration Libraries, Telephony Tools|
|Heroku||Ruby/Rails, PHP||Amazon RDS||Blitline, Bonsai*, Boxcar*, Cassandra.io*, Chargify, ClearDB, CloudAMPQ*, Cloudant, Cloudinary*, CloudMailin, Cron, Dashmin*, database.com*, … see all 86|
|IBM SmartCloud Application Services*||Java||Transactional Database Services*||Web Application Services*, Analytics Services*, BPM Services*, Batch Services*, Portal Services*|
|Joyent Real-Time Cloud||node.js||Percona (MySQL)||AltEgo, Cloudant, ElectroTank, GuardTime, MongoDB, Nphos, StackMob, TapJoy|
|Rackspace CloudSites||PHP, .NET||SQL Server, MySQL*|
|Red Hat OpenShift*||Java, Perl, PHP, Python, Ruby||MySQL, PostgreSQL||10Gen MMS, MongoDB, Cron|
|VMWare Cloud Foundry*||Java, Scala, node.js, Ruby/Rails||MySQL||MongoDB, RabbitMQ, Redis|
* Indicates beta or limited use status
Table 1. Selected Platform as a Service (PaaS) providers, supported programming languages, relational databases offered, and add-ins and add-ons supported. This data was gathered from the providers’ website. SQL Database, add-in and add-on names in italic font are from third-parties; add-ins and add-ons don’t include DevOps or monitoring tools/applications.
Microsoft also offers several added-value Software as a Service (SaaS) features. A recent example is Windows Azure Active Directory, which serves as a central element of a cloud-based Identity Management as a Service (IDMaaS) that Kim Cameron, Microsoft’s chief identity architect, announced in a May 23, 2012 blog post. SQL Azure Labs is an incubator for SaaS projects that enhance and demonstrate Windows Azure features. Here’s Microsoft’s description:
Labs is a place where we test concept ideas and prototypes. The projects in labs are experiments with no current plans to be included in a product and are not production quality. Instead it is a place where we want to share our current thinking and ideas in specific areas and solicit your feedback so we can shape our future direction.
All SQL Azure Labs projects have codenames:
- Codename “Data Hub” is a private version of the public Windows Azure Marketplace DataMarket for syndicating data to an organization’s employees for internal use and is hosted in Windows Azure.
- Codename “Data Transfer” provides an engine for uploading data from Excel comma-separated value (*.csv) files to SQL Azure tables for use by Codename “Data Hub.”
- Codename “Data Numerics” is a completely automated .NET application for deploying Windows Azure HPC clusters and scheduling them to perform numerical analysis of distributed matrices.
- Codename “Data Explorer” provides a shareable, graphical UI hosted by Windows Azure for analyzing data and creating mashups .
- Codename “Social Analytics” provides an Application Programming Interface (API) to a stream of tweets from the DataMarket in OData format about Windows 8 or Bill Gates that includes positive or negative sentiment (tone) ratings and estimated rating reliability data (see Figure 1.)
- Codename “Trust Services” provides data encryption and key management services to secure confidential information uploaded to cloud storage.
The OakLeaf Systems blog offers tutorial articles for all the preceding projects, except “Trust Services.”
Figure 1. This WinForm client uses the Codename “Data Numerics” API as the data source for a logarithmic chart of positive and negative consumer sentiment about Windows 8 based on 95,426 of 1.3 million tweets starting in mid-May 2012. The C# source code for the client is downloadable from OakLeaf Systems’ SkyDrive account.
Following are factors that potential PaaS consumers should consider when rating providers based on SaaS feature checklists:
- Least-common-denominator SaaS added-value features. Subscribers to providers who outsource important features, such as identity management or caching, to third-party “partners” are unlikely to benefit from optimized feature integration with their particular PaaS offering.
- Synchronization of updates and upgrades of added-value SaaS features with core functionality. Providers and third-party “partners” probably won’t be able to schedule simultaneous updates and upgrades.
- Service Level Agreements (SLAs) for added-value features. PaaS subscribers expect providers to offer SLAs for at least 99.9% storage and compute accessibility and operability. Third-party SaaS “partners” might not offer SLAs and providers might avoid extending their SLAs to third party offerings.
- Increased lock-in with integrated added-value features. Many third-party SaaS added-value features are offered by multiple providers. Dependence on provider-supplied feature sets might make it more difficult to move to an alternative PaaS provider.
Top-tier PaaS providers are likely to follow Amazon’s and Microsoft’s lead and offer more integrated added-value SaaS features as the cloud computing market expands. Make sure you’re comfortable with the current checklist of added-value features you need now and plans for future extensions before you commit to a PaaS provider.