Platform as a Service (PaaS) or Application Platform as a
Service (aPaaS) or platform-based service is 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
Platform as a service (PaaS) is a complete development and
deployment environment in the cloud
with resources that enable you to deliver everything from simple cloud-
based apps to sophisticated, cloud-enabled enterprise applications.
You purchase the resources you need from a cloud service provider on
a pay-as-you-go basis and access them over a secure Internet
connection.
Like IaaS, PaaS includes infrastructure—servers, storage and
networking—but also middleware, development tools, business
intelligence (BI) services, database management systems and more.
PaaS is designed to support the complete web application lifecycle:
building, testing, deploying, managing and updating.
PaaS allows you to avoid the expense and complexity of buying and
managing software licenses, the underlying application infrastructure
and middleware or the development tools and other resources.
You manage the applications and services you develop and the cloud
service provider typically manages everything else.
Many software as a service (SaaS) solutions are built on PaaS offerings.
These tools are developed using PaaS toolkits and hosted in the cloud.
Companies developing SaaS offerings can keep their hosting costs low
until traffic demands require increased investment.
This makes PaaS solutions ideal for startups looking for a low initial
cost for a long-term investment.
DevOps teams can plug in cloud-based continuous integration tools to
add updates without downtime. Companies using the waterfall
approach can deploy an update with ease using the same console they
use for day-to-day management.
PaaS can be hosted in either public or private cloud. Public PaaS is
beneficial due to ease of implementation; users simply subscribe to the
service and start working. Private PaaS requires more intervention
from the IT department (in that private PaaS software needs to be
installed on your hardware).
Private PaaS has an advantage when it comes to control, security, and
compliance; however, this is because the company itself can take full
responsibility of those aspects.
Characteristics of Platform-as-a-Service
The major characteristics of PaaS are:
Figure 1. The Cloud Model — Emphasis on Service Models.
Figure 2. Service Model Architecture.
Common PaaS scenarios
Organizations typically use PaaS for these scenarios:
Development framework:
PaaS provides a framework that developers can build upon to develop or
customise cloud-based applications. Similar to the way you create an Excel
macro, PaaS lets developers create applications using built-in software
components. Cloud features such as scalability, high-availability and multi-
tenant capability are included, reducing the amount of coding that developers
must do.
Analytics or business intelligence:
Tools provided as a service with PaaS allow organisations to analyse and
mine their data, finding insights and patterns and predicting outcomes to
improve forecasting, product design decisions, investment returns and other
business decisions.
Additional services:
PaaS providers may offer other services that enhance applications, such as
workflow, directory, security and scheduling.
Advantages of PaaS
By delivering infrastructure as a service, PaaS offers the same
advantages as IaaS. But its additional features—middleware,
development tools and other business tools—give you more
advantages:
Cut coding time: PaaS development tools can cut the time it takes to
code new apps with pre-coded application components built into the
platform, such as workflow, directory services, security features,
search and so on.
Add development capabilities without adding staff: Platform as a
Service components can give your development team new capabilities
without your needing to add staff having the required skills.
Develop for multiple platforms—including mobile—more easily: Some
service providers give you development options for multiple platforms,
such as computers, mobile devices and browsers making cross-
platform apps quicker and easier to develop.
Use sophisticated tools affordably: A pay-as-you-go model makes it
possible for individuals or organisations to use sophisticated
development software and business intelligence and analytics tools
that they could not afford to purchase outright.
Support geographically distributed development teams:Because the
development environment is accessed over the Internet, development
teams can work together on projects even when team members are in
remote locations.
Efficiently manage the application lifecycle. PaaS provides all of the
capabilities that you need to support the complete web application
lifecycle: building, testing, deploying, managing and updating within the
same integrated environment.
Increase development speed:PaaS solutions allow for rapid
prototyping and development by providing prebuilt backend
infrastructure. Instead of building large databases and managing
backend requirements, developers can focus on features,
performance, and usability. Data can be hosted atop an existing
backend and synced through APIs for live updates and integration with
external applications.
PaaS solutions also typically provide development, staging, and testing
environments. These tools centralize developer resources for increased
productivity and reduced costs. Many PaaS offerings provide tools to
automate builds and tests to save time and eliminate bugs. Once development
has ceased, applications can quickly be hosted through the PaaS solution.
Reduced costs and commitment: Companies launching an application
for the first time may not have the financial means to purchase the
hardware and software necessary to build and deploy an application.
PaaS solutions are designed for startup accessibility with scalable
costs. This means new companies can opt in and develop an application
quickly and begin creating revenue. As demand grows, they can
increase spending periodically to maintain their application without a
large upfront investment.
Companies looking to reduce their current operating costs could see PaaS
solutions as a viable option. These are typically large companies with various
existing applications. They may be running on in-house infrastructure or an
IaaS solution. But consolidating infrastructure management with
development and maintenance can both simplify and reduce your current
infrastructure spending.
Reducing infrastructural burden: Aside from prebuilt backend and
development infrastructure, most PaaS solutions reduce security risk
by providing a stable network infrastructure on which applications can
run. In-house or on-premise infrastructure can be very expensive and
require additional staff for implementation, operation, and
maintenance. PaaS solutions allow users to deploy information and
code directly to a public, private, or hybrid cloud.
With PaaS solutions, users are able to manage objects, resources, and
databases remotely and simultaneously. They do not have to maintain
servers or update hardware as needs change. Some companies use PaaS
solutions atop existing infrastructure, but files, data, and resources can be
easily deployed into cloud storage.
Improve scalability and reliability
The pay-as-you-go model also enables worry-free scaling. Costs will
increase, but performance should not be affected by increased traffic and
usage. Databases can also be scaled as the information within them
multiplies. As performance is maintained through reliable cloud servers,
security is often cited as an additional level of reliability. With proper
configuration, data can be tightly secured, ensuring safety for company and
customer information.
Other benefits of PaaS
Companies can benefit from easier application reuse, increased resource
allocation, and improved customer support, among other things. And that’s in
addition to lower costs, quicker development, and increased security.
Application multi-tenancy can allow developers working on different
projects to utilize the same core service and isolate instances for each
application. That improves speed, performance, and security. Resource
allocation can be simplified through shared resources across applications.
Each application can allocate and share resources while properly
documenting each KPI and recording historical performance trends. For the
business, this means reduced overhead, lower headcount requirements,
reduced failover frequency, and quicker deployments.
Simplified integrations
A PaaS solution will have to integrate with numerous other tools in your
organization, and the complexity of these integrations ties directly into the
time and effort needed to implement the platform. In addition to having to
integrate with the infrastructure as a service (IaaS), a PaaS will likely need to
integrate with other development tools that are already in place, such as
version control systems, build automation tools, software testing products,
or integrated development environments (IDEs).
Some PaaS tools provide for continuous deployment and integration. This
allows companies to apply updates and change functionality without limiting
public access to applications. Virtual machines can also be extremely helpful
for computing, storage, and simulation. Element libraries, pre-configured
integrations, and programing language variety also contribute to the
development process.
Disadvantages of PaaS
Vendor lock-in
Affordable development tool kits and reasonable host pricing are readily
available for businesses. In most cases, companies won’t have to invest in
costly servers or other infrastructure because it’s handled by the provider.
When demand increases, the payment model will continue to reflect usage.
Hopefully, as user bases grow, revenue follows, allowing for simpler expense
forecasting. Still, some users disapprove of some potential vendor lock-in
when using PaaS offerings. Since your company’s entire application is built on
the platform, it can be difficult to change providers without affecting
functionality.
Changing PaaS providers would involve a significant workload and expense
increase. All of the application’s code and data will need to be migrated. All of
the network monitoring and configuration management operations will need
to be restructured. Contracts will also need to be renegotiated. It is possible
to switch PaaS providers, but it can be time consuming, labor intensive, and
expensive.
Lack of control
One downside of relying on a PaaS provider is that the product is vulnerable
to downtime during which users cannot access the system. Downtime is a
necessary evil needed to improve and maintain the platform, but if it occurs
too frequently or at unannounced times, developers could be left in the dark,
basking in their frustration. Having a reliable system is key to launching an
application quickly and efficiently, so make sure you ask what the service
uptime is and urge providers to give advance notice whenever possible.
Hardware and software dependencies
Companies migrating a legacy application may have difficulty pairing their
existing hardware to their new provider’s hardware. Some applications
require specific kinds of servers, data storage systems, and networking
components. Some cloud service providers will be able to accommodate
these needs at little to no cost. Some may not be able to meet your hardware
needs, while others may be able to accommodate your hardware
requirements at an additional price point.
Programming languages and existing development software setups should
be considered when adopting a PaaS. One of the first steps you need to take
when selecting a PaaS provider is to choose which programming language
you will use. Every PaaS platform supports a different set of programming
languages, so ensuring that the one you choose is compatible with your
language of choice is a crucial step in your decision process.
PaaS Providers
AWS
Amazon Web Services has a wide range of cloud service offerings that range
from PaaS and IaaS solutions to analytics and security solutions. Their
flagship offering is AWS EC2, which offers a variety of IaaS and PaaS tools. It
gives users complete control over their computing infrastructure and lets
them scale usage to meet their demands. It was one of their first publicly
available cloud computing offerings and it has remained a core part of AWS
since 2006. (It’s even hosted Amazon.com since 2010.)
AWS Elastic Beanstalk and AWS Lambda are AWS’ most popular pure-play
PaaS offerings. Elastic Beanstalk is a scalable platform for developing
applications written in Java, .NET, PHP, Node.js, Python, Ruby, and Go. It also
supports docker applications and common application servers including
Apache, Nginx, Passenger, and IIS.
AWS Lambda is a serverless computing platform. It allows users to execute
code without actually managing any server infrastructure. The product is
designed to run applications on any endpoint device and scale continuously by
only running when requests are triggered.
Microsoft Azure
The Azure platform is Microsoft’s flagship cloud computing service offering. It
was launched in 2008 and provides PaaS, IaaS, and SaaS solutions. Today,
Azure offers a wide array of computing, development, networking, and
integration services.
There are a few ways to utilize PaaS through Azure’s plug-and-play service
model. But Azure Web Apps and Azure App Service are two of their most
commonly used pure-play PaaS offerings. Web Apps is pretty
straightforward. It’s a managed platform that supports Windows and Linux
applications.
Azure App Service takes a more modern approach to PaaS, offering complete
infrastructure control and a development platform for web apps, mobile apps,
and APIs. Users can integrate existing frameworks to speed up development
time and integrate continuous delivery tools to build out DevOps processes.
Azure Functions is noteworthy; it operates much like AWS Lambda through
its serverless computing model. The event-driven code execution model is
designed to accelerate development time, optimize resource usage, and
simplify operational processes.
Google Cloud
The Google Cloud Platform offers a laundry list of cloud computing services,
much like AWS and Azure. Most industry experts rank them as the fourth-
largest vendor in the entire cloud computing space, behind AWS, Microsoft,
and IBM. In July, the company announced a number of offerings including
improved security, and new edge computing capabilities.
Its main PaaS tool is Google App Engine, a decade-old cloud platform for
building and hosting web applications. It operates on a managed serverless
platform that supports a variety of popular programming languages. It also
comes with built-in tools for monitoring, versioning, and application security
management.
Google Cloud Functions is has comparable event-driven functionality to that
of Lambda and Azure Functions. Most companies use Cloud Functions as a
serverless backend, but it can also support real-time data processing and
intelligent applications.
The future of PaaS
The PaaS market has not grown quite as rapidly as the IaaS and SaaS markets,
but it has made significant strides in recent years. The growing popularity of
containerized applications and the evolving microservices delivery model
have significantly changed application development for hundreds of
companies. Simplifying PaaS delivery has added a lot of control for
customers. They can add or remove services as their needs change.
Customers can even adopt cutting-edge artificial intelligence or edge
computing capabilities with ease.
PaaS and IaaS are slowly blurring together as hybrid service models attempt
to deliver complete control to the customer. The two technologies have
formed a symbiotic relationship. Companies can build their application with
PaaS and manage or scale with IaaS control. Companies that can afford both
fully fledged IaaS and PaaS offerings can gain full control over infrastructure,
resources, networks, and code.
Low-code
PaaS-esque solutions such as low-code development platforms have
increased in popularity in recent years. These tools simplify the development
process while providing managed backend services. Many of these products
combine templated applications and prebuilt backends with customizable
code or drag-and-drop interfaces.
Companies with smaller development teams or individuals with minimal
coding experience can jump in and create interactive applications or
customized workflow tools. Some individuals do have concern about non-
programmers building applications, but the technology has made it easier for
user experience and design experts to take more control over the
development process.
Containerization
Containers have taken world by storm, becoming a billion-dollar industry in
just a few years. By 2020, the industry will be worth upwards of $2.6 billion,
according to 451 Research. The technology is built around the idea of isolation
and abstraction. Containers possess everything they need to operate
(runtime, code, and libraries) within a single construct. Companies have used
this technology to improve security, increase technology time, and simplify
configuration management.
The number of companies using container technology is steadily growing.
Many employees from corporate giants have reviewed containerization
software products on G2 Crowd. The most common
are Docker and Kubernetes, two container management solutions. Many
cloud service providers have even begun offering cloud-based container
management solutions such as AWS ECS and Google’s GKE.
The internet of things
The internet of things (IoT) has forced a number of industries to evolve. Nearly
every household device or business tool can be connected to the internet. As
a result, many PaaS vendors have released offerings to meet the needs of
cross-platform applications operating on disparate devices. IoT
management solutions, many of which are offered by PaaS providers, are
used to build and manage scalable multi-tenant IoT applications.
Since everything is connected to the web and thousands of IoT apps have hit
the market, a plethora of data emerged from an untapped source. Streaming
analytics technologies came to power as a practical solution. These tools can
monitor devices in real time and help companies better understand users
while improving application performance. They also help integrate these
large, continuously growing datasets into third-party applications.
It’s important to stay in the loop as the PaaS market continues to grow and
cloud services expand their capabilities. These tools can help companies go
from archaic non-factors to industry innovators.