What is PaaS (platform as a service)?
Learn how you can run apps on a platform as a service (PaaS).
Definition of PaaS (platform as a service)
What is the difference between PaaS, SaaS, and IaaS?
In cloud computing, there are three main categories of services for delivering apps: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). Each provides varying degrees of simplification and control.
At one end of the spectrum, IaaS allows customers to manage their own fleet of virtual servers, which includes responsibility for the application runtime environment, operating system, and middleware. On the other end, SaaS offerings give customers “no-code” tools for creating apps in a highly structured environment.
PaaS sits in the middle. Developers deploy their own code to a fully managed platform that takes care of everything below the app layer. This allows developers to focus on their app and data without the distraction (or additional headcount) of managing app infrastructure.
What is included in PaaS?
In the PaaS cloud computing model, most of the complexity associated with application infrastructure is handled by the PaaS provider. This includes monitoring and maintaining servers, runtime environments, operating systems, and middleware (for example, language stacks) to ensure everything is up to date and working properly at all times. When security patches or upgrades are needed, the provider will also handle this as part of the managed service.
In addition to platform services, many PaaS providers also offer fully managed, cloud-based data services. These allow developers to quickly integrate data into their apps, as well as access and work with their data — all without having to set up and maintain their own databases. PaaS providers also typically offer value added tools to help developers and teams stay productive when deploying and operating their apps. This may include support for continuous integration/continuous delivery (CI/CD), integration with popular third-party services, or app monitoring and management tools.
What is PaaS used for?
One of the advantages of PaaS is its flexibility and scalability. Developers can build apps using their choice of programming language or framework. They can run any type of app on a PaaS, whether it be a web or mobile app, Internet of Things (IoT) app, or an application programming interface (API) that connects apps and systems. PaaS services are designed to easily scale; apps can start out small and seamlessly scale up to handle enterprise-level demand.
An app on a PaaS may also be a back-end service that provides a particular function, such as to authenticate users or push notifications. Many companies today are taking a microservices approach to their application architecture; they’re building applications that are composed of a constellation of individual back-end and front-end services. PaaS makes it easier to quickly deploy and manage individual microservices, especially if they are built using several different languages and frameworks.
Overall, PaaS is a good choice for delivering highly customized, modern apps that drive business innovation or customer engagement.
Building applications on PaaS vs. on-premises
Building and running on-premises applications is complex, expensive, and slow. Traditionally, each on-premises application requires hardware, an operating system, a database, middleware, servers, and other software. Once the stack is assembled, developers need to navigate frameworks like J2EE and .NET. A team of network, database, and system management experts is often needed to keep everything up and running. Inevitably, a new business requirement means a change to the application, which in turn kicks off another lengthy development, test, and deployment cycle.
Additionally, large companies often need specialized facilities to house their data centers and a team to maintain them. Enormous amounts of electricity also are needed to power the servers as well as the systems to keep them cool. Finally, a failover site is needed to mirror the data center so information can be replicated in case of a disaster.
Applications built with this complexity and infrastructure are difficult to scale for usage spike demands, and difficult to update as the business needs change. At its core, PaaS eliminates the expense and complexity of buying, configuring, and managing all the hardware and software needed to run applications.