What is PaaS? Platform-as-a-service explained
Platform-as-a-service (PaaS) is a type of cloud computing offering in which a service provider delivers a platform to clients, enabling them to develop, run, and manage business applications without the need to build and maintain the infrastructure such software development processes typically require.
Because PaaS architectures keep the underlying infrastructure out of sight of developers and other users, the model is similar to the concepts of serverless computing and function-as-a-service (FaaS), in which a cloud service provider provisions and runs the server and manages the allocation of resources.
FaaS is a type of serverless offering that allows companies to develop and run discrete, event-driven functions without the complexity of building and maintaining the infrastructure typically needed for developing and launching an application.
PaaS and serverless computing services typically charge only for compute, storage, and network resources consumed. FaaS takes that approach to the extreme, charging only when functions are executed, making FaaS a natural choice for intermittent tasks.
As with other cloud services such as infrastructure-as-a-service (IaaS) and software-as-a-service (SaaS), PaaS is offered via a cloud service provider’s hosted infrastructure. Users typically access PaaS offerings via a web browser.
PaaS can be delivered through public, private, or hybrid clouds. With a public cloud PaaS, the customer controls software deployment while the cloud provider delivers all the major IT components needed to host the applications, including servers, storage systems, networks, operating systems, and databases.
With a private cloud offering, PaaS is delivered as software or an appliance within a customer’s firewall, typically in its on-premises datacenter. Hybrid cloud PaaS offers a mix of the two types of cloud service.
Rather than replace an organization’s entire IT infrastructure for software development, PaaS provides key services such as application hosting or Java development. Some PaaS offerings include application design, development, testing, and deployment. PaaS services can also include web service integration, development team collaboration, database integration, and information security.
As with other types of cloud services, customers pay for PaaS on a per-use basis, with some providers charging a flat monthly fee for access to the platform and applications hosted on the platform.
In this 60-second video, learn how the cloud-native approach is changing the way enterprises structure their technologies, from Craig McLuckie, founder and CEO of Heptio, and one of the inventors of open-source system Kubernetes.
One of the biggest advantages of PaaS is that enterprises can gain an environment in which to create and deploy new applications without the need to spend time and money building and maintaining an infrastructure that includes servers and databases.
This can lead to faster development and delivery of applications, a huge plus for businesses looking to gain a competitive edge or that need to get products to market quickly.
PaaS also lets them test the use of new languages, operating systems, databases, and other development technologies quickly, because they do not have to stand up the supporting infrastructure for them. PaaS also makes it easier and faster to upgrade their tools.
And the use of PaaS forces enterprise software developers to use cloud techniques in their applications, helping then adopt modern principles and take better advantage of cloud infrastructure (IaaS) platforms.
Because organizations using PaaS can manage their applications and data, loss of control is not a major issue as it often is when using cloud infrastructure or applications.
Providing a hosted environment for application development, testing, and deployment is one of the most common uses for PaaS. But it is hardly the only reason why enterprises use PaaS.
Research firm Gartner cites a variety of use cases for PaaS, including:
PaaS includes multiple underlying cloud infrastructure components, including servers, networking equipment, operating systems, storage services, middleware, and databases.
All of these technology offerings are owned, operated, configured, and maintained by the service providers. These fully managed infrastructure services not only relieve the customer of the IT administrative burden, but also present an attractive financial argument for customers. They can avoid having to lay out investments in these foundational IT components that they might not be able to use to the fullest extent possible.
PaaS also includes resources such as development tools, programming languages, libraries, database management systems, and other tools from the cloud provider.
Among the leading PaaS providers are Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard, and Heroku. Most widely used languages, libraries, containers, and related tools are available on all the major PaaS providers’ clouds.
Amazon, Microsoft, and Google in particular offer full sets of cloud-based services including compute, storage, databases, analytics, networking, mobile back-end, developer tools, management tools, and security. In many cases these are fully managed services that complement the PaaS services in these public clouds.
It’s no accident that many PaaS vendors are also leading providers of software development tools. Gartner estimates there are about 200 PaaS providers today.
Here is a brief look at some of the leading PaaS offerings.
With Elastic Beanstalk, companies can quickly deploy and manage applications in the AWS Cloud without having to learn about the infrastructure that runs the applications. Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.
AWS Lambda is an event-driven, serverless computing platform that runs your code in response to events, and automatically manages the computing resources needed by that code. AWS Lambda popularized the FaaS concept, though it predates the term.
Google App Engine is a PaaS offering for developing and hosting web applications in Google-managed data centers. Applications are sandboxed, run, and scaled automatically across multiple servers.
Google Cloud Functions is designed to make it easy for developers to run and scale code in the cloud and build event-driven serverless applications.
Microsoft Azure App Service is a fully managed PaaS that integrates Microsoft Azure Websites, Mobile Services, and BizTalk Services into a single offering. Azure App Service provides integration between on-premises and cloud systems.
Microsoft Azure Functions is a serverless computing platform that allows developers to take action by connecting to data sources or messaging solutions, making it easy to process and react to events. Developers can use Azure Functions to build HTTP-based API endpoints accessible by a range of applications.
OpenShift is a family of PaaS offerings, which can be cloud-hosted or deployed on-premises, for building and deploying containerized applications. The flagship product is the OpenShift Container Platform, an on-premises PaaS built around Docker containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux.
Cloud Foundry is an open source PaaS governed by the Cloud Foundry Foundation. It was originally developed by VMware and then transferred to Pivotal Software, a joint venture by EMC, VMware, and General Electric. Like OpenShift, Cloud Foundry is designed for building and running container-based applications, using Kubernetes for orchestration.
Given that PaaS is a cloud-based service, it comes with many of the same inherent risks that other cloud offerings have, such as information security threats. PaaS is based on the concept of using shared resources such as networks and servers, so the security risks include placing critical data into this environment and having they data stolen due to unauthorized access or attacks by hackers or other bad actors.
On the other hand, the major cloud providers have been more effective at warding off such breaches than the typical enterprise datacenter, so the information security risk has not proven to be what many in IT initially feared.
With PaaS, enterprises are beholden to service providers building appropriate access controls and other security provisions and policies into their infrastructures and operations. Enterprises are also responsible for providing their own security protections for their applications.
Also, because organizations are relying on a particular service provider's infrastructure and software, there is a potential problem of vendor lock-in with PaaS environments. A legitimate question for IT to ask is will the PaaS it chooses interoperate with its current and future IaaS and SaaS deployments?
Another risk with PaaS is when the service provider’s infrastructure experiences downtime for whatever reason, and the impact that might have on services. Also, what if the provider makes changes in its development strategy, programming languages, or in other areas?
Don’t expect these possible hurdles to keep you from taking the plunge into PaaS. It provides more flexibility precisely because the vendor handles the platforms while you handle the programming.
Any discussion of PaaS should include mention of iPaaS, integration platform-as-a-service. iPaaS is a set of automated tools for linking applications deployed in different environments. Leading examples of iPaaS providers include Dell Boomi, Informatica, MuleSoft, and SnapLogic.
iPaaS makes sense for companies that need to integrate on-premises applications and data with cloud applications and data, which includes a growing number of enterprises leveraging hybrid cloud environments.
This story, "What is PaaS? Platform-as-a-service explained" was originally published by InfoWorld.