IaaS PaaS SaaS
Clearing the Clouds!
The first mailer served a broader perspective of Cloud Computing - its deployment models and service
models.The cloud computing environment encompasses lot many aspects and to dig into deeper necessitates
understanding three flavors of cloud - the "service models".
Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) form the
service models of Cloud Computing.But before exploring these in detail let us clear the
misconceptions/buzzwords about the Cloud Computing.
Cloud != Utility
Cloud Computing is often confused with Utility Computing or Grid Computing.Although both grid
computing and utility computing were precursors to , sharing several attributes with Cloud Computing, are
merely subsets of the latter.Of the service models, IaaS alone is analogous to Utility Computing with the
added element of virtualisation.
Cloud Computing IaaS = Grid Computing + (Utility Computing * N)
…or…
Cloud Computing IaaS is a Grid of Compute Utilities
A well managed Data Center is also not a Cloud.
The three service models, five essential characteristics, and four deployment models set apart Cloud
Computing from Utility Computing / Data Centers(see figure below)
Service models
A very simplified way of differentiating the three flavors of Cloud Computing is as follows;
SaaS - applications are designed for end-users, delivered over the web.
PaaS - the set of tools and services designed to make coding and deploying those applications quick and efficient.
IaaS - the hardware and software that powers it all – servers, storage,networks, operating systems.
The picture below clearly depicts areas encompassed by Infrastructure/Platform/Service
It is
assumed
that “as a
service”
means all
services
within the
definition
are fully
integrated
up to and
including
the
respective
level, thus
incorporating any sub-levels. Therefore, SaaS providers could either sub-contract to a PaaS provider, or
would incorporate the PaaS themselves and provide it as part of the SaaS “stack”. In turn the IaaS could be
sub-contracted or incorporated. The customer would see an integrated service.
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 a thin client interface such
as a Web browser or a program interface. The consumer does not manage or control the underlying cloud
infrastructure or even individual application capabilities, with the possible exception of limited user-specific
application configuration settings.
Defining
characteristics
of SaaS
include;
Web access to
commercial
software
Software is managed from a central location
Software delivered in a “one to many” model
Users not required to handle software upgrades and patches
Application Programming Interfaces (APIs) allow for integration between different pieces of software
Who are the consumers?
1. Organizations providing their members or employees with access to typical software applications such as
office productivity or email.
2. End users who directly use software applications, whether on their own behalf or that of their
organization.
3. Software application administrators who configure an application for end users.
What does a consumer get?
The right to use specific applications on demand, and application data management, such as backup and data
sharing between consumers.
How are usage fees calculated?
Typically, based on the number of users, the time in use, per-execution, per-record-processed, network
bandwidth consumed, and quantity/duration of data stored.
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 and tools supported by the provider. The
consumer does not manage or control the underlying cloud infrastructure including, but has control over the
deployed applications and possibly application hosting environment configurations.
Defining
characteristics
of PaaS
include;
Services to
develop, test,
deploy, host and maintain applications in the same integrated development environment. All the varying
services needed to fulfil the application development process
Web based user interface creation tools help to create, modify, test and deploy different UI scenarios
Multi-tenant architecture where multiple concurrent users utilize the same development application
Built in scalability of deployed software including load balancing and failover
Integration with web services and databases via common standards
Support for development team collaboration – some PaaS solutions include project planning and
communication tools
Tools to handle billing and subscription management
Who are the consumers?
1. Application developers, who design and implement an application's software.
2. Application testers, who run applications in various (possibly cloud-based) testing environments.
3. Application deployers, who publish completed (or updated) applications into the cloud, and manage
possible conflicts arising from multiple versions of an application.
4. Application administrators, who configure, tune, and monitor application performance on a platform.
5. Application end users, who subscribe to the applications deployed on a PaaS cloud: to end users, access to
applications is the same as using a SaaS cloud.
What does the consumer get?
The use of the PaaS cloud provider's tools and execution resources to develop, test, deploy and administer
applications.
How are usage fees calculated?
Typically, based on the number of consumers, the kind of consumers (e.g., developers vs. application end
users), storage, processing, or network resources consumed by the platform, requests serviced, and the time
the platform is in use.
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, deployed
applications; and possibly limited control of select networking components (e.g., host firewalls).
Defining
characteristics
of IaaS
include;
Resources are
distributed as
a service
Allows for dynamic scaling
Has a variable cost, utility pricing model
Generally includes multiple users on a single piece of hardware
Who are the consumers?
System administrators.
What does a consumer get?
Access to virtual computers, network-accessible storage, and network infrastructure components such as
firewalls, and configuration services.
How are usage fees calculated?
Typically, per cpu hour, data GB stored per hour, network bandwidth consumed, network infrastructure used
(e.g., IP addresses) per hour, value-added services used (e.g., monitoring, automatic scaling).
Service model -wise Top Cloud Computing Providers
Makes sense May not be the best option
IaaS
Demand is very volatile – any time there are significant Regulatory compliance makes the offshoring or
spikes and troughs in terms of demand on the outsourcing of data storage and processing difficult.
infrastructure. The highest levels of performance are required,
For new organizations without the capital to invest in and on-premise or dedicated hosted
hardware.
Where the organization is growing rapidly and scaling
infrastructure has the capacity to meet the
hardware would be problematic organization’s needs.
Where there is pressure on the organization to limit
capital expenditure and to move to operating
expenditure.
For specific line of business, trial or
temporary infrastructural needs
PaaS Useful in any situation where multiple
developers will be working on a development Application needs to be highly portable in terms of
project or where other external parties need to where it is hosted
interact with the development process Proprietary languages or approaches would impact on the
Developers wish to automate testing and development process
Proprietary language would hinder later moves to
deployment services another provider – vendor lock-in
Agile software development Application performance requires
customization of the underlying hardware and
software
SaaS Applications where there is significant interplay Applications where extremely fast processing
between the organization and the outside world. of real time data is required.
E.g.,email newsletter campaign software
Applications that have a significant need for web or
Applications where legislation or other
mobile access. regulation does not permit data being hosted
Software that is only to be used for a short term need. externally
Software where demand spikes significantly Applications where an existing on-premise
e.g., tax or billing software used once a solution fulfills all of the organization’s needs.
month.