What is PaaS (Platform-as-a-Service)?
PaaS, or Platform-as-a-Service, is a cloud computing model that provides customers a complete platform—hardware, software, and infrastructure—for developing, running, and managing applications without the cost, complexity, and inflexibility of building and maintaining that platform on-premises.
The PaaS provider hosts everything—servers, networks, storage, operating system software, databases—at their data center; the customer uses it all for a for a monthly fee based on usage and can purchase more resources on-demand as needed. In this way, PaaS lets your development teams to build, test, deploy, maintain, update, and scale applications (and to innovate in response to market opportunities and threats) much more quickly and less expensively than they could if you had to build out and manage your own on-premises platform.
See our video "PaaS Explained" for a closer look at the model:
The following are some specific advantages your organization can realize from utilizing PaaS:
- Faster time to market: With PaaS, there’s no need to purchase and install the hardware and software you’ll use to build and maintain your application development platform and no need for development teams to wait while you do this. You simply tap into the cloud service provider’s PaaS resources and begin developing immediately.
- Faster, easier, less-risky adoption of a wider range of resources: PaaS platforms typically include access to a greater variety of choices up and down the application development stack—operating systems, middleware, and databases, and tools such as code libraries and app components—than you can affordably or practically maintain on-premises. It also lets you test new operating systems, languages, and tools without risk—that is, without having to invest in the infrastructure required to run them.
- Easy, cost-effective scalability: If an application developed and hosted on-premises starts getting more traffic, you’ll need to purchase more computing, storage, and even network hardware to meet the demand, which you may not be able to do quickly enough and can be wasteful (since you typically purchase more than you need). With PaaS, you can scale on-demand by purchasing just the amount of additional capacity you need.
- Lower costs: Because there’s no infrastructure to build, your upfront costs are lower. Costs are also lower and more predictable because most PaaS providers charge customers based on usage.
PaaS, IaaS, and SaaS
IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service) , and SaaS (Software-as-a-Service) are the three most common models of cloud services, and it’s not uncommon for an organization to use all three. However, there is often confusion among the three and what’s included with each:
- With IaaS, your cloud provider offers access to ‘raw’ computing resources, such as servers, storage, and networking, but you’re responsible for the platform and application software.
- With PaaS, your provider delivers and manages the entire platform infrastructure; you are abstracted from the lower-level details of the environment, and you use the platform to develop and deploy your applications.
- SaaS is software you use via the cloud, as if it were installed on your computer (and parts of it may, in fact, be installed on your computer). SaaS applications reside on the cloud network, and users can store and analyze data and collaborate on projects thorough the application.
There are many use cases for PaaS, including the following popular application-based ones:
- API development and management: You can use PaaS to develop, run, manage, and secure application programming interfaces (APIs) and microservices.
- Internet of Things (IoT): PaaS can support the broad range of application environments, programming languages, and tools used for IoT deployments.
- Business analytics/intelligence: PaaS tools allow you to analyze your data to find business insights that enable more informed business decisions and predictions.
In the end, the most common use case for PaaS is strategic—namely to build, test, deploy, run, enhance, and scale applications more rapidly and cost-effectively. For example, Australian-based UBank wanted to innovate by create a simpler, smarter customer experience but without hiring additional development personnel. Using PaaS, UBank was able to create RoboChat, a chatbot that helps customers complete their online home loan applications, in just two months from concept to production.
Customers who use RoboChat have a 15% higher home loan completion rate than those who don’t. And UBank continues to use PaaS to pilot new ideas; if a project doesn’t work out, UBank can quickly scrap it and move on to a new project.
For a few years now, cloud service providers have offered Artificial-Intelligence-as-a-Service (AIaaS) that lets you ‘tap into’ individual AI capabilities without investing in the supporting infrastructure required to run it or the in-house expertise required to operate, manage, and maintain it.
But the leading cloud service providers have introduced comprehensive AI-Platform-as-a-Service (AIPaaS) offerings that include a platform for delivering AI-enriched applications. Typically, AIPaaS includes infrastructure and data storage hardened to provide the computing power and voluminous storage AI requires, pretrained machine learning models you can use as-is or customize, and APIs for integrating specific AI capabilities (such as facial recognition or text-to-speech conversion) into your application.
Open source PaaS and Kubernetes
An open source PaaS allows developers and users to contribute and share source code and extensions. Cloud Foundry (link resides outside IBM) and OpenShift (link resides outside IBM) are two popular open source PaaS platforms.
Cloud Foundry allows you to deploy and run apps on your own computing infrastructure or by using a PaaS deployed by a commercial Cloud Foundry cloud provider. A broad vendor community contributes to and supports Cloud Foundry. OpenShift is Red Hat’s cloud computing PaaS offering. OpenShift is built around Docker containers orchestrated and managed by Kubernetes on a Red Hat Enterprise foundation.
There is often confusion about whether Kubernetes is a PaaS. Kubernetes is an open source, container orchestration tool that is critical to the managing of cloud applications. It provides some features common to PaaS offerings, such as deployment, scaling, load balancing, logging, and monitoring, but is not a traditional, all-inclusive PaaS.
For more information on Kubernetes, see the video “Kubernetes Explained”:
Cloud native and PaaS
PaaS is experiencing strong growth. Gartner predicts the PaaS market will have doubled in size from 2018 and 2022, and that it will become the prevailing platform delivery model moving forward.
At the same time, “cloud native” apps are becoming pervasive. Cloud native refers to an application designed to run in a cloud environment that automatically reflects the key elements of cloud (agility, scalability, etc.).
Cloud native is less about where an application resides and more about how it is built and deployed, but cloud native apps generally follow a microservices architecture and make use of such cloud technologies as containers. Because cloud native applications typically include new and modern methods of application development, using a PaaS model makes developing cloud native apps much easier, and allows you to innovate much faster.
See the following video for a deeper dive on cloud native applications:
PaaS and IBM Cloud
IBM provides a rich and scalable PaaS for developing cloud native applications from scratch or modernizing existing applications to benefit from the flexibility and scalability of the cloud. Services include IBM Cloud Kubernetes Service, a fully-managed container orchestration solution; Red Hat OpenShift on IBM Cloud; IBM Cloudant and IBM Cloud Databases for PostgreSQL; and much more.
IBM Cloud Foundry is IBM’s version of the open source PaaS for building, testing, deploying, and scaling applications. And the IBM Watson platform lets you deploy AI applications wherever your data resides—on any cloud or on your own private cloud platform.
To get started with PaaS on IBM Cloud, sign up for an IBMid and create your IBM Cloud account.