Content uploaded by Naren.J
Author content
All content in this area was uploaded by Naren.J on Aug 05, 2014
Content may be subject to copyright.
Layers of Cloud – IaaS, PaaS and SaaS: A Survey
S.K. Sowmya#1, P. Deepika#2, J. Naren*3
#B.Tech Computer Science and Engineering,
School of Computing, SASTRA University
Tirumalaisamudram, Thanjavur - 613 402
Tamil Nadu, India.
*AP II, School of Computing, SASTRA University,
Tirumalaisamudram, Thanjavur - 613 402
Abstract - Cloud computing has become the latest buzzword as
this trend has revolutionized the field of computer science to
greater heights. This paradigm of computing has bought down
the onus of enterprises and end users by providing agility - not
only to deploy applications more quickly but also to respond
to changes in demand, focus – having people to focus on
higher levels of stack rather than worrying about underlying
infrastructure, and economics – pricing based on usage as this
factor reduces the overall cost. The layers that provides
services in cloud computing include infrastructure as the base
layer, platform as the interface between applications and
hardware and finally the top layer software being the front
end with which the users interact. This paper can be regarded
as a handout which gives a complete description of the layers.
Illustrations corresponding to each layer such as Amazon
Web Services (AWS), Google App Engine (GAE) and
Microsoft Office 365 are provided for a better picture on the
inner workings of the layers. This paper also contains a brief
view on the architecture of cloud and deployment models, as it
attempts to bring out the functioning of the each layer.
Keywords - Cloud Computing, Amazon Web Services, Google
App Engine, and Microsoft Office 365.
I. INTRODUCTION
Cloud Computing is a new style of computing in which
dynamically scalable resources are provided as a pay per
use service analogous to electricity distribution in the
electrical grid. Prior to this model websites and web-based
applications were configured on a single system. With the
advent of this technology, the resources were confined
together as a virtual computer. The advantages of cloud
computing for enterprises are that, the web services offered
enable companies to connect and make collaborations
possible globally without setting up additional
infrastructures like adding servers, datacenters and more.
The environment is scalable to accommodate vast number
of users. The significant reasons to shift to this paradigm of
computing are reduced cost, reduced usage of personnel,
robust scalability and so on [1]. This paper is categorized
into six sections. Section II, III and IV provides a detailed
view on the layers of cloud along with the illustrations for
each layer. Section V concludes the paper and section VI
contains the references of the paper.
II. INFRASTRUCTURE AS A SERVICE (IaaS)
This is a comprehensive platform which is used by
large scale enterprise customers. IaaS provides
infrastructure like unlimited storage and computing power
for developers without requiring any physical hardware on
site. It is the base layer for cloud computing which
basically deals with virtual machines, storage, servers,
networks, load balancers, and the IaaS cloud providers
supply these resources on-demand. Minimal requirements
to build IaaS cloud employs: Hypervisor – VMM (Virtual
Machine Monitor), and Networking topology – public or
private. IaaS mitigates the need for a data center, and
maintaining hardware at the local level. Sometimes IaaS is
otherwise regarded as Hardware as a Service (HaaS).
Examples include Amazon Web Service (AWS),
Rackspace, Windows Azure etc.
A. Amazon Web Services
AWS is a collection of remote computing services to
make up a cloud computing platform [2]. Popular
customers that benefit from AWS are Netflix, NASDAQ,
SmugMug, Pinterest and wetransfer. Main components in
AWS are:
1. AWS Storage Services
AWS Storage Services provide reliable, secure, and
inexpensive infrastructure and also allow the users to store
and retrieve any amount of data at any time [3].
Amazon Glacier: Amazon Glacier is extremely low cost
storage service as it allows the customers to store massive
or trivial amounts of data. The cardinal feature of Amazon
Glacier is that it provides secure and durable storage of
data. With Amazon Glacier, companies need not calculate
the requirements and their capacity instead the companies
pay only for what they use. One can store any data virtually
in any format and Amazon just keeps track of data stored
by the customer for billing purposes. Data in Amazon
Glacier is stored as an archive and is assigned with a
unique archive id and this is used to retrieve data. An
individual archive can contain a maximum of 40 terabytes.
Amazon allows the clients to utilize vaults to organize data
and it is stored as an archive in the vaults of the user’s
choice [4].
S.K. Sowmya et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 4477-4480
www.ijcsit.com
4477
Amazon Simple Storage Service (S3): Amazon S3 is a web
service that presents online file storage structure [5]. It can
store and retrieve voluminous data through web services
interfaces like SOAP, REST and BitTorrent. It manages
data with object storage architecture and aims to provide
high availability, scalability and inexpensive infrastructure.
It plays a vital part in content storage and distribution,
backup, archiving, and disaster recovery.
Amazon EBS (Elastic Block Storage): EBS is a virtualized
SAN (Storage Area Network).Amazon uses RAID storage
for the data to be durable since RAIDs are redundant. As
the name stipulates it dispenses raw block devices that can
be linked with EC2 instances. The facilitated feature of
EBS includes snapshotting and cloning. EBS volumes can
be of 1TB in size and uses redundancy technique as these
volumes are built on replicated back end storage. EBS
volumes are to be used when the user wants the data to
change frequently at block level storage. It is also
virtualized, so the clients can utilize the allocated storage
area and attach it to the servers with interface like API. The
customers can use the allocated volume like any physical
hard drive and hence it is necessary to attach the volume to
an instance [6]. Two types of EBS volumes are Standard
Volumes and Provisioned IOPS (Input Output Operations
Per Second) volume. These two volumes mentioned above
differ in performance and price. The features are multiple
volumes can be created on the same instance and the usage
of public data sets with the AWS cloud based application
which provides effortless access of data sets.
2. AWS Compute Service:
Compute services provide resizable compute capacity,
automatic parallelization and job scheduling in the cloud.
Amazon Elastic Compute Cloud (EC2): Amazon EC2 is a
web service that provides a virtual computing environment
through which the user can boot Amazon Machine Image
(AMI) which the Amazon calls as an “instance” [7]. AMI
is fundamentally a collection of application software,
libraries, data, operating system and associated system
configuration settings. AMIs can be used to provision
multiple instances by using static IP addresses. The
instances are provided with persistent storage and can be
scaled up or down based on requirement changes.
3. AWS Database Service
AWS provides different databases for the developers
and customers to store huge data sets. Users can run their
data sets either on fully managed relational and NoSQL
databses or can create their own database in Amazon EBS
and Amazon EC2.
Amazon Redshift: Amazon Redshift is a petabyte-scale data
warehouse service in the cloud. Amazon Redshift uses
SQL-based tools for performing queries and launching a
Redshift cluster quite easy which ranges from few hundreds
of gigabyte to petabyte or more. Amazon Redshift by
default creates a database after creation of a cluster. Initial
step is to create data warehouse to launch set of compute
nodes which is called as Amazon Redshift cluster and this
cluster is managed by Amazon Redshift Management
Console [8].
Cluster Management:
As per the requirements of the customer one can
utilize small cluster and also can scale the
resources either by adding or removing the
compute nodes.
Amazon Redshift allows distributed tables. These
distributed tables are similar to concept of
distributed processing.
Amazon DynamoDB: Amazon DynamoDB is a fully
managed NoSQL database service and it stores data in a
structured way. DynamoDB has a single master design and
it is different from other databases as it allows the
customers to own the service based on the throughput
instead of storage. DynamoDB does not scale the resources
automatically, it allows the customers to claim the
requirements like more throughput and manage the traffic
over number of servers using Solid State Drives (SSD). In
DynamoDB, tables have no limit and are capable of
managing increasing amounts of data without including
complex queries [9].
Amazon ElastiCache: Amazon ElastiCache is a web service
that makes it facile to manage, operate and scale a
distributed in-memory cache environment in the cloud. To
begin with ElastiCache users have to create cache cluster
and this cluster is meant to be a collection of cache nodes.
A cache node is the smallest building block each of which
has its own memory, storage and other processor resources,
which run on cache engine software like Memcached or
Redis [10]. Customers can efficiently customize the cache
engine software as they have some parameters to reduce the
memory usage. The technique provided by Amazon
ElastiCache is In-memory Caching which helps in
managing intensive workloads for applications like gaming,
social networking etc.
Amazon RDS (Relational Database Services): Amazon
RDS is a web service that eliminates the complexity in set
up and scales relational databases and it also manages back
up, recovery of databases in the cloud. The fundamental
building block of Amazon RDS is the DB instance. A DB
instance can be created or modified by using either
Amazon Management Console or Amazon RDS CLI
(Command Line Interface) or Amazon API. The basic
information of DB instance like its memory capacity and
computation is determined by DB instance class and each
DB instance runs on DB engine.
4. Application Service
Amazon Simple Queue Service (SQS): Amazon SQS is a
distributed message queuing service. This service is used to
store messages, when they are transferred between
computers and application components and these are highly
scalable. It provides authentication procedures for secure
handling of data. Messages are stored on multiple servers
for redundancy and to ensure availability. The service
supports both unlimited queues and message traffic [11].
S.K. Sowmya et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 4477-4480
www.ijcsit.com
4478
III. PLATFORM AS A SERVICE (PaaS)
PaaS provides computing platform which primarily
includes resources like operating system, programming
language, database, web server that automatically scales to
meet the application demands. In this model, developers
with proprietary APIs develop an application that will run
in a specific environment and further controls software
deployment and configuration settings. Thus the app is
confined to a particular platform using which it was
developed. PaaS reduces the cost and complexity of
application deployment by casting off the need to buy and
manage the underlying hardware and software and to
provision hosting capabilities.
A. Google App Engine
Google App Engine (GAE) is cloud computing
platform for developing and managing web applications in
Google’s infrastructure. Development and maintenance of
applications are easy and these applications can be scaled
up as the traffic and the storage needs grow. The capitation
cost for getting started with GAE is zilch. Infrastructure
facilities like servers and its maintenance are not required
as the idea is to just upload the application in GAE and it is
thus deployed. It provides dynamic web serving, persistent
storage, automatic scaling and load balancing. Apps written
in several programming languages are supported in GAE
[12]. Applications in GAE are sandboxed. Sandbox is a
security mechanism for running programs from illegitimate
users and websites. This separates the application in a
reliable environment which is independent of the operating
system and hardware infrastructure [13].
1. Runtime Environment
This is the place where the actual application is
executed. When an HTTP request is processed using some
interface like web-browser an application is then invoked.
The request handler forwards the HTTP request and then
the application is immediately deployed by selecting any
Google server by GAE. The next step is that the application
does some computing and the result is forwarded back by
GAE request handler to the client by a HTTP response.
Applications can run in one of several runtime
environments like sandbox, Go, Java, PHP and Python
environment. Each of these environments provides standard
protocols and technologies for application development.
Only at the time of computation applications will run on
selected runtime environments. The type of runtime
environment depends on the programming language used
by the client
2. Datastore
Usage of relational database for applications results in
persistent storage of data – this is used in traditional
architecture. But GAE uses a different approach called
Bigtable. Different options provided by GAE for data
storage are NoSQL – object data store, Cloud SQL –
relational SQL DB and Cloud Storage – stored as objects
and files and are accessible from Python, PHP and Java
applications.
Data sets in GAE are stored as objects or entities
which are “schemaless”. It uses different methodology to
process the queries, they are not processed during runtime
rather they are represented with an index which is later
used at the time of run time. This technique results in faster
access, as it employs only a table scan using the index. A
query includes: Entity Kind, Filters, Sort orders. A
transaction is nothing but an attempt to insert, delete or
update an entity and it is atomic. Multiple actions can be
performed by the client on an entity in a single transaction.
The Datastore uses optimistic concurrency which handles
the situation when two transactions try to update the same
entity and the first transaction only succeeds in updating
while others fail. Another kind of transaction that is
enabled by GAE is Cross Group Transactions, they allow a
single transaction been applied to multiple entities. Two
phases in which data is written into Datastore are commit
phase where the entity is recorded and apply phase where
the entity and index rows for data are written.
Features:
Languages and frameworks to be used - java,
PHP, Flask and webapp2
Applications can be integrated with technologies
like – Hadoop, MongoDB etc.
Built-in services - Task Queue, Memcache
Development tools - Eclipse, Maven, Jenkins, Get
etc. These tools can be used in SDK which
provides simulated environment for users to use
their apps with desktop launcher.
3. Services
MEMCACHE - used for temporary storage of
data. As the name suggests the data will be stored
in memory of servers which leads to faster access
of data.
URL FETCH - used to send a HTTP request to
internet servers asynchronously as the request
handler can be busy in doing other things. It is
necessary for the user to specify a port number.
HTTP methods used for fetch are GET, HEAD,
DELETE, POST, PUT.
XMPP - Used for instant messaging and correlated
tasks.
TASK QUEUES - The role of task queues come
into play when some applications remain
incomplete or could not proceed in correct manner
and these are put in task queue which helps in
execution of applications.
IV. SOFTWARE AS A SERVICE (SaaS)
SaaS is the top layer and most basic form of cloud
computing. It follows multitenant architecture in which all
users share a common infrastructure. In this, the software
and associated data are deployed and hosted on the internet
which is accessed by the user via a web browser. The
customer can use the software by using the SaaS provider’s
license and is subjected to pricing on the basis of pay per
use. In this layer a single application with customizable
configuration can be used by many customers. The
advantage is that it requires zero installation of the software
and hardware structures and is capable of being accessible
from anywhere with an internet connection.
S.K. Sowmya et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 4477-4480
www.ijcsit.com
4479
A. Microsoft Office 365
Office 365 is Microsoft’s software offer in cloud
computing. It aims to provide small and medium sized
organizations with end-to-end services at low cost IT
solutions [14]. Using this, clients can virtually connect and
collaborate. Customers can efficiently utilize the numerous
products and services in Office 365, as they are allowed to
create documents and presentation, manage their tasks
using calendar, check mails, share their files with others,
incorporate social networks for communication, design and
create websites, host online meetings, use office web apps
and much more. It facilitates the creation of a virtual office,
where the clients can work with information securely on
the go. This cloud service safeguards the data with disaster
recovery, data centers located in multiple places and a strict
privacy policy. It further protects the e-mail environment
with most recent antivirus and anti-spam solutions [15].
1. SharePoint Online
SharePoint comprises a set of web technologies that
helps to create sites to share documents and information
with customers and colleagues. The features include:
Centralizes information and application on a
corporate network
Keep teams in sync by efficiently by sharing and
managing major projects.
2. Exchange Online
Microsoft Exchange Online provides email, calendar
and contact manager services online. It is a server program
that runs on e-mail over globally redundant servers. It
protects mailboxes with advanced anti-malware and anti-
spam filtering. The features are:
Provides 50 GB mailboxes and can send messages
up to 25MB.
Data Prevention Loss (DLP) prevents users from
mistakenly sending classified documents to
unauthorized people.
Safeguards the data with continuous backup and
disaster recovery.
Automatic patching eliminates the need to
maintain and service individual’s email system.
Integration with Outlook provides email access
offline.
3. Lync Online
Lync Online is the latest generation cloud
communication service with multi-tenant architecture that
connects people everywhere virtually at any time. This
software runs on Microsoft Lync Server which provides the
infrastructure for instant messaging, VOIP, ad-hoc and
audio, video and web conferencing.
The features include:
Real-time communication, availability status and
augmented Instant Messaging (IM).
Create and join audio, video, and web meetings
spontaneously.
Online presentations with screen-sharing and
virtual whiteboards.
Customers can participate in Lync conference
calls despite not being Lync Online customers.
4. Office Web Apps
Office Web Apps are convenient web-based versions
of Word, Excel, PowerPoint and OneNote that allows users
to view, edit and share their documents directly within a
Web browser. It allows collaboration with others to prepare
presentations, create spreadsheets and documents across
platforms and devices.
V. CONCLUSION
In this paper, an overview about cloud computing and
its service layers are provided with their respective
illustrations. Organizations like Amazon, Google, and
Microsoft are providing a prominent platform for users to
utilize the enormous power of cloud seamlessly. A major
challenge encountered by cloud computing are security
concerns over the information stored in the cloud. This fact
is nothing new because, everything as a single service
makes it much vulnerable for breaching the security and
privacy of confidential information stored online.
Interoperability is a factor to be integrated in cloud for
eradicating the difficulty of users to migrate from one cloud
provider to another. Although the there are some obvious
factors for some enterprises and end users being tentative in
picking up cloud services, it is growing at a rapid phase to
become a trustworthy technology in the future.
REFERENCES
[1] http://www.ibm.com/cloud-computing/in/en/what-is-cloud-
computing.html
[2] J. Varia, “Amazon Web Services - Architecting For The Cloud:
Best Practices”, 2011.
[3] Amazon Web Services, “Storage Options in the AWS Cloud,”
Whitepaper, 2013
[4] http://aws.amazon.com/glacier
[5] http://aws.amazon.com/s3
[6] http://aws.amazon.com/ebs
[7] http://aws.amazon.com/ec2
[8] http://aws.amazon.com/redshift
[9] http://aws.amazon.com/dynamodb
[10] http://aws.amazon.com/elasticache
[11] http://aws.amazon.com/sqs
[12] https://developers.google.com/appengine/docs/
whatisgoogleappengine
[13] http://en.wikipedia.org/wiki/Sandbox_(computer_security)
[14] Microsoft Office 365 for Professionals and Small Businesses
[15] K.Murray “Microsoft Office 365 Connect and Collaborate
Virtually Anywhere, Anytime,” Microsoft Press, 2011.
S.K. Sowmya et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 4477-4480
www.ijcsit.com
4480