The service models resemble a cascading architecture where services on a higher level, as identified by Weinhardt et.al. (2009); “encapsulate functionality from the layers beneath by aggregating and extending
service components via composition and mash-up technologies”.
Similarly, Yousseff and Da Silva (2008) use composability as the criterion to define various layers in the cloud architecture and inter-relations between those layers. They classify a cloud layer to be higher in the architecture if its services can be composed from the services of the underlying layer.
The term Everything as a Service (XaaS) has been associated with many core services offered by cloud providers, including software (SaaS),
development platforms (PaaS), computing infrastructure (IaaS),
communication (CaaS), and data storage (DaaS).
Software as a service - SaaS
Here the consumer is free of any worries and hassles related to the service.
The Service Provider has very high administrative control on the application and
is responsible for update, deployment, maintenance and security. The provider
exercises final authority over the application. For example, Gmail is a SaaS
where Google is the provider and we are consumers. We have very limited
administrative and user level control over it, although there is a limited range of
actions, such as enabling priority inbox, signatures, undo send mail, etc., that
the consumer can initiate through settings.
Examples:
Cloud
based
Storage
and
Sharing
services
like
Dropbox,
Skydrive
(windows
live),
Amazon
S3,
Why SaaS?
• No upfront expenses. You just need a web browser to access the application. No other hardware purchase or software installation is necessary. Unlike the traditional apps, cloud architecture makes SaaS highly scalable.
• Multi-tenant architecture makes SaaS highly efficient as the source code is the
same for every customer.
• Unlike traditional apps where customization is the key; a true SaaS can meet any requirement by simple configuration.
• Upgrades are applied directly at the SaaS provider’s end.
Platform as a service – PaaS
PaaS is a platform where software can be developed, tested and deployed,
meaning the entire life cycle of a software can be operated on a PaaS. This
service model is dedicated to application developers, testers, deployers and
administrators. This service provides everything you need to develop a cloud
SaaS application. A PaaS typically includes the development environment,
programming languages, compilers, testing tools and deployment mechanism.
In some cases, like Google Apps Engine (GAE), the developers may download
development environment and use them locally in the
developer’s
infrastructure, or the developer may access tools in the
provider’s
Cloud based PaaS
Infrastructure as a service – IaaS
Do you require virtual computers, cloud storage, network infrastructure
components such as firewalls and configuration services? IaaS is what you
should opt for. The System Administrators are the subscriber of this
service. Usage fees are calculated per CPU hour, data GB stored per hour,
network bandwidth consumed, network infrastructure used per hour, value
added services used, e.g., monitoring, auto-scaling etc.
Why should companies opt for IaaS?
In Amazon EC2 (Elastic Compute Cloud) your application will be executed on a
virtual computer (also known as an instance). You have your choice of virtual computer, meaning that you can select a configuration of CPU, memory and storage that is optimal for your application. The IaaS provider supplies the whole cloud infrastructure viz. servers, routers, hardware based load-balancing, firewalls, storage and other network equipment. The customer buys these resources as a service on an as needed basis. The billing is on hourly or monthly basis. You pay only for the
resources you actually consume. This is unlike the traditional services where you pay