BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Cloud-based PaaS offerings have not had the kind of explosive growth that SaaS and IaaS solutions have seen over the past decade. However, it still is the preferred option for startups with few developers, where the pace of development precedes control over underlying IT infrastructure. PaaS simplifies development by abstracting the lower-level infrastructure and providing an easy-to-use platform to develop, test and deploy apps.
With preconfigured, console-driven access to infrastructure, ops teams can drastically cut down the time spent wiring together components at the server, storage and networking level of the stack. Platform-as-a-service offerings typically contain all that is needed for development, such as compute resources, OSes, tools for development and testing, built-in security and end-to-end monitoring. PaaS is great for organizations where a large group of developers, as well as third-party developers, are involved in building applications.
Let's a take a look at some of the key providers of cloud-based PaaS offerings today and discuss the important developments in this space over the past year.
Salesforce App Cloud
App Cloud combines Heroku, Force.com and Lightning, plus a host of other services from Salesforce. Salesforce hasn't been able to gain much traction using its homebred PaaS offerings, Force.com and Lightning. But Heroku, which was acquired by Salesforce a few years ago, is one of the earliest PaaS vendors, and its presence alone adds gravity to the App Cloud offering. Heroku is a mature PaaS platform with support for many programming languages and a hybrid infrastructure. Heroku is probably the first name that comes to mind for any developer considering a PaaS platform, and that isn't about to change anytime soon. Yet, Salesforce App Cloud can't rely on the legacy of Heroku to win at PaaS. Salesforce pioneered the era of SaaS, but it's left to be seen if it can do a repeat with PaaS.
Google App Engine
Google App Engine (GAE) was the first cloud service of the Google Cloud Platform. It became the preferred platform for social and game apps, like Snapchat and Angry Birds. Unlike startups such as Twitter that were plagued with downtime during their first few years, apps that were powered by GAE had little or no such issues. Google App Engine's ability to automate load balancing and scale was ideally suited for these resource-constrained startups. GAE is not as open as Heroku, having a proprietary SQL database and APIs. However, it greatly simplifies launching and scaling your app compared to IaaS options like Amazon Web Services (AWS). On the downside, GAE had one notable outage last year, which took down 21% of its apps, including Snapchat. This is an outlier. In the PaaS offerings arena, this platform is otherwise rock solid and is one of the frontrunners.
AWS Elastic Beanstalk
AWS rules in the world of IaaS, and it also offers a PaaS solution called Elastic Beanstalk. One reason to go with Elastic Beanstalk is its integration with other AWS services, like the DynamoDB NoSQL database, CloudWatch for monitoring, Simple Storage Service for storage and Identity and Access Management for access control. If you've run your infrastructure on AWS in the past, you'll enjoy the familiarity of managing your PaaS-powered app through the same AWS console and tools. Although Heroku also runs on top of AWS infrastructure, Elastic Beanstalk gives you more control over your Elastic Compute Cloud instances. It allows you to install your own software onto the instances. This has caused some users to jump ship from Heroku to Elastic Beanstalk. But that blurs the line between IaaS and PaaS and makes you question what the right balance for PaaS offerings really is. The answer will be different for each organization and each app, but the question is worth asking.
Red Hat OpenShift
Red Hat OpenShift is built on top of open source software. It differentiates itself by focusing on two of the most popular developer tools today: Docker and Kubernetes. It even calls itself an enterprise-grade container platform. Red Hat is going out of its way to court developers with this offering. It has traditionally sold its solutions to IT, but with PaaS offerings, developers are the target audience. OpenShift aims to power infrastructure in both public and private clouds. To this end, it has made versions of OpenShift available on public cloud platforms, like AWS and Google Cloud Platform. Red Hat has had much success with traditional enterprises that fear vendor lock-in. It's yet to be seen if OpenShift can make a dent among the crowded PaaS offerings.
Azure App Service
Last year, Microsoft announced its PaaS option, Azure App Service. It lets you create five types of apps: web, mobile, function, API and logic. In step with the modern paradigm of cross-platform apps, Microsoft promises that apps built with Azure App Service can run on any platform. As the newest contender in the world of PaaS offerings, Azure App Service is still gaining a foothold.
Challengers: Cloud Foundry, Engine Yard, Apprenda
While all of the above vendors have immensely popular IaaS and SaaS products and deep pockets to market their solutions, there is a breed of upstarts that are challenging these establishments in the quest for PaaS offering dominance. Cloud Foundry is the most prominent of these platforms, taking an open source approach to PaaS. One trend that's common among the challengers is their adoption of Docker and Kubernetes across the board. Cloud Foundry, Engine Yard and Apprenda have all announced deeper integration for Docker and Kubernetes in a bid to ride the wave of containerization that's sweeping the world of development.
The PaaS movement is at its very early stages. Over the next decade, apps will increasingly be deployed with DevOps teams not having to worry about underlying infrastructure. This is the promise of the PaaS offerings, and though it's taking longer than expected to get there, the journey is an interesting trend to observe.
Cloud + DevOps = success!
What happens when platforms as a service and containers meet?
Where is cloud-based development headed?