Jump to content

Three Approaches to Cloud Computing: Understanding IaaS, SaaS, and PaaS

+ 2
  chco's Photo
Posted Aug 24 2011 09:38 AM

The idea behind any cloud computing proposal is for you to pay only for what you use, scaling up or down according to business needs. Vendors supporting cloud computing can interpret this statement differently, providing varying levels of services to achieve this result. The three approaches to cloud computing are Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS). This excerpt from the recent publication Windows Azure Step by Step will elaborate.

Infrastructure as a Service

Some vendors provide the infrastructure to build solutions, and you rent the hardware such as servers, load balancers, a firewall, and cables. You then configure these remotely and install your solutions on them. You can scale up by requesting more servers and reconfiguring the load balancer without purchasing more hardware. You can scale down at any time by reconfiguring the infrastructure you rented from the cloud service provider. This vendor approach is called Infrastructure as a Service (IaaS) because a customer can rent the infrastructure without having to forecast and provision for the highest possible demand in advance. In this approach, you are responsible for correctly configuring the rented infrastructure.

These are the most important points to remember about IaaS:

  • The lower levels of the stack are managed by the vendor.

  • Very few vendors actually provide an operating system. You are still responsible for managing everything, from the operating system to the applications.

  • The obvious benefit of IaaS is that it frees you from the concerns of provisioning many physical or virtual machines.

Software as a Service

In another approach, you can rent a service offered by the vendor and then configure the service by using the interface provided by the vendor, without having to know what infrastructure the vendor uses to provide that service. This approach is called Software as a Service (SaaS) because you pay to use defined services. For example, Microsoft Exchange Online carries a per-mailbox charge. To configure it, you use a web application supplied by the vendor to request mailboxes, and name and dimension them. You receive a password for that user and nothing else is necessary—users can access their mailboxes immediately.

This proposed interface has little in common with the on-premises version of Microsoft Exchange. In an SaaS model, you do not have control over nor are you responsible for the hardware on which the service is installed. Similarly, you have no control over the operating system that runs the service, nor any control over the software apart from what the web user interface exposes to you. In other words, a vendor provides everything required to run the application, shielding you from all the underlying components.

Platform as a Service

The third approach is Platform as a Service, or PaaS. In this approach, you rent a platform on which you deploy your applications without configuring the infrastructure and without the limitations of the SaaS approach.

The Wikipedia definition for PaaS is as follows (Wikipedia, Platform as a Service, 2011, http://en.wikipedia....rm_as_a_service):

...the delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.

PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshaling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services may be provisioned as an integrated solution over the web.

The Windows Azure platform fits best in the PaaS category, because it doesn’t provide access to the underlying virtualization environment or operating system details such as the network interface, IP configuration, and disk management.

The key concepts to remember when dealing with PaaS are:

  • The platform vendor provides and manages everything, from the network connectivity to the runtime.

  • PaaS offerings reduce the developer burden by supporting the platform runtime and related application services.

  • Developers can begin creating the business logic for applications almost immediately.

  • PaaS, compared to traditional hosting solutions, offers the potential for significant productivity increases, because the cloud provider manages all the hardware and operational aspects of the cloud platform.

Cloud Services Defined

The responsibility of you and the vendor is summarized in the following figure.
Attached Image

As you can see in the figure, despite significant differences among the various offerings in the cloud computing industry, vendors provide a set of services that you can rent so that you do not have to manage layers (presented as white, below the line).

The definition of cloud computing from Wikipedia is as follows (Wikipedia, Cloud Computing, 2011, http://en.wikipedia....Cloud_computing):

Cloud computing is Internet-based computing, whereby shared servers provide resources, software, and data to computers and other devices on demand, as with the electricity grid. Cloud computing is a natural evolution of the widespread adoption of virtualization, service-oriented architecture and utility computing. Details are abstracted from consumers, who no longer have need for expertise in, or control over, the technology infrastructure “in the cloud” that supports them. Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources. It is a byproduct and consequence of the ease-of-access to remote computing sites provided by the Internet. This frequently takes the form of web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer.

This definition points out two important aspects of these offerings: the usage of distributed resources (IaaS, SaaS, and PaaS), and the abstraction of the underlying technology from the developers. You already learned about the first aspect. The second aspect is important because you can manage abstracted resources such as distributed storage without having to know much technical detail about how to configure it, secure it, and distribute it.

4 Replies

  rozarka's Photo
Posted Oct 06 2011 12:16 AM

there is a really good PaaS providers comparison list - http://www.paaslist.com//
  ramcob's Photo
Posted Oct 12 2012 02:48 AM

For more information about cloud computing trends, erp on cloud, cloud hosting etc.. you can see http://www.ramcoblog.com
  Steve91's Photo
Posted Nov 25 2012 08:58 PM

  • IaaS (Infrastructure as a Service)

    What is actually infrastructure as a service? You basically outsourced and you do not need to expend on costly equipments. Instead of expending on such costly equipments like: servers, hard drives, and other networking equipment, get the services of any good cloud management company and save your money.

  • PaaS (Platform as a Service)

    All the applications work on the cloud server need to be hosted on cloud servers. Any of the organization who is selling cloud applications should use PaaS to "host" the sold applications and will require running them on cloud servers instead of an in-house server.

  • SaaS (Software as a Service)

    Cloud applications are not sold in bulk licenses; you always pay for cloud applications or cloud management software on per user basis. This help out small business very well as they do not need to purchase licenses for applications they might rarely use. They do not need to purchase 10 or 15 licenses they only pay when they need to use that software.

IT Managed Service Providers
  smartblogger's Photo
Posted Jul 24 2013 03:05 AM

SPI is an acronym for the most common cloud computing service models, Software as a Service, Platform as a Service and Infrastructure as a Service.

Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. Platform as a Service (PaaS) is a paradigm for delivering operating systems and associated services over the Internet without downloads or installation. Infrastructure as a Service (IaaS) involves outsourcing the equipment used to support operations, including storage, hardware, servers and networking components.

The increasing selection of services delivered over the Internet is sometimes referred to as XaaS. BigRock