FREE MOBILE CLOUD
COMPUTING CONCEPTS - TRAINING_MODULES_WITH_TONS_OF_VIDEOS
what is paas
Best to Bookmark
- or Save in your Favorites - this FREE Cloud Training site - we POST DAILY with new Training_Modules
and FREEVIDEOS America's Largest!
Clear-Cloud, LLC
What is the actual difference between IaaS, SaaS and PaaS in Cloud Computing?
11.17.10 Post By Pat M. Hans from San Diego Cloud Solutions
paas_cloud
Almost everyone who
is beginning to read about Cloud Computing will encounter the difficulty of understanding the intricate difference between
SaaS, PaaS and IaaS under the Cloud
Computing area.
I happened to attend a s/w Dev Team Meetrecently in Baltimore and there was a nice explanation provided
by Mike Kelly from MS who leads the Cloud Computing initiative there.
I am detailing the differences below in a way I understood it.
May be you have an alternate approach to understanding the difference, nevertheless I believe that the explanation below gives
you an insight into the beautiful difference between the three terminologies.
Whenever you consider a cloud computing system, (or rather let’s consider a simple server), there are three
main types of capabilities that it exposes. These are:
1) Computing: Of course, you need lot
of computing power to perform complex calculations. This is achieved by installing high-end complex processors into the hardware
to expose to computing capability. Such processors could be used for various kinds of calculations such as BioTech
related, Mathematics and may be even Textual String Processing.
2) Storage: Any cloud computing system has to provide a
service to enable you to be able to store large amount of data into the hardware. While calculations is one thing, storage
is a different ball game all together. So when a cloud computing system exposes storage as a capability, you leverage it to
be able to organize and store the data in an organized fashion you want to. Later, you use the same storage capabilities that
the system exposes to retrieve the data you want.
3) Management: While you have hardware to compute and store, management is something you cannot
ignore. You need various kinds of API functions and other management capabilities that you want the system to expose, so that
you are able to specify various tasks and organize them or queue them up for processing. Consider the case of a Mc
Donald counter here.
Having
the Computing Infrastructure to fry chips and Storage Racks to store the goods is not enough. You need a Management System
to be able to organize the incoming customers in a queue and then also to be able to distribute the work among the workers,
right?
So, while we spoke
about the 3 kinds of capabilities any Cloud Computing system should enable someone to leverage, now let’s talk about
what exactly is IaaS, PaaS and SaaS.
IaaS:
When the cloud computing system that is offered to you provides you with only infrastructure or the actual hardware (servers
and disks), the system is essentially a IaaS. What you get is an infrastructure. You
are responsible for installing all the required platforms on top of it.
You are responsible for upgrading the necessary platforms
if there is a new version released in the market. Let’s say you have installed the .NET Platform on IaaS.
Whenever Microsoft releases a new version of .Net, you as an end user of the cloud computing system, take full responsibility
of upgrading the system to a newer version of the .Net. It might require you to completely bring your website running on the
cloud down, to complete the upgrading process and you will have to live with it
PaaS: Platform as a service as you have probably guessed by now, provides you all the hardware
and computing infrastructure, and in addition also takes care of the platforms that are installed on top of the hardware.
Think of PaaS
as an additional layer on top of IaaS. You don’t need to bother with the platforms
up gradation process and you don’t need to worry about your website coming down during the maintenance process. The
cloud computing service which is a PaaScomes as a package with the platforms that
it supports and it takes complete responsibility of maintaining them. PaaSis like
a box that comes with the computing infrastructure and the required platforms. You basically pay for what you use. The platform
that is pre-installed could be .Net or something else.
SaaS: Now the last one which is SaaS, is the top most layer on the PaaS service. If the
cloud computing service is a SaaS, then it means that you not only get the underlying
hardware infrastructure and installed platforms on top of it, but also various kinds of software on those platforms.
A simple software on top of .Net platform could be a
simple calculator that allows you to send numbers and perform calculations. Calculator is the software running on top of the
PaaS (which consists of the .Net platform). Think of it this way.
Any software needs a platform to run. So SaaSgives you all those softwares. Now the kinds of softwares
that run may intern depend on what kind of cloud computing SaaSis the company providing.
If the SaaSis for enterprise, then you will have various pre-installed enterprise softwares.
If it is a e-commerce SaaS, then you have various e-commerce related software at your
disposal. SaaSrequires you to basically send data and you will get data back.
I personally feel that the gap between the three types of services above
is diminishing and very soon everything would be offered as single package, allowing the end-user to use what he wants.
There are various Cloud Computing Service
providers coming up in the market and each one of them is known best for the kind of service (IaaS/PaaS/SaaS) they provide.
paas-party-people-in-india
paas-red-hat.
paas-security
mr_funny_man-elison-oracle
paas-build-on-it
The Difference between
IaaS and PaaS
In the technical sense Infrastructure is the hardware, networking, and software that runs the foundation of an information
system. This infrastructure includes fiber optic cables, hard drives, servers, and usually an operating system. From the perspective
of a software developer, this infrastructure runs the code that produces the screens, data, and workflows the end users interact
with, but the infrastructure is not the code itself.
By itself, infrastructure isn't useful -- it just sits there
waiting for someone to make it productive in solving a particular problem. Imagine the Interstate transportation system in
the U.S. Even with all these roads built, they wouldn't be useful without cars and trucks to transport people and goods. In
this analogy, the roads are the infrastructure and the cars and trucks are the platform that sits on top of the infrastructure
and transports the people and goods. These goods and people might be considered the software and information in the technical
realm.
There can be many types of infrastructure. It could be a slice of a single server as in shared hosting (GoDaddy),
an entire machine (Rackspace, 1and1), or even a cluster of computers all working together (Mosso, Amazon, Joyent).
The provisioning,
maintenance, and stability of this infrastructure is provided by a hosting service or cloud computing provider. Infrastructure
as a Service (IaaS) is a term used to describe infrastructure providers that allow the developers building on top of the infrastructure
the capability to dynamically expand and contract the physical footprint of the infrastructure they are using, most specifically
in the number of servers being used at one time and what those servers are doing, either serving web pages, running database
queries, or processing video files.
So what is a PaaS? A Platform as a Service is one additional layer of abstraction
on top of IaaS that makes it even easier to put hardware to use. In the PaaS model, the customer can jump right in and start
working without thinking about servers, stacks, networking and the like. This entire layer of the software system is hidden
from the end user. The end user uses the platform to build a particular software system that solves an exact end user problem
-- usually much faster than starting with infrastructure directly.
For example, if a customer were to go sign up
for an account at Mosso, they'd get a server and the capacity to serve web pages. If customer never did another thing, they'd
get a URL with a standard message saying a site had been created -- and that's pretty much it. The next step for this user
would be to write a lot of code or find an open source or commercial software package, like Word Press, Joomla, or Magento
that could run /at/ Mosso and serve a purpose.
Now, with one of these packages or the code installed at Mosso, the infrastructure
is doing something useful. It's running a blog, a website, or an online store and people can purchase goods.
A
PaaS sits on top of the infrastructure and makes it easier to put infrastructure to work. The end user of a platform need
not worry about how many servers are running the software or what kind of database it is.
For example, our product
Qrimp is a PaaS. If you sign up
to use Qrimp, you'll get an immediately usable software system that does something useful. Upload a spreadsheet and Qrimp
will infer the relational model for you, add security, navigation, and forms for you to get to work right away -- in 5 minutes.
This level of functionality on an IaaS would still take another many days or weeks of coding or research to find a software
package that will solve your problem and also work in the environment running it.
If you think about all this cloud
computing as one big experiment in abstraction, then the IaaS abstracts a particular type of hardware with a stack, either
Windows, Linux, or some other operating system, plus sometimes a database or two and the networking. The PaaS abstracts that
hardware into a software layer that is much closer to the end product. A PaaS simplifies the process of software development
by an order of magnitude, but may not be as flexible as IaaS because some of the details are hidden from the end user.
When
to use IaaS or PaaS?
If you have already written a lot of code or have a software package you want to install
and run in the cloud, then you'll be looking for IaaS. If you have no software or want to build something from scratch to
solve a problem for which there is no package available or the packages are too expensive or complicated, then try a PaaS
and mold it into shape.