Vincent-Philippe Lauzon

Defining PaaS: A flexible solution to meet your needs

While the cloud topic has moved to the mainstream, there is still much variation with how vendors, analysts and other experts define various cloud offerings. This is particularly the case when it comes to PaaS (platform as a service).

I like to refer to the U.S. National Institute of Standards and Technology’s (NIST) definition. In a paper published this past September, “The NIST Definition of Cloud Computing,” the authors cite this for PaaS:

The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.

I added the bolding to emphasize what I find to be especially pertinent within the definition.

You can therefore visualize the position of PaaS in the middle of the spectrum of options from infrastructure as a service (IaaS) to software as a service (SaaS). On the left with IaaS is control, and on the right with SaaS is scale. This visualization summaries what is gained and lost as you move from IaaS to PaaS to SaaS—meaning, what we lose in control, we gain in scalability and vice versa.

PaaS services provide pre-defined development/configuration environments at the application software level. This frees up developers from having to worry about the underlying infrastructure-related items, such as hardware, memory, network and operating systems to enable rapid delivery of business applications. Business applications that leverage the full power of a PaaS platform can achieve significant benefits that cloud computing promises. For instance, an website that has sporadic use caused by a certain event—such as a new product launch, important news announcement or sporting event–will require additional computing resources to meet these demands. PaaS-based applications can automatically expand to meet these demands and then contract when the demand tapers off. Therefore, a customer is only charged for the excess capacity for the period of time required.

There are several PaaS providers, such as Google AppEngine, Microsoft’s Windows Azure and  Salesforce’s force.com. Applications developed / configured using a PaaS provider are typically not transferable—meaning that an application developed using Google AppEngine cannot be migrated to run on Microsoft’s Azure. Therefore choosing the right platform and provider that can meet your near-term and long-term requirements is essential.

Depending on your application requirements, PaaS can deliver the flexibility you need. I’ll explore such scenarios in future blog posts.

Blog moderation guidelines and term of use