PaaS Providers List: Comparison And Guide
Platform as a Service (PaaS) is a cloud model designed for software developers that streamlines the development process by shifting specific aspects of systems management to the service provider. PaaS is used to develop web and mobile applications using components that are pre-configured and maintained by the service provider, including programming languages, application servers and databases.
When evaluating and choosing a PaaS provider, you should take into consideration the programming languages and server side technologies the vendor offers along with the data storage options. Support for developer tools and applications integration is also very important as you need to consider how your application in the PaaS will integrate with other applications. Finally, consider the costs of running your applications in a PaaS and evaluate how the pricing model of the vendor you choose works.
We help you get started by summarizing these key considerations of several PaaS providers. Although this is not a comprehensive list, the vendors represent a sample of the different types of PaaS offerings that are available today. As you'll notice, some providers are blurring the lines between Infrastructure as a Service (IaaS) and PaaS while others offer more specific platforms. And many offer a free trial so you can see if the platform is right for your development needs.
Engine Yard is designed for web application developers using Ruby on Rails, PHP and Node.js who want to take advantage of cloud computing without the operations management responsibility. Engine Yard provides a set of services on top of Amazon AWS. In fact, Engine Yard runs its platform in the Amazon cloud, so the value of the PaaS rests more with orchestration and management than with providing software components. Engine Yard takes care of key operations tasks such as performing backups, managing snapshots, managing clusters, administering databases and load balancing.
|Key Features:||Dedicated instances with no multi-tenancy at the virtual machine level. More control over your virtual machine instances than other PaaS providers. Integration with both public and private Git repositories.|
|Limitations:||Supported languages are limited to Ruby, JRuby, REE, Rubiniu, Node.js, and PHP.|
|Pricing:||Based on a "pay as you go" model with standard and premium support options. Prices range from $0.05/hour per instance to $2.19/hour per instance, depending on your configuration.|
Red Hat OpenShift is based on open source applications and offers a wide variety of languages, databases and components. The PaaS is highly customizable and offered in three forms: OpenShift Online (a cloud-based hosting service), OpenShift Enterprise (a private PaaS that runs in your data center) and OpenShift Origin (the open source application hosting platform). OpenShift automates system administration tasks such as virtual server provisioning, configuration and scaling and supports git repositories for code management.
|Key Features:||A large number of component options spanning the application stack from front end to backend services. Developers can interface with OpenShift through a web console, the command line or through an integrated development environment.|
|Limitations:||Works well with Git, but non-Git deployments might require additional steps.|
|Pricing:||OpenShift Online pricing is based on the number and types of components (called gears) you deploy. Gear prices range from $0.02/hour to $0.10/hour, depending on the size: 512MB (small), 1GB (medium), or 2GB (large). The Silver support plan is $20/month plus usage costs.|
|Bonus:||A limited number of resources are available as a trial; 3 small gears and 1GB of storage per gear are free.|
Google App Engine is designed for distributed web applications and developers using Java, Python, PHP and Go. The Java environment supports other languages that make use of the JRE and there is a SDK for each of the four main supported languages as well as a plugin for Eclipse. The PaaS offers managed infrastructure and runtime environments that are guaranteed to scale, but only if the applications fit the restrictions of Google App Engine. The Datastore, a transactional, schema-less data store based on key-value pairs, handles the complex management of data that's accessible to multiple machine instances.
|Key Features:||Google App Engine uses a sandbox model which isolates processes thereby reducing the risk that a rogue process on a physical server will disrupt operations of other processes on that server.|
|Limitations:||Programming languages are limited to Java, Python, Go and PHP.|
|Pricing:||Based on usage. $0.08/hour per on-demand instance or $0.05/hour for a reserved instance. The Datastore is billed at $0.18/GB per month; bandwidth costs $0.12/GB. Other service costs may apply.|
|Bonus:||The first 28 instance hours, 1GB of storage and 1GB of inbound/outbound traffic per application are free each day. |
Heroku supports Ruby, Python, Java, Scala, Cloture and Node.js. The platform provides abstract computing environments called dynos, which are virtualized Unix-style containers that run processes in isolated environments. Dynos are broadly typed as either web dynos (respond to HTTP requests) or worker dynos (respond to task requests in a queue). Heroku works best with applications that fit well into the Twelve Factor App methodology. Third party applications, called addons, are also available as services within the Heroku platform.
|Key Fetures:||One of the early Pass providers, Heroku is ideal for quick deployments and fits a wide range of distributed applications.|
|Limitations:||Cost of addons vary and estimating costs can be challenging as the number of addons increase and loads vary across application components.|
|Pricing:||Based on the number and size of dynos deployed ($0.05/hour - $0.10/hour), the size of the Postgres database and addons used.|
|Bonus:||Starter databases with up to 10,000 rows are free.|
AppFog is a multi-language, multi-framework PaaS that's a good option for multi-cloud deployments, including private clouds. AppFog supports Java, Ruby, PHP, Python, Node, Scala and Erlang and offers MySQL, PostgreSQL, Redis and RabbitMQ along with third party add-on services. It can be used as a DaaS with ClearDB, MongoHQ, MongoLab, Redis Cloud and Xeround. AppFog is based on the open source Cloud Foundry platform and supports Git, SVN and Mercurial for code management.
|Key Features:||The ability to run your applications on multiple clouds is AppFog's biggest advantage. Those who prefer the VMware platform will also find the PaaS appealing. |
|Limitations:||Currently AppFog does not have persistent file system; other object storage systems can be integrated at an additional cost.|
|Pricing:||Based on the level of service, add-ons deployed and includes charges for exceeding quotas. Service levels are based on memory instead of CPU. Pricing plans range from $20/month (2GB RAM) to $720/month (32GB RAM).|
|Bonus:||Free version allows unlimited apps within 2GB of RAM, 100MB persistent storage (MySQL or PostgreSQL) and up to 8 service instances.|
With Windows Azure, Microsoft is blurring the lines between IaaS and PaaS. Windows Azure Cloud Services supports .NET, Node.js, PHP, Python, Java and Ruby. In addition to software development kits, developers can use Visual Studio for creating and deploying applications. Developers can choose between a SQL Database, Tables and Blobs when it comes to persistent storage. Applications are administered through the Windows Azure dashboard or through a command line interface.
|Key Features:||Since Windows Azure is an IaaS and PaaS in one, developers can mix and match IaaS components with PaaS offerings giving you more control.|
|Limitations:||Minimalist administration portal.|
|Pricing:||Based on size of instances running; prices range from $0.02/hour (768MB of RAM & 1 shared virtual core) to $0.64/hour (14GB of RAM & 8 virtual cores). Pricing for high memory machines is also available.|
|Bonus:||Free 30-day trial with a limit of up to $200 is available for new users.|
Although Amazon Web Services is primarily an IaaS, many of the services available in AWS are comparable to PaaS offerings. You can use the platform services available in AWS without having to create or maintain your own application servers. AWS readily supports Java, Python, Ruby, Perl and other languages. Oracle, MySQL and SQL Server can be set up and managed, but AWS offers RDS web service as well, which eliminates database administration tasks. Developers can take advantage of Amazon Elastic Beanstalk for automatic load balancing, auto-scaling, and application health monitoring.
|Key Features:||Since AWS is largely an IaaS, there is virtually no limit to the languages, databases or server side technologies you can install and run.|
|Limitations:||AWS services can require more management overhead than other PaaS options.|
|Pricing:||Complex mixture based on instances, storage, application services and data egress charges. Amazon, however, offers a monthly calculator to help estimate your costs.|
|Bonus:||New users can get 750 hours, 30GB storage and 15GB bandwidth for free with AWS's Free Usage Tier.|
Caspio is fundamentally different from the other PaaS providers on this list. It does not offer a fully functional software development environment; instead it focuses on bringing desktop database-like functionality to the cloud. Caspio is designed for creating basic databases, providing data entry forms and generating reports. It includes a point-and-click visual development tool with little, if any, coding required. Caspio applications are deployed by copying snippets of code to a web page or by accessing a URL to an application page. Caspio also comes with a set of preconfigured applications.
|Key Features:||Easy to use graphical user interface and wizard driven development environment lower the barriers to entry in application development in the cloud.|
|Limitations:||Caspio is not a true PaaS; application integration with existing software could become complex and it is best suited for small businesses with limited development resources.|
|Pricing:||Monthly subscription plan with unlimited users, apps, and storage is $249/month plus $30GB data transfer over 1GB/month. A custom plan, which starts at $19/month, is also available.|
|Bonus:||Free 14-day trial is available to new users.|
Backend platforms for mobile app development, known as mobile backend as a service (mBaaS), can be a great productivity boost. mBaaS is a specialized type of PaaS with an emphasis on supporting mobile app developers. It can relieve the need to code common functions speeding up the development process. While some IaaS/PaaS providers, like Google and Microsoft, offer mBaaS functions, there are many that are pure-play mBaaS vendors. Typical mBaaS services that you can expect from them include APIs for user management, push notifications, social network integration and cloud storage.