Some of the greatest benefits are the ease with which new resources may be
added to a cloud, the fault tolerance inherent in the built-in redundancy of a
large pool of servers, and the payment schedules that charge for resources
only when they are used. There is also a great benefit in abstracting the
complexity out of the process; clients perform the tasks they want to perform,
and the cloud computing platform takes care of the details of adding resources
as needed, without the end user being aware of the process. Virtual machines
(VMs) are created, configured, and used when needed and destroyed
immediately after they are no longer needed, freeing up system resources for
other purposes. These VMs can be created to suit a wide range of needs.
Hardware, storage, networks, and software are abstracted as services instead
of being manually built and configured. They are then accessed locally on
demand when the additional resources are required. Sometimes these service
model abstractions are referred to as software as a service (SaaS), platform as
a service (PaaS), and infrastructure as a service (IaaS).
Software as a Service (SaaS)
SaaS is sometimes referred to as on-demand software. In this service model,
the software application and its related data are moved to the cloud. Access is
generally through a web browser, although a thin client and server
configuration may also be used. Someone else takes care of everything else.
This is kind of like renting a hotel room: Everything is provided and set up for
you, and you just enjoy and use it for a specific need. Some examples of SaaS
include email hosts like Yahoo! Mail, services like Google Docs, web games,
and customer relationship management (CRM) software.
Platform as a Service (PaaS)
PaaS takes things a step further than SaaS. In this service model, an entire
computing platform is provided in the cloud. This typically includes the
operating system, programming language interpreters or execution
environments, databases, web servers, and so on. These facets are accessed
directly for computing platform maintenance, using provider portals,
application programming interfaces (APIs), software development kits
(SDKs), or services like SSH. What is built on the platform is then accessed
by the end user the same way it would be accessed if it were running on a
locally owned and operated piece of hardware or hardware that’s running in a
large data center. Someone else takes care of everything else, but they take
care of less than they do with SaaS, which means you take care of more. This