A previous version of this article appeared on Tech Target SearchCloudApplications as Comparing features, tiers and pricing of PaaS vendors
Cost isn’t the most important factor when evaluating cloud application platforms, but you must understanding the cost models
Cloud services are supposed to make things easier for IT, application developers, business buyers and software users and they largely live up to that ideal. However if the service itself doesn’t fit into a standard category like compute resources and storage space or as products themselves get more complex, nuanced and customized, cloud services become harder to evaluate and compare. Such is the state of enterprise PaaS and just like we found when analyzing the costs of IaaS app deployments, there are no simple answers.
At least the IaaS market enjoys relatively standard units of consumption — virtual servers of various sizes, object storage, databases, network transfers — typically priced by the hour or month. In contrast, PaaS offerings are much more varied in both features offered, customization options and vendor pricing models. Vendors seem to understand the potential for confusion with most gravitating towards SaaS-like tiered services with monthly pricing, but as we’ll see, even these can have capacity-based pricing options. Yet choosing the best PaaS is seldom purely a matter of price shopping, but instead requires analyzing your required app development features, estimating the size of deployment and finding a development environment that fits your development team’s skillsets, work style and long term strategy, since the porting PaaS applications between platforms isn’t easy.
PaaS promises ‘just add water’ convenience by providing a pre-built, managed app dev framework and runtime infrastructure. Indeed, PaaS has elements of both SaaS (for the development environment, toolchain, project and source code management) and IaaS (for the deployment infrastructure), with the resulting hybridization of pricing models: service tiers billed monthly (SaaS) and resources consumed billed hourly (IaaS).
PaaS Vendor Scorecard
The easiest way of understanding PaaS pricing is by looking at the service features, tiers and pricing models of the major PaaS vendors. As the following list illustrates, PaaS is a diverse market composed of pure-play products like CloudFoundry, development platforms bolted on to SaaS applications (Salesforce 1) and IaaS services augmented by app dev features like AWS CodeDeploy, CloudFormation and Elastic Beanstalk.
- Salesforce.com: Salesforce 1: Salesforce actually has two significant PaaS offerings — Force.com, designed for internal apps for employeee, and Heroku for external customer apps — bundled under the Salesforce 1 platform. Force.com provides tools tailored for both business users needing a point-and-click UI to automate workflows and build dashboards and developers using its Java-like Apex language and includes a cloud dev/test/deploy runtime environment and central management console. The tiered pricing model is based upon the number of custom app objects available to each user/developer and runs from $25/user/month (10 objects) to $150 (2000 objects). Salesforce doesn’t publish pricing of Salesforce 1 bundles that include Heroku, but does offer standalone instances at Heroku.com priced according to the number of compute containers and associated database. For example, 10 medium compute dynos and a 64GB premium database runs about $900/month.
- Microsoft Azure: Azure App Service is Microsoft’s new (released in late March) PaaS bundle that includes features designed for Web and mobile apps, middleware (what Microsoft calls Logic Apps) and API management. App Service has a tiered, monthly subscription pricing model that includes a ‘free’ level for up to 10 apps on shared infrastructure where the only charge is for outbound data. Enterprise apps will generally want the Basic, Standard or Premium tiers that use dedicated servers. Pricing is by number of servers per tier level per month plus bandwidth. For example, 10 standard one core servers plus 100GB of traffic runs about $750/month. Azure, like AWS, is an umbrella for all Microsoft’s cloud service offerings meaning Web or Mobile apps built with App Service can be scaled using IaaS services like additional Web and Worker servers, SQL databases and storage resources (object, block, files, etc.).
- Google App Engine: Like Azure, App Engine has a pricing model based on the usage of compute instances, storage and outbound traffic, however just like Google Cloud IaaS, the model is more granular, with instances and high-speed cache memory billed by the hour and SQL databases in chunks of 100k I/O operations. A further complication is a choice in app frontend instance types spanning a 4:1 range of capacity based on allocated memory and virtual CPU performance with a concomitant 5- to 20-cent per hour price differential. You can’t criticize Google for embracing choice and customization, but that means developers must have a thorough understanding of application resource requirements before using its pricing calculator. For example, 10 instances using a 2GB memcache pool, 1TB of storage and 50GB of outgoing network traffic runs $135/month.
- AWS: AWS includes deployment and management services providing app orchestration, autoscaling, code management and logging at no extra charge, users pay only for IaaS resource consumption. More sophisticated application services like message queues, app streaming, workflow and state management (SWF) and media transcoding are individually priced by usage. For a detailed analysis of AWS pricing, see our article on the true cost of AWS application development.
Sidebar: Important PaaS Vendors
The following is a list of key PaaS vendors and products:
- Salesforce: Salesforce 1; Force.com, Heroku
- Microsoft Azure: App Service, Cloud Services
- AWS: various application development, deployment and management services
- Google: App Engine
- IBM: Bluemix
- Red Hat: OpenShift
- SAP: Hana Cloud Platform AppServices
- VMware/Pivotal: CloudFoundry
- ActiveState: Stackato
- CenturyLink: App Fog
- Engine Yard
- Mendix: App Platform
- Progress: Pacific suite
- IBM Bluemix: Like Google App Engine, Bluemix charges for app runtime resource usage by the hour, however IBM has simplified the model by combining compute and memory into a single GB-hour metric. Optional services are either charged a fixed monthly price or metered. Again, developers must do their homework before using IBM’s app price estimator since Bluemix has more options than a Chinese menu.
- The Rest: Many other PaaS vendors use a simplified variant of the instance/hour pricing model with predefined instance sizes. For example, Red Hat OpenShift segments instances by the number of virtual CPUs and associated memory allocation. Pivotal simplifies the Cloud Foundry model even further with four-tiered monthly pricing based on the memory per app instance. CenturyLink App Fog has perhaps the simplest approach, with 5 plans designed for a maximum number of apps and delineated by the total amount of app memory, databases and storage.
Selecting a PaaS is more like selecting a house than buying a TV: there are a plethora of options, inconsistent features between services, various, often complex pricing models and you’ll be living with the decision for a long time. Here are a few tips:
- Developers in organizations already using AWS or Azure should start there. Business users wanting to exploit data on Salesforce and other SaaS platforms should try Force.com.
- Those starting from scratch that know exactly what they want and expect (or hope) to rapidly scale should study Google App Engine. Others that are just investigating, but not fully committed to PaaS and want an easy way to do real world testing should try pure-play PaaS like AppFog, Cloud Foundry or OpenShift, all of which have free or very low-cost entry-level service tiers.