The Best Cloud Computing Services of 2018
Software development has long required a combination of programming, design and system administration skills. If your project required an integrated development environment, an application server and a database, then you, or someone on your team, would have to install, configure and maintain those components. These activities do not provide for distinguishing features of your software: they are simply overhead activities that leave less time for innovative software design and development. What if you could make that overhead go away or at least shift the responsibility to a service provider? That is the promise of platform-as-a-service (PaaS).
PaaS (pronounced "pass"), which falls under the umbrella of cloud computing, is a service model that offers developers relief from some aspects of systems management while allowing sufficient flexibility in software development to design and deploy custom applications in the cloud. Some cloud computing vendors we reviewed specialize in PaaS, such as Engine Yard, Heroku and AppFog. Some, such as Amazon AWS and Microsoft Azure, are also Infrastructure as a Service providers. The fact that they have PaaS offerings as well demonstrates the lines between infrastructure-as-a-service (IaaS) and PaaS are blurring.
State of the Industry
PaaS services offer a combination of IaaS and software-as-a-service (SaaS) features. Like IaaS, PaaS is used to develop web and mobile applications using a wide array of components, ranging from programming languages and application servers to message queues and databases. Like SaaS, these components are preconfigured and maintained by the service provider and typically offered as multi-tenancy services.
IaaS providers offer commodity services, such as virtual machines and block storages that are sometimes difficult to differentiate from competitors’ offerings. PaaS vendors offer higher level services and therefore have more opportunity to offer specialized services and focus on a particular type of developer. For example, a Java PaaS provider might offer well integrated Java application server, source code management, and continuous integration tools. Other PaaS providers may target developers using multiple languages by offering support for PHP, Ruby, Python, Perl and other popular web development languages.
The increasing importance of mobile applications presents another area in which PaaS providers can differentiate their product lines from those of other vendors.
There are two common pricing models in PaaS offerings: pay by the hour or pay by the month. It is reasonable to expect that a PaaS service will cost more than a comparable IaaS service that leaves you to manage the software infrastructure. Consider the markup on these services as you evaluate the value of a PaaS.
You should also consider your options for optimizing your PaaS configuration. For example, what information is available to you to assess the efficiency of your configuration? Of course, one of the advantages of a PaaS is that you should not have to manage these lower level implementation details, but you'll need to balance that goal with the need to manage your budget.
Below are all our reviews of PaaS cloud computing services.
Cloud 66 Review
Engine Yard Review
Google App Engine Review
Microsoft Azure Review
To evaluate and review the best PaaS providers, we started with a list of more than 35 cloud computing companies. This list was based on prior companies we reviewed, industry leaders, companies reviewed by other review websites, etc. We evaluated languages supported, pricing structure, cloud type and whether it integrated with other solutions.
After whittling the list down to 25 companies, we evaluated each one based on its support, specific languages, pricing plans and basic PaaS services offered. We also considered whether each company had been previously reviewed, was open source or was a low code platform. When we reached our final 10 companies, we did an even deeper dive into their service offering, analyzing customer reviews, server-side technologies, security features, load balancing options, storage offered, database integrations, backend support and what IaaS services the PaaS paired with.
We also tested sales support with soft sales inquiries via email. Not every company responded, but we didn't weight this as high in our consideration as usual because of the transparency these companies exhibited online.
The final 10 companies earned reviews and are considered by Business.com to be among the best PaaS services on the market.
When evaluating and choosing a PaaS provider, you should consider 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.
What are your business's data storage needs? If you are deploying a transaction processing system and your customers expect low latency and consistent performance, then consider the ability to provision the needed level of IOPS. If scalability is paramount, then a distributed, NoSQL key value data store might be the right choice for your application.
Choosing your programming language(s) is an early and important step in a software development project. The languages you use can strongly influence programming paradigms, other tools and components you deploy. This is one of the reasons language-specific PaaS can establish themselves with a niche market. Server-side technologies also strongly influence how you design applications. Commonly used server-side technologies such as .NET, PHP and Java are widely supported by PaaS providers.
One factor you should consider is how likely you are to continue to use the current mix of programming languages and server-side technologies. If you are strongly committed to .NET architecture, then working with a .NET centric PaaS makes sense. If your development team works with multiple languages and server-side technologies, then a polyglot PaaS is likely a better fit.
Some PaaS providers offer integration with tools like Visual Studio and Eclipse. Solid integration can help reduce the time and overhead associated with uploading and managing code between developers' machines and the PaaS servers. The same goes for code management tools such as Git. A PaaS that works well with your source code management tool can save time and reduce the risk of errors when deploying code to PaaS servers.
List of 9Best Cloud Computing Services
Amazon Web Services
Though famous as an IaaS, Amazon Web Services also works as a PaaS (platform as a service).
Microsoft Azure is a comprehensive cloud computing service that allows you both the control of IaaS and the higher-level services of PaaS.
Caspio is a unique PaaS (platform as a service) that appeals to Microsoft Access users.
Cloud 66 is a container-based platform as a service that provides developers with the tools needed to create applications and scale deployment. The company offers all the standard PaaS features, including support for multiple coding languages and server-side technologies, load-balancing features, and database integrations.
Engine Yard strikes a balance between performing operations management tasks for developers and giving developers control over their development and production environments. Engine Yard provides standardized open platforms that run in the Amazon cloud.
Google App Engine
Google App Engine is a development stack that includes support for multiple languages, caching, persistent data storage and basic access controls. If you can design your application within the restrictions imposed by the PaaS, you can leverage key components of highly scalable applications.
Heroku is an established PaaS with a process model designed to fit a wide range of distributed applications. It focuses on core processing and data management and offers additional services through third-party add-ons.
OpenShift by RedHat is a PaaS service designed for developers. Many typical systems administration tasks, like virtual server provisioning, configuration and scaling, are automated so developers can spend more time on code and less time on configuring operating systems and installing libraries and packages.