Goldilocks and the three cloud service models

In a recent post, I talked about the 5 essential characteristics of cloud computing. In today’s post, I will cover the three service models available in the cloud as they are defined by the National Institute of Standards and Technology, or NIST.

Like the story of Goldilocks, when it comes to choosing service models for the cloud, there is no right or wrong. Your choice depends who you are and what you want. (Granted, that’s my own interpretation of the story).

The idea of this post is not to add more hype around cloud service models (if that’s even possible!) but to use simple examples to illustrate them.

Software as a Service (SaaS)

“The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.”

Do you remember when you had to install an e-mail client on your desktop? Remember Outlook Express? (shudders!). The younger readers will not believe me, but in those prehistoric times, you downloaded your e-mails to your computer. And if you were not careful, they were deleted from the server. Yes, deleted! What a concept!

But this started to change with the advent of web-based e-mail, like Hotmail and GMail. These were likely the first examples of Software-As-A-Service. And you no longer needed a desktop e-mail client.

When I explain SaaS to friends and family, I usually say that it's a lot like renting a home:

You pay for the use (number of month) of a house or apartment

If something major breaks, your landlord will be the one to fix it

You can bring your furniture, may be even paint the inside of your home, but you can't re-model

If it turns out to be too small after a while, it's easy to leave and find a bigger place

Infrastructure as a Service (IaaS)

“The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).”

Infrastructure as a Service is also fairly straightforward to understand. Instead of renting out access to an application, you rent out the essential building blocks that enable you to build or run any type of application you desire. Amazon Web Services (AWS) is the archetypal example, and is the leading IaaS provider at this time. On AWS, you can rent a wide variety of servers, storage or network devices for dollars per hour. You can then assemble and build upon those to create any type of software application.

To continue with my house theme, IaaS would be like renting out the tools necessary to build your house and renting the land on which it stands. So, you could make your house twice as big when you have family over, but the price would go up. You could also decide to build hundreds of apartments, and rent them out to others, therefore making a profit.

Platform as a Service (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 kept this one for last because it’s the hardest one to explain, and in my opinion, the one that is the least clearly defined at this point. It sits between IaaS and SaaS, but where exactly will depend on who you talk to. Essentially, we want more flexibility than SaaS, but less grunt work than IaaS. The examples I use when talking about this are usually the Apple App Store, Google App Engine or the SalesForce.com platforms.

To continue stretching my house analogy to its limits, PaaS is a little like those new 3-D printed houses. It allows for quick building of a house. You can have any shape you want, within reason, but you cannot choose what materials it’s made of. You offer the service of building the house, and the customer can provide the blueprints for it. Or you provide standard modules like bathroom and kitchen, which can then be assembled like LEGO blocks.

Which service model is right for SAS users?

It is unlikely that SAS Institute will become an IaaS provider. We do, however, leverage IaaS providers to host SAS solutions in regions where we do not have a SAS-owned data center. As hosted solutions become more popular with customers, this trend will likely increase.

SAS Visual Analytics for SAS Cloud is a recent SaaS offering. Over time, SAS will start offering the SaaS option for more products and solutions.

The advent of new application packaging and container technologies offer opportunities for SAS to provide users with PaaS options that will enable them to build their own SAS-based applications

In my opinion, it is likely that this will be the “not too hot, not too cold” spot for us, as it will enable us to continue providing the great analytics tools that we always have, and let our customers put these tools together into applications that fit their own specific needs.

Parting words

I hope that you found this interesting and that it gave you a better understanding of these terms. If you want to read further on these topics, I really like these two other ways of describing the three services models: the "host/build/consume" shortcut, and "Pizza-As-A-Service", the other PaaS.

If you have comments, concerns or feedback, please share in the comment box below.

Goldilocks and the three cloud service models was published on SAS Users.