Infrastructure as a service (IaaS) and platform as a service (PaaS) can both have infrastructure at its core, so here’s how to tell the difference.
What’s the Difference Between Infrastructure as a Service (IaaS) and Platform as a Service (PaaS)?
The plethora of cloud computing deployment and service models and the growth of “as a service” monikers make cloud computing a confusing concept, to be sure. The blurred lines between infrastructure as a service (IaaS) and platform as a service (PaaS) only add to it. So let’s break it down.
The cloud computing stack looks like this:
Source: “What is cloud computing stack (SaaS, PaaS, IaaS),” MazikGlobal.com, 06/16/2014
- Software as a Service (SaaS), often called software-on-demand, is software applications delivered to end-users. Some examples include Google Apps, Facebook, Office 365, Salesforce, and ServiceNow.
- Platform as a Service (PaaS), on the other hand, provides the operating environment that helps developers build those applications and services and quickly deploy them over the Internet—without paying for or maintaining an infrastructure. Examples here are much less recognizable to end-users, but include Microsoft Azure, Salesforce Heroku, the Google App Engine, and IBM Bluemix.
- Infrastructure as a Service (IaaS)–such as Amazon Web Services, IBM SoftLayer, and IO’s enterprise IaaS–consists of the servers, storage, networks, and operating systems that drive the entire cloud stack.
While these are presented as distinct categories, in reality, the lines are becoming increasingly blurred, particularly between IaaS and PaaS.
IaaS often fills a need for businesses, especially new or start-up businesses, that do not want to invest in an infrastructure or the resources needed to support an infrastructure. “Renting” compute, storage, and network resources on a pay-per-use basis removes some of the risk of starting a new business. Read “What is Infrastructure as a Service (IaaS)?”
The same holds true for existing businesses whose infrastructure needs can vary dramatically, are capital constrained, or are growing significantly. In these cases, resources can be spun up to accommodate high-demand or high-growth periods or scaled back when demand or growth subsides—without making additional capital investments in their existing infrastructures.
In both cases, cost and scalability are the primary drivers, but security and location independence can also be significant factors. And the IaaS provider only provides the infrastructure; configuring the OS and managing applications falls to the user.
Where IaaS and PaaS cross paths is that they both provide the infrastructure as an underlying service, along with some of the same benefits: cost, scalability, location independence (in the case of geographically dispersed developers working on the same application), and security.
PaaS helps developers build, deploy, and scale production of software applications using PaaS-provided services. These services are highly customizable and can range from simple point-and-click tools to a full infrastructure for advanced application development—essentially whatever is needed to build the application. The key is that they are on-demand, subscription-based services that automate the development and test lifecycle for faster go to market.
Not only do PaaS providers include the management of any underlying applications and infrastructure, managed support services—such as assistance throughout the application development lifecycle—may also be included.
Clearly, IaaS underlies the cloud stack. The distinction between IaaS and PaaS is in what users bring to bear on each service. With IaaS, the provider manages the underlying infrastructure and users configure the operating system and any underlying applications. But with PaaS, providers deliver the underlying infrastructure and manage the OS and any underlying applications.