With the cloud believed to be a top priority for companies in 2020, according to our outlook survey, we would today like to continue our exploration of the many as-a-service offerings available to you with a brief look at Platform-as-a-Service.

What is PaaS?

Platform as a Service (PaaS) represents “a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.”

Introduced in our last blog discussing infrastructure as a service (IaaS), the as-a-service model is very easy to understand when compared to ordering a pizza.

[Pizza as a Service Image]

What’s the Difference between IaaS and PaaS?

While on-premises would represent making a pizza from scratch—ingredients, baking, resources to make the pizza, etc. and IaaS would be the same as buying a take-and-bake pizza (everything is provided for you, you just need to finish it)—Platform-as-a-Service would be best understood as “having a pizza delivered.”

In real terms, PaaS gives a bit more responsibility to the provider than IaaS.

On-Premises

Infrastructure-as-a-Service

Platform-as-a-Service

Application Application Application
Data Data Data
Runtime Runtime Runtime
Middleware Middleware Middleware
Operating System Operating System Operating System
Virtualization Virtualization Virtualization
Networking Networking Networking
Storage Storage Storage
Servers Servers Servers
User/Enterprise Managed Provider-Managed

 

Market Expectation for PaaS

Though smaller than most markets and slower-growing than others, PaaS still represents a healthy portion of the cloud/as-a-service environment. Expected to grow at a bit more than $4 billion each year, Gartner estimates PaaS will be worth $23 billion this year and $27.5 billion next year.

Key Characteristics of PaaS

Referencing the above pizza-as-a-service model, your provider is responsible for making the pizza and bringing it to you—all you need to do is pay for it and consume it. Like this, with PaaS, you just need to deliver the application and data. Your provider builds and supplies the environment, allowing you to focus exclusively on building and running the applications.

Among the key characteristics of a PaaS offering:

Application Catalog

According to Container Journal’s comparison of PaaS and Kubernetes as a Service, the primary feature of a PaaS is the application catalog, which enables you to create a project by hooking together components rather than deploying and configuring them individually. Some PaaSes may have dozens or even hundreds of components from which to choose.

Though this does give you selection, users are warned that this is where the term lock-in comes into play—as you’re locked into the applications and versions of the software.

Operator Control

PaaS is inherently operator-centric, giving a large amount of control to the operator. In such, the operator is responsible for the architectural decisions, the installation, maintenance, and upgrades.

Developer-Focused Design

One of the things that makes PaaS easy is that the application catalog takes a lot of thought out of the development process. Want a database? Here are the approved ones.

Baked-In Security

If securing the application you’re building is often an afterthought, then PaaS is a lifesaver. With security under the control of your vendor, they often are able to do more than you thanks to economies of scale.

PaaS Warnings

According to RackSpace, the ability to automate processes, use predefined components and building blocks, and deploy automatically to production provides sufficient value to make PaaS highly attractive. However, PaaS might not be ideal in the following situations:

  • The application needs to be highly portable in terms of where it is hosted.
  • Proprietary languages or approaches would impact the development process.
  • A proprietary language would hinder later moves to another provider (concerns about vendor lock-in).
  • Application performance requires customization of the underlying hardware and software.

A PaaS development environment enables applications to be created more quickly. In some examples, in the absence of PaaS, the cost of developing the application would have been prohibitive.