Chapter 2 Literature Review
2.1 Introduction
The aim of the chapter is to provide an overview of the background about the emergence of
cloud computing, broad discussion of the concept of the cloud computing and the associated
security issues with it. The chapter will start with an introduction to cloud computing and its
characteristics. This will provide an insight to the cloud computing and its technology. This
will be followed by the in-depth study of its associated services i.e. Software, platform and
infrastructure (SPI) and the organizations providing these services in the present scenario.
Information about the different Service level agreement will also be given. Security will then
be discussed taking into consideration the risk standard established by organizations such as
European Network and Information Security Agency (ENISA), National Institute of
Standards and Technology (NIST) and Cloud Security Alliance (CSA).
2.2 Cloud Computing
Cloud Computing – a moderately new term, collaborates a decade of research been done on
virtualization, distributed computing, utility computing and very recently the sectors such as
networking and software services. Vouk (2008) mentioned cloud computing is a next answer
in the development of on-demand characteristics of the Information technology services and
products. It basically implies service oriented architecture, less information technology
overhead for the end users, far more flexibility than that is present today, low cost of
ownership and on demand services to name a few. Naone (2007) further discusses cloud
computing depends to a large extent on the virtualization of the resources. The predecessors
of cloud computing have been around for a time now but the technology came into limelight
in 2007 when the giants such as IBM, Google announced their entrance into the arena.
ENISA (2009) mentions cloud computing as highly abstract, scalable and elastic where
sources which are shared and thus the money are charged on the usage. CSA (2009) describes
it as a growing technology where the different sectors such as applications, information
resource and infrastructure are separated. CSA further mentions that these separations come
with virtualization and brigs flexibility to the business. Some of the important characteristics
of the cloud computing mentioned are:
On demand
Wide network address
Resource grouping
Efficient elasticity
Measurable
These characteristics of cloud computing will discussed elaborately in the section stating
cloud computing characteristics.
2.3 Technology behind Cloud Computing
A number of enabling technologies contribute to Cloud computing. Ressee (2009) discusses some of
the state-of-the-art techniques which are employed to develop this esteemed technology. Each of these
technology will be discussed below in detail.
2.3.1 Virtualization technology:
Virtualization technologies mainly perform the partition of hardware and thus provide flexible
and scalable computing platforms. Virtual machine techniques, such as VMware and Hyper v,
offer virtualized IT-infrastructures on demand. Virtual network advances, such as VPN,
support users with a customized network environment to access Cloud resources.
Virtualization techniques are the bases of the Cloud computing since they render flexible and
scalable hardware services.
2.3.2 Orchestration of service flow and workflow:
Computing Clouds offer a complete set of service templates on demand, which could be composed by
services inside the computing Cloud. Computing Clouds therefore should be able to automatically
orchestrate services from different sources and of different types to form a service flow or a workflow
transparently and dynamically for users.
2.3.3 Web service and Service Oriented Architecture (SOA):
Computing Cloud services are normally exposed as Web services, which follow the industry
standards such as Web Service definition language (WSDL), Simple Object Access protocol
(SOAP) and Universal description, discovery and Integration (UDDI). The services
organization and orchestration inside Clouds could be managed in a Service Oriented
Architecture (SOA). A set of Cloud services furthermore could be used in a SOA application
environment, thus making them available on various distributed platforms and could be
further accessed across the Internet .
2.3.4 Web 2.0:
Web 2.0 is an emerging technology describing the innovative trends of using World Wide
Web technology and Web design that aims to enhance creativity, information sharing,
collaboration and functionality of the Web. The essential idea behind Web 2.0 is to improve
the interconnectivity and interactivity of Web applications. The new paradigm to develop and
access Web applications enables users access the Web more easily and efficiently. Cloud
computing services in nature are Web applications which render desirable computing services
on demand. It is thus a natural technical evolution that the Cloud computing adopts the Web
2.0 technique.
2.3.5 World-wide distributed storage system:
A Cloud storage model should foresee:
A network storage system, which is backed by distributed storage providers (e.g., data
centers), offers storage capacity for users to lease. The data storage could be migrated,
merged, and managed transparently to end users for whatever data formats. Examples are
Google File System and Amazon S3.
A distributed data system which provides data sources accessed in a semantic way. Users
could locate data sources in a large distributed environment by the logical name instead of
physical locations. Virtual Data System (VDS) is a good reference.
2.3.6 Programming model:
Users drive into the computing Cloud with data and applications. Some Cloud programming
models should be proposed for users to adapt to the Cloud infrastructure. For the simplicity
and easy access of Cloud services, the Cloud programming model, however, should not be too
complex or too innovative for end users. The MapReduce is a programming model and an
associated implementation for processing and generating large data sets across the Google
worldwide infrastructures. The MapReduce model firstly involves applying a “map”
operation to some data records a set of key/value pairs, and then processes a “reduce”
operation to all the values that shared the same key. The Map-Reduce-Merge method evolves
the MapReduce paradigm by adding a “merge” operation. Hadoop is a framework for running
applications on large clusters built of commodity hardware. It implements the MapReduce
paradigm and provides a distributed file system the Hadoop Distributed File System. The
MapReduce and the Hadoop are adopted by recently created international Cloud computing
project of Yahoo!, Intel and HP.
2.4 Benefits of Cloud Computing
With cloud computing, IT professionals can devote more energy to enhancing the value of
using IT for their enterprises and less on the day-to-day challenges of IT. Undoubtedly cloud
computing has brought a revolution in the IT world. The old orthodox method of providing
services has been overtaken with the advent of Cloud Computing. IBM (2009) listed some of
the benefits of deploying the cloud computing into business:
Cloud computing liberates organizations to deliver IT services as never before. Cloud
enables the dynamic availability of IT applications and infrastructure, regardless of
location. More rapid service delivery results from the ability to orchestrate the tasks to
create, configure provision and add computing power in support of IT and business
services much more quickly than would be possible with today’s computing
infrastructure. Enhanced service delivery reinforces efforts for customer retention,
faster time to market and horizontal market expansion. Cloud computing can enhance
SOA, information management and service management initiatives, which also
support your service delivery initiatives.
Cloud computing also promotes IT optimization so that IT resources are configured
for maximum cost-benefit. This is possible because cloud computing supports
massive scalability to meet periods of demand while avoiding extended periods of
under-utilized IT capacity. With the click of a mouse, services can be quickly
expanded or contracted without requiring overhauls to the core data centre. The
benefits include lower cost of ownership, which drives higher profitability, enabling
you to more easily reinvest in your infrastructure and answer the question, “How do I
do more with fewer resources?”
Cloud computing fosters business innovation by enabling organizations to explore
quickly and cost effectively the potential of new, IT-enabled business enhancements
that can grow with unprecedented scale.
Not only does cloud computing deliver a greater return on IT equipment spending, but
it also promotes more efficient and effective use of technical staff. IT labor costs
alone represent as much as 70percent of an IT operating budget.13With its highly
autonomic character, cloud computing eliminates much of the time traditionally
required to requisition and provision IT resources.
Cloud computing also yields significant cost savings in the real estate required for the
data centre as well as power and cooling costs. Thanks to virtualization and the
cloud’s capability of tapping resources (either through a private cloud or tapping
publicly available cloud resources).
2.5 Cloud computing model
Cloud Computing is a model which is enables convenient, on demand network access to
computing resources i.e. networks, servers, services etc. that can be quickly changed and
released with minimum management efforts.
The cloud computing model will provide an overview of all characteristic. The model was
developed by NIST which discuss all the aspects of cloud computing and consist of five
essential characteristics, different services models and deployment models.
Source:http://csrc.nist.gov/groups/SNS/cloud-computing/index.html
The figure above shows the cloud computing and its different sections. The first section
discusses the characteristics as mentioned earlier in section 2.1. The second section mentions
service models such as Software as a Service (SaaS), Platform as a Service (PaaS) and
Infrastructure as a Service (IaaS). The third and last section explains the models which are
deployed in the cloud computing i.e. Public, Private, Hybrid and Community.
2.5.1 Essential Characteristics:
Broad Network Access: It is one of the important characteristics provided by Cloud
Computing network. Mell & Grance (2009) mentions facilities are present over the network
and can be accessed through standard method that encourage use by diverse thin or thick
platforms such as mobile phones, laptops and PDAs. These features are omni-present into the
network and thus the clients requiring these facilities have to pay for the service.
Rapid Elasticity: NIST (2009) mentions the facilities in cloud computing can be provisioned
rapidly and elastically. In most of the cases it is been done automatically to “quickly scale out
and rapidly released to quickly scale in”. However the facilities available for customers often
appear unlimited and they can purchase in any amount they want and at any time.
Measured Services: Cloud system automatically controls and enhances the resource
utilization by the end user with the implication of metering capabilities at different levels and
different type of services offered. The service mainly includes storage, bandwidth, processing
and active user accounts.
This implies that the services provided by cloud system can be monitored, controlled and
accounted, thus providing the transparency for both the service provider and the customer for
the services they receive.
On-Demand self service: As mentioned earlier, the cloud computing is the pool of services
and thus the customers can pay for the services they want. Mell, P. & Grance, T. (2009)
describes the on-demand self service enables a customer to unilaterally prerequisite
computing capabilities such as network storage capacity and server time. With this provision
changes can be made without requiring any human interaction with the service provider.
Resource Pooling: The cloud computing is a pool of services which is designed to serve
numerous customers who uses multi tenant model, containing different number of physical
and virtual resources assigned dynamically and reassigned according to the requirements of
the customer. NIST (2009) states one of the most important feature of cloud computing is
also the location independence. In this the customer normally has no idea or knowledge over
the precise location of the resources which are provided, however they may be able to specify
the location at higher level of abstraction such as country, state and data centre. The resources
mainly include storage, processing memory, network bandwidth and the virtual machines.
2.5.2 Service Models
The service models are broadly divided into Software as a Service, Platform as a Service and
Infrastructure as a service. Software as a Service (SaaS) model has most of the responsibility
for security management. SaaS provides a number of ways to control access to the Web
portal, such as the management of user identities, application level configuration, and the
ability to restrict access to specific IP address ranges or geographies. Cloud models like
Platform as a Service allow clients to assume more responsibilities for managing the
configuration and security for the middleware, database software, and application runtime
environments. The Infrastructure as a Service (IaaS) model transfers even more control, and
responsibility for security, from the cloud provider to the client. In this model, access is
available to the operating system that supports virtual images, networking, and storage.
Each of these services will be discussed in detail below stating the pros and cons of using the
services for the business.
2.5.2.1 Software as a Service (SaaS):
According to ENISA (2009) “Software offered by a third party provider, available on
demand, usually via the Internet configurable remotely. Examples include online word
processing and spreadsheets tools, CRM Services and web content delivery services (Sales
force CRM, Google Docs, etc”). Rittinghouse & Ransome (2010) further describes that the
traditional method of distributing software was to install software on each computers which
was known as Software as a product. However SaaS is a software distribution model in which
the applications are given by the service provider on the network. This technology is
becoming very prominent method of delivery for the technologies that support web services
and service oriented models. SaaS also comes up with pay-as-you-go subscription method in
which the customers pay for the services they take. It is mostly implemented to offer
businesses software functionality to endeavour customers at a low cost which allows them to
gain the same benefits of commercially licensed, fully operated software with the
complication of installing, managing, licensing and high initial cost.
Carraro & Chong (2010) further mentions SaaS architectures has been differentiated into four
level of maturity based on the three attributes i.e. configurability, multi tenant efficiency and
scalability. Each of these levels is discerned from the previous by adding one of these
attributes.
SaaS Maturity Level 1- Ad Hoc / Custom: The first level of maturity is not a maturity level in
real. This level requires minimal development effort to migrate a non-networked application
to this level and thus offers lowest level of offers as well. In this each customer has a unique
and customized edition of application. These applications create an instance on the host’s
server every times it runs.
SaaS Maturity Level 2 – Configurability: This second level of maturity provides an extended
flexibility to the customers. At this level, customers can use separate instance of the same
application which enables the vendor to meet the different needs of customers by using this
option. This also permits the vendor to ease the load of maintenance by being able to update a
common data base.
SaaS Maturity level 3- Multitenant Efficiency: As mentioned earlier, in this model each level
adds an attribute to previous level. Thus this level adds the multi tenancy feature to the
second level. This level enables the vendors to efficiently use the server resources without
affecting the quality of service to users. This multi tenancy feature results in the capability to
serve all the customers of the vendor. However this level is limited in its ability to provide the
massive number of users.
SaaS Maturity Level 4 – Scalable: This level of maturity adds the scalability to the model
using the “multi-tiered architecture”. This architecture is competent of supporting a load
balanced group of applications running on several servers, often in hundreds and thousands.
The capacity of the system can be varied depending upon the demand of the customers
without any alteration to the application software architecture.
2.5.2.1.1 Division of Responsibility in SaaS
Division of Responsibility mainly focus on the working relationship between the customers
and the service provider. According to ENISA (2009) “ with respect to security incidents,
there needs to be a clear definition and understanding between the customer and the
provider of security- relevant roles and responsibilities”. Thus this helps to understand the
roles and responsibilities of both customers and service provider.
Some of these roles of customer and service provider are stated below:
Customer Service Provider
Agreement with the data protection law Provides physical infrastructure support such
keeping in view the data collected and as rack, power, cabling, cooling etc.
processes by customers.
Maintaining identity management system Providing security and availability of
infrastructure i.e. servers, storage etc.
Managing identity management system Operating system management
Managing authentication Security configurations such as Firewall rules
Security monitoring
Log collection
2.5.2.1.2 Benefits of SaaS model
Deployment of software in an organization can take years, consumes enormous resources and
need huge amount of investment and sometimes yields unsatisfied results. However the early
decision to give up the control is always difficult but it can lead to a better efficiency, lower
risk and huge return on the investment done. Traudt & Konary (2005) mentions a large
number of organizations are moving towards SaaS model for corporate applications as it
facilitates them to recognise that all the locations of the business are using the right software
and updated versions. Another advantage of using SaaS is that by deploying the service
providers for the maintenance and management of corporate applications, the organization
reduces their administration and management burden. Apart from these, some of the benefits
to customers are:
Modernized administration
Automated update and management of applications
Worldwide accessibility
Attuned services across the enterprise
2.5.2.2 Platform as a Service (PaaS)
Cloud computing has developed to comprise platforms for running and building custom
based application. This concept in cloud computing is known as Platform-as-a service. PaaS
is a result of the SaaS applications. In order to provide a complete cycle of the facilities to the
support building and delivering web applications and services mainly on Internet, PaaS is an
important prerequisite. According to Rittinghouse & Ransome (2010) the services offered by
PaaS facilitates the users to focus on innovation rather than creating complex infrastructure.
Thus now organizations can redirect a good amount of their budget in developing
applications that can help them in providing a value to their business using PaaS rather than
worrying about the infrastructure issues. Grossman (2009) discusses PaaS tenders a faster,
most cost effective model for developing application and delivering it to clients. It offers all
infrastructures required to run an application on an internet. Companies such as amazon.com,
eBay, Google, iTunes etc. have been working on the same platform to deliver and develop
services and it is because of cloud only, such new capabilities are available in the market via
web browsers. This model is based on a metering system so the user has to pay for whatever
they use. PaaS mainly offers workflow facilities for application design, application
development, testing, deployment and hosting. It also includes application services such as virtual
offices, team collaboration, database integration, security, scalability, storage, persistence, state
management, dashboard instrumentation, etc.
Thus this model is bringing a period of innovation. Now the developers around the world can
build powerful applications and can easily make them available for users globally with the
advent of PaaS.
2.5.2.2.1 Division of responsibility in PaaS
In this division of responsibility, the focus will be on the customer and service provider
relationship in PaaS environment. As already mentioned, according to ENISA (2009) “ with
respect to security incidents, there needs to be a clear definition and understanding between
the customer and the provider of security-relevant roles and responsibilities.” Thus again,
similar to SaaS, there should be clear understanding of the roles between customer and the
service provider.
Customer Service Provider
Maintaining identity management system Provides physical infrastructure support such
as rack, power, cabling, cooling etc.
Managing identity management system Providing security and availability of
infrastructure i.e. servers, storage etc.
Managing authentication platform Operating system management
Security configurations such as Firewall rules
Security monitoring
Log collection
2.5.2.2.2 Benefits of PaaS model
PaaS has undoubtedly brought a revolution in the application development field. The
conventional approach of building and running on applications has been complex, expensive
and risky. Building own application for the business never guaranteed a success. In order to
get over with these issues PaaS came into existence.
Some of the benefits of the PaaS are listed below:
Fast result: The early issue of setting up the infrastructure for the development of
applications and software no more exists. With the existence of PaaS, the organization can
instantly start developing the programs they want and get the result.
Lower Cost: Since there is no need of the entire infrastructure, as was earlier, the cost of
development of applications has significantly gone down. Moreover they have to pay only for
what they will use.
Easy deployment: The software developed with the help of PaaS can be easily made available
for use through web. Earlier the designers use to worry about the infrastructure development
but the deployment of PaaS, they concentrate only the development.
Low Risk: Since there is minimal investment in the development of application, there is very
low risk with the advent of this new method of development of application.
Less Maintenance: With all the up gradation and maintenance been done by the service
providers, the customers have very less to do in this sector. Moreover customers also do not
have to worry about the unused servers or any damages.
2.5.2.3 Infrastructure as a Service
Infrastructure as a Service, in general, is the delivery of computer infrastructure mainly
storage system, platform virtualization infrastructure etc. as a service. IaaS mainly provides
important technology and data centre services to deliver IT services to the customer.
According to ENISA (2009) “Iaas provides virtual machines and other abstract hardware
and operating systems which may be controlled through a service API. Examples include
Amazon EC2 & S3, Terre mark Enterprise Cloud, Windows Live Skydrive and Rackspace
cloud”. Unlike other outsourcing methods, which requires a lot of negotiation between
customer and provider, lengthy contracts and wide thoroughness, IaaS is mainly deals with a
model which delivers services which are predefined, standard and specifically designed for
the customers’ requirements. Simple statements of work make it easier for the service
provider to tailor a solution to the customers’ application oriented demands.
According to Ristol, Wozniak & Slabeva (2009) IaaS service providers manage the shifting
and hosting of the applications on their infrastructure. The customers’ duty is to have the
ownership of these applications while they are free from hosting and infrastructure
management. The components given by the provider-owned implementations are mainly
categorised under three sections which includes: Equipment, Facilities and Management
systems.
Equipment mainly consists of the computer hardware which is normally set up as grid and the
computer networking devices mainly routers, firewalls, load balancing etc. Equipment also
consists of:
Enterprise servers: is a device which provides important service across network. It is mainly
used either in private users in an organization or to publics users via internet.
Storage: This is mainly a computer component which records and saves the data for an
organization.
Network: It is a group of computer and other devices that helps in communicating through
channels which helps in communication among the different users.
Security devices: These devices help to provide security to the network and the organization.
The device mainly comprises of firewall for the network.
Facility mainly consists of:
Data centre: This mainly comprises of computer system and the components such as
telecommunication and the storage devices mentioned earlier. It mainly includes backup
power supplies, data communication etc.
Management systems consist of:
It consists of the device used for monitoring and managing the applications onsite and offsite.
Thus, customers rather than going to buy servers, software, network, equipments, take
everything on rent from the IaaS service providers and pay the rent for the usage. Usually the
bills paid by the customers are taken monthly like any other utility bills and the customers
just pay for what they use.
2.5.2.3.1 Division of responsibility in IaaS
Division of responsibility again discusses about the relationship between the customers and
the service providers. Division of responsibility in IaaS thus defines the role of customers i.e.
how to deal with the infrastructure provided by the supplier and the role of the service
provider is to manage and maintain the application and devices present along with meeting
the requirements of customer.
Customer Service Provider
Maintaining identity management system Providing security and availability of
infrastructure i.e. servers, storage etc.
Managing identity management system Providing physical security to infrastructure
and the availability of the applications.
Managing authentication Host systems
Managing the Operating system (OS) for
guest and any hardening procedure.
Configuring the security platform for guest
i.e. firewall rules, Intrusion prevention
system or intrusion detection system etc.
Security monitoring
2.5.2.3.2 Benefits of IaaS model
With the advent of IaaS model, it brought scalability to the IT network. Moreover, the earlier
problems faced by the client such as installation, maintenance and management of the devices
disappeared with the arrival of IaaS. Some of the benefits of IaaS listed by Bon (2002) are as
follows:
A preconfigured environment which is ready for the use of customers. The
environment is based on Information Technology infrastructure library (ITIL) which
is a framework for providing the best IT infrastructure in the computing sector.
It facilitates with the latest equipments available thus do not have to worry about the
ongoing changes in the IT sector every day.
It provides a secured, protected and insulated platform that is mostly monitored to
avoid any kind of security hassles.
It usually has a minimal risk as the off-site resources are maintained and managed by
third party.
It manages and fulfils the demand by the services and the customers.
It offers the services at lower cost, at a reduced time with additional features and
capabilities.
2.6 Cloud deployment Models
There are primarily four cloud computing models. These models used to provide the hosting
environment and the delivery model that provides the information regarding the cloud based
service. The four types of models are Public, Managed or Community, private and Hybrid.
CSA (2009) further explains that the cloud models are independent of the type of services i.e.
it could be SaaS, PaaS or IaaS.
Source: CSA (2009)
The figure above gives a broad description of all the models. The figure provides the
information such as management of model, owner of the infrastructure, location of the
infrastructure and the accessibility and consumption of the model. Management of the models
refers to the security, operations, compliance of the infrastructure whereas Infrastructure
demotes to the physical infrastructure i.e. servers, computers, network devices etc.
Infrastructure location is both physical and relative to an organization management. Trusted
consumers are those who are part of an organization i.e. the employees, partners and
contractors whereas the untrusted partners are those who may be authorized to consume some
or all the services but are not the part of the organization.
Each of these models will be discussed below:
Public Model: According to CSA (2009) “this cloud infrastructure is made available to the
general public or a large industry group and is owned by an organization selling cloud
services”. This model is generally owned by a service provider or the third party and is
generally not owned by any organization. As shown in the figure above, this model is
managed and the infrastructure is owned by the third party. It is also given that the located off
premises and is generally accessed and consumed by untrusted consumers. Thus this model is
used at a very large scale when there are number of customers or to the general public.
Though it delivers the best economics of scale but due to its shared infrastructure it has some
disadvantages as well. Security, configuration and SLA specificity makes it less ideal for the
service.
Managed or Community Model: CSA (2009) defined this model as “this cloud infrastructure
is shared by several organizations and supports a specific community that has shared
concerns (e.g., mission, security requirements, policy, and compliance considerations). It
may be managed by the third party and may exist on premise”. Managed model are very
much restricted to group or within a community. The infrastructure is located on premise and
thus from there service is provided. However in this model, the service is accessible to both
trusted and untrusted customers.
Private Model: According to NIST (2009) “this cloud infrastructure is operated solely for an
organization. It may be managed by the organization or a third party and may exist on
premise or off premise”. Thus this type of model is designed for an organization and for
specific applications only. This type of model can be managed either by an organization and
third party supplier. As shown in the figure above if an organization is managing then the
infrastructure will also be owned by the organization itself and so is the case with third party.
However the location of infrastructure does not depends upon the owner of the infrastructure,
so it could either be on premise or off premise in both the cases. One of the most important
feature o f the private model is that unlike other models, services are accessed and consumed
by trusted customers only.
Hybrid Model: According to Grance & Mell (2009), “ hybrid model infrastructure is a
composition of two or more clouds (private, community, or public) that remain unique
entities but are bound together by standardized or proprietary technology that enables data
and application portability (e.g., cloud bursting for load-balancing between clouds)”. As
given in the definition, it is a combination of two models which is designed to give more
scalability and reliability to the infrastructure since it is a combination of two services. As
shown in the figure, it could be both managed and infrastructure owned by either an
organization or the third party. Since it is a combination, thus the infrastructure could be
either on premise or off premise or both. Regarding the access and consumption, it could be
combination of both trusted and untrusted customers.