Upload
others
View
7
Download
1
Embed Size (px)
Citation preview
Self Learning Material
Cloud Computing (MCA-602)
Course: Masters in Computer Applications
Semester-VI
Distance Education Programme
I.K. Gujral Punjab Technical University
Jalandhar
Syllabus I.K. Gujral Punjab Technical University
MCA-602 Cloud Computing Section-A
Overview of Cloud Computing: Introduction, Definition of cloud, Definition of cloud,
characteristics of cloud, Why use clouds, How clouds are changing, Driving factors towards
cloud, Comparing grid with cloud and other computing systems, workload patterns for the
cloud, “Big Data”, IT as a service.
Section-B Cloud computing concepts: Concepts of cloud computing, Cloud computing leverages the
Internet, Positioning cloud to a grid infrastructure, Elasticity and scalability, Virtualization,
Characteristics of virtualization, Benefits of virtualization, Virtualization in cloud computing,
Hypervisors, Multitenancy, Types of tenancy, Application programming interfaces (API),
Billing and metering of services, Economies of scale, Management, tooling, and automation in
cloud computing, Management: Desktops in the Cloud, Security.
Cloud service delivery: Cloud service, Cloud service model architectures, Infrastructure as a
service (IaaS) architecture, Infrastructure as a service (IaaS) details, Platform as a service
(PaaS) architecture, Platform as a service (PaaS) details, Platform as a service (PaaS),
Examples of PaaS software, Software as a service(SaaS) architecture, Software as a
service(SaaS) details, Examples of SaaS applications, Trade-off in cost to install versus,
Common cloud management platform reference achitecture: Architecture overview diagram,
Common cloud management platform.
Section-C
Cloud deployments cenarios: Cloud deployment models, Public clouds, Hybrid clouds,
Community, Virtual private clouds, Vertical and special purpose, Migration paths for cloud,
Selection criteria for cloud deployment.
Security in Cloud computing: Cloud security reference model, security integration, security
risks, Internal security breaches, Data corruption or loss, User accountand service hijacking,
Steps to reduce cloud security breaches, enhancing cloud security, identity management.
Section-D
Cloud Computing platforms: IBM Smart Cloud, Amazon Web Services, Google Cloud
platform, Windows Azure platform, A comparison of Cloud Computing Platforms, Common
building Blocks. Integration of cloud computing with mobile and adhoc network technologies.
Suggested Readings/Books:
1. Raj Kumar Buyya, James Broberg, Andrezei M. Goscinski, Cloud Computing: Principles and
paradigms, 2011, Wiley.
2. Michael Miller,Cloud Computing, 2008.
3.Judith Hurwitz, Robin Bllor, Marcia Kaufman, Fern Halper, Cloud Computing for dummies, 2009.
4. Anthony T. Velte, Toby J. Velteand Robert Elsenpeter, Cloud Computing: Apractical Approach,
McGraw Hill, 2010.
5.Barrie Sosinsky, Cloud Computing Bible, Wiley, 2011.
6.Borko Furht, Armando Escalante(Editors), Handbook of Cloud Computing, Springer, 2010.
Table of Contents
Chapter No. Title Written By Page No.
1 Overview of cloud computing Tejinder Sharma, ACET Amritsar
1
2 Cloud computing and Big Data Tejinder Sharma, ACET Amritsar
21
3 Cloud computing concepts and Virtualization Tejinder Sharma, ACET Amritsar
30
4 Cloud computing concepts and management Tejinder Sharma, ACET Amritsar
50
5 Cloud service delivery – I Dinesh Kumar, ACET
Amritsar 71
6 Cloud service delivery – II Numa Bjaj ,SGI
SGNR 89
7 Cloud deployment scenarios Dinesh kumar, ACET
Amritsar 101
8 Security in cloud computing Numa Bjaj ,SGI
SGNR 110
9 Cloud computing platforms Numa Bjaj ,SGI
SGNR 123
10 Cloud computing and Integration of
technologies Numa Bjaj ,SGI
SGNR 139
© IK Gujral Punjab Technical University Jalandhar
All rights reserved with IK Gujral Punjab Technical University Jalandhar
1
LESSON 1: OVERVIEW OF CLOUD COMPUTING
1.0 Objectives
1.1 Introduction
1.2 Definition of cloud
1.3 Evolution of Cloud Computing
1.4 Need of Cloud Computing
1.5 Characteristics of cloud
1.6 The Service – the Functions in Cloud Computing
1.6.1 Software as Service
1.6.2 The Platform as a Service
1.6.3 The Storage as a Service
1.6.4 The Infrastructure as a Service
1.7 Cloud Deployment Models
1.7.1 Cloud Deployment Models
1.7.2 Public cloud
1.7.3 Private Cloud
1.7.4 Community Cloud
1.7.5 Hybrid Cloud
1.8 Data Centers
1.9 Virtualization
1.10 Advantages and Disadvantages of cloud Computing
1.11 Factors to drive the business towards cloud
1.11.1 Capacity Planning
1.11.2 Cost Reduction
1.11.3 Organizational Agility
1.12 Comparison of Grid computing with Cloud computing
2
1.13 Summary
1.14 Glossary
1.15 Answers to Self Assessment Exercises
1.16 References/Suggested Readings
1.17 Model Questions
1.0 Objectives:
1. To make the students familiar with Cloud and its evolution
2. To learn about the difference between Cluster and Grid Computing
3. To know about the need of Cloud Computing
4. To aware the students about the characteristics of Cloud Computing
5. To learn about the service model of Cloud
6. To make the students familiar with Cloud Deployment Models
7. To learn about the concepts of the data centers
8. To understand the concepts of Virtualization
9. To know about the Advantages and Disadvantages of cloud Computing
10. To know about the Factors to drive the business towards cloud
11. To learn about the Comparison between Grid and Cloud computing
1.1 Introduction:
In this modern era, the Cloud Computing is a hot topic of industry and academia with the rapid
growth and extensive use of internet technologies. Its infrastructure can be used anywhere in the
world to access application services or for the businesses purposes.
1.2 Definition:
The Cloud Computing is an IT deployment model which is based on virtualization of resources like
infrastructure, applications and data. They are deployed via the internet as a distributed service by
one or several service providers, so now a days it has become a popular solution for storing data and
executing applications for many companies as it provides access virtually unlimited scalable
resources on-demand and pay-per-use basis.
3
Figure1.1 shows the schematic diagram of cloud computing.
Figure 1.1. Schematic Diagram of Cloud Computing
1.3 Evolution Of Cloud Computing
The history of the computing was firstly invented by Wilhelm Schickard in the year 1623 by
documenting the assembly of a calculating machine, a sort of abacus, which was based on the
principle of Napier’s bones. Another milestone was laid down by Charles Babbage, in the year 1831
when he discovered analytical engine which was a mechanical calculating machine used for general
purpose tasks (Babbage 1864). Herman Hollerith’s developed a tabulating machine in 1890. The first
electric logical machine was invented by Benjamin Barrack in 1936. However, the Konard Zuse really
created the actual history by designing the Z3 in 1941, which was first functional digital computer
based on the binary number system. An Electronic Numerical Integrator and Computer (ENIAC) was
first well programmable turning capable and fully electronic tube computer based on the decimal
number system developed by John Mauchley and J. Presper Eckert in 1945.So either. It is assumed as
the first well programmed Computer in the world. In 1957 IBM introduced the first computer which
was capable to perform floating-point arithmetic. After that, in 1964 the IBM introduced the
Mainframe computer System/360 .With an advancement and the miniaturization of the mainframe
computers it was lead to independent machines, such as Xerox’s Alto In the year 1969, PC came into
existence which includes microprocessor 4004. Further, it was replaced by microprocessor 8008 in
the year 1971 by Intel., which also became the basis of first home made computer. After that a
continuous development and miniaturization was made in the area and which led to the design and
development of mobile devices and laptops. In this field, the communication era began in the year
1983 when almost 200 institutions were interconnected together in a network by using TCP/IP. After
that internet came into existence which is popularly known as network of networks. Initially, it was
mainly used for scientific and military purposes, but later on its commercialization started in the year
1988 with services like mail telnet, Usenet and mail. Tim Berners-Lee’s invented the Worldwide Web
in 1989 which was really a breakthrough in the era of internet. Tim Berners-Lee formulated an
information management system for European Organization for Nuclear Research (CERN) which was
based on hypertext , an electronic text is linked on web pages through some logical references
termed as hyperlinks. Further, increasing bandwidths and technologies like PHP, Java or Ajax made it
feasible to design interactive websites. Due to this enhancement in web technologies now a days we
are able to access online shops, multimedia websites and various applications that are implemented
on the Internet like route planners, social networks, communication platforms, and even whole
office applications like word processors or spread sheet applications. This concept of deployment ,
4
usually referred to Software-as-a- Service. It became popular in the year 2000 when Similar types of
concepts were developed and deployed for the hardware resources like computing power and
storage. The Cloud Computing came into the existence in the year 2007, It may refer to joint
development concept of hardware and software.
1. Figure 1.2. Milestones of computing history (own exhibit)( www.joint-research.org/)
1.4 Need of Cloud Computing:
The following points are quite helpful to understand the need of cloud computing:
i) Flexibility: Any user can scale up or down the bandwidth as per their need and has to pay as
per their usage.
ii) Disaster Recovery: Data can be recovered in any case, because of distant and multiple
server locations.
iii) Automatic Software Updation
iv) Hardware Cost: It also helps to reduce the cost of the hardware.
5
v) Work from anywhere
vi) Security: If the Personal computer or laptop of the user will get crash or lost, even though
the data available on the cloud can be easily available to him.
So, we can say that the cloud is very useful technology now-a-days, and rather there is a
need of the hour to use the cloud. To understand this in more better way, the following
example is considered:
The graph shown below validates the various of users who got log on to the Australian Open
web page. The spikes indicate that tournament is going on in the month of January
otherwise. The site remains abeyance during the other eleven months of the year. So, the
servers will be wasted throughout the year except for the month in which the tournament is
played. Thus, there is a need of the new technology which can overcome this problem i.e;
Cloud computing. Cloud providers like Yahoo, Microsoft, and Google etc. can be contacted
to give the required server capacity during the peak time. In this case, cloud computing is
helpful in provide Infrastructure as a service (IaaS) through cloud computing. Similarly, Users
can approach cloud providers to obtain software or platform as a service. Cloud computing
offers remarkable benefits to IT companies by freeing them from the low-level task of
setting up basic hardware and software infrastructures and thus enabling focus on
innovation and creating business value for their services.
Figure 1.4. Monthly page views of Australian open official website(https://loadfocus.com/)
1.5 Cloud Computing characteristics:
Cloud computing has following fundamental characteristics:
1) On-demand self-service: It is also known as scalable services which means that user
or customer can demand for resources like server, storage, computer power, memory
etc. any time when required through a simple GUI.
2) Broad network access: The resources on the network are available in such a way that they
can be accessed on heterogeneous client machines like mobile phones, tablets, laptops, and
workstations using standard mechanisms.
6
3) Resource pooling: All the providers pool their computing resources to serve multiple clients
using a multi-tenant model. The clients are dynamically assigned and reassigned different
physical and virtual resources as per their requirement. The consumers have sense of
location independence and they have knowledge of the exact locations of the resources i.e;
country, state or datacenter of physical resources or virtual resources are not known to the
consumers.
4) Rapid elasticity: As we know elasticity is a property of an object to attain its normal shape
after being stretched or compressed. In cloud computing, it is defined as an ability of the
system(or a particular cloud layer) to automatically provisioned and released computing
resources as per change in the workload. To the client, often the capabilities available for
provisioning often are unlimited and can be managed at any instant of time.
5) Measured service: The cloud service providers measures/monitors and reports(bill)
transparently the resource usage of the customer. Or in short , pay for use of cloud.
1.6 The Service – the Functions in Cloud Computing:
Cloud computing is the management of processes and providing the services .The o services which
can be provided are based on two things: the application which is used to provide the service should
be properly developed and the end user who is going to avail the service. Sometimes, the user uses
the service on his gadgets which may experience him in a different manner.
1.6.1 Software as a Service:
User-Level Middleware layer of Service Oriented Cloud computing Architecture provides this
service. This layer provides business specific capabilities such as email or customer management
to the users. The users can also use business application developed by third parties for the “cloud”.
With SaaS developers can develop rich and cost effective user interfaces for browser with
frameworks such as Web 2.0 Interfaces (Ajax, IBM Workplace) .SaaS also provides the programming
environments where the applications can be created deployed and executed. Example: Google Apps
Store where we can find large set of enterprise web application but major concern is that application
should give the output as expected.
Self Assessment Exercise No 1
Q1 What is cloud computing?
Q2.What forms the basis of cloud computing?
Q3.What is Abstraction?
Q4.What are the characteristics of cloud computing?
Q5. Why we need Cloud Computing?
7
1.6.2 The Platform as a Service:
The Middle Core or Middleware layer of the Service Oriented Architecture is called PaaS. Here the
users can create the software by using libraries and tools provided by provider. Software
deployment and configuration settings can also be controlled by the user. The PaaS also provides the
networking , storage servers and virtual operating system. e.g; Google App Engine where the client
can run the application on infrastructure of Google. In cloud computing, here, one application can be
launched to another application which may called as the platform. The platform usually comes as
the programming language such as Ajax (Asynchronous JavaScript and XML) or Ruby on Rails may be
said as platforms.
Figure 1.5. : The Cloud Service Model(https://www.simple-talk.com/cloud/development/a-comprehensive-
introduction-to-cloud-computing/)
1.6.3 The Storage as a Service:
Storage as service is a business model. The large companies have huge infrastructure with them
whereas small companies do not have even required infrastructure with them. To fulfill their
infrastructure requirement, the small companies are required to purchase the hardware and
software, which may lead to hike in their expenditure or even in few cases, they are not even
position to afford this. To overcome this problem, small companies make the request to large
companies to provide them storage space on lease or rent. The large companies accept this request
and provide them storage space in their premises. So, a company providing SaaS may be said as
Storage Service Provider(SSP) and this storage service may be called as hosted storage.
1.6.4 The Infrastructure as a Service:
IaaS is provided by the System Level layer of the Service Oriented Architecture. Infrastructure as a
Service is a form of cloud computing which makes virtualized resources available to the cloud users
over the internet on-demand. The data centres which are connected on the cloud provides the
8
computing power to all the users. The massive physical resources like application and storage are
available on the system layer. The VMs connected on the cloud are isolated from each other which
also helps in fault tolerance. These very transparently interconnected servers are allowed to share
the services among servers. Examples of IaaS providers is Amazon Elastic Compute Cloud (EC2). IaaS
may be assumed as the platform behind the SaaS to help the storage needs with load problems.
Figure 1.6. Layered Cloud Computing Architecture (http://cloud-simulation-
frameworks.wikispaces.asu.edu/)
1.7 Cloud Deployment Models:
Similar to type of service, cloud may be hosted and deployed in different fashions. They are public
cloud, private cloud and Hybrid cloud.
1.7.1 Public Cloud:
It is a cloud which is made available to general public via internet. It includes applications and
storage capacity. It may be offered to the users free or payment as per their usage. It is usually
owned by the organizations who sale the cloud services.
Figure.1.7. A public cloud provides services to multiple customers(www.ijarcet.com/) ENTERPRISE
PUBLIC
9
1.7.2 Private Cloud:
The private cloud provides almost same services as of public cloud and it is dedicated to only one
organization. The cloud can be managed by the organization or rights can be given to the third party
. The cloud providers use firewalls to ensure the security under the supervision of its IT department.
Figure: 1.8. Private clouds may be hosted at a collocation facility or in an enterprise datacenter. They
may be supported by the company, by a cloud provider, or by a third party such as an outsourcing
firm(www.ijarcet.com/)
1.7.3 Community Cloud:
In community cloud, the infrastructure is being shared by various organization from a specific group
or community with common computing concerns. The common computing concerns may be
compliance, jurisdiction, security, audit requirements etc. It can be managed by the organization
itself or a third party.
Figure 1.9. Hybrid clouds combine both public and private cloud models, and they can be particularly
effective when both types of cloud are located in the same facility. (www.ijarcet.com/)
1.7.4 Hybrid Cloud:
PRIVATE ENTERPRISE
10
It is an integrated cloud service which establishes the link between private cloud(Cloud managed by
the user) and public cloud(Cloud managed by third party). Although public and private clouds are
linked together but each public and private cloud has its unique entity. So that the cloud provider
company should able to distinguish them and offer the services accordingly.
1.8 Data Centers:
Data Centres are the most distinguishing characteristics of cloud Computing architecture As the
operation of the cloud depends upon the hardware components deployed. .For example when
application is launched online it should be available all the time independent of the site of location.
So therefore it will require various datacenters which are running throughout the day and night.
Data centers in cloud computing are comprised of different servers with different memories, with
high speed and optimum storage capacities. The area of data center is usually highly controlled
environment where constantly monitoring is done through different applications and also checked
manually for any physical problems. It is also ensured that the application should perform as
expected
Figure 1.10. A Typical Data Centre.( http://wallpaperswide.com/google_datacenter-
wallpapers.html)
1.9 Virtualization:
It forms the basis of cloud computing and also a very important concept . Virtual means something
which isn’t real”, but gives all the feel of real .So , Virtualization means creating the virtual version
of various resources or devices like network, servers, storage space through software to execute
different programs like a real machine. With Virtualization the user can use different services of a
cloud. The datacenter which is remote to user will allow him to use various services in a full or
partial virtualized manner. So, virtualization can be classified as full virtualization or Para
Virtualization
1.10 Advantages and Disadvantages:
Various advantages of the cloud computing are as follows:
1) Cost Savings — The MNCs can subsidies their capital expenditures by taking all the
hardware and software on lease and using the remaining money to increase their revenues
11
by increasing their computing capabilities as and when required. Anybody can open the
organization with owning minimum infrastructure.
2) Scalability/Flexibility — Companies can start with owning minimum infrastructure and later
they may grow or shrink ,accordingly they can take more infrastructure or . may surrender the
infrastructure owned by them very rapidly. This is called scalability. Also, the flexibility of cloud
computing allows companies to demand for more resources at peak times, enabling them to
satisfy customer needs.
3) Reliability — Business can be continuous and disaster recovery can be fast if Services are
provided using multiple redundant sites.
4) Maintenance — There is no physical maintenance required and no extra cost because service
providers allows the users to the access the cloud through APIs which do not require any
installations onto physical machines.
5) Mobile Accessible — The Mobile users can increase their productivity as the system can be
accessible from anywhere in the world only requirement to have online connection.
6) Increased Storage---- Definitely the end users or clients in cloud computing can store more data
in cloud than on private computer systems, which is used regularly by them. It helps them not
only to relieve from buying extra storage space, but also improves performance of their own
personal system, as it is less loaded. On the other hand, high availability of data or programs is
there as they can be accessed anytime through internet.
7) Automatic Software Updation: The Cloud Computing platform allows automatic updation of
software whenever new software update is available.
8) Quick Deployment: The deployment of cloud is done through API .It is just simple as clicking on
a web page.
9) High Availability: The main focus of the cloud is that information should be easily accessible and
the information has multiple copies onto multiple locations .Therefore the information is highly
available.
12
10) Data Centralization: The cloud platform also helps to store the data from various locations of
organization around the globe in a single location. Though, cloud computing have several
advantages with form of availability and scaling in, scaling out and elasticity but it also have
some disadvantages which are listed below
1) Latency: In telecom networks text, voice and video data move together so low latency is
always an issue. As it is known cloud system can easily be accessed through the internet,
still latency is an issue
2) Platform or Language constraints: Till today, cloud providers support specific language
or platform that does not interoperable with other providers. Adaptation of platform or
language always plays an important role. So for language or platform adaptation, a
universal set of standards needs to be defined
3) Resource Control: The resources in cloud cannot be controlled by client. Resources may
vary between different cloud providers. Sometimes client may need the exact resource
name but usually it is very difficult to isolate the resource and identify the exact resource.
At the similar time, resources for keeping data or providing services may exhaust, so
data or programs are needed to migrate over other resources. Thus resources and
distributing loads through migration is also major and challenging issues in cloud computing.
4) Dependency on internet: Cloud services are entirely dependent on internet. So if the speed
of net connection is slow it may affect the availability of services .
5) Vulnerability: As whole of the information is on cloud and there is no direct control of the
client on his information .Therefore information on the cloud is vulnerable to attack.
6) Security: Still lot of work is required to be done in this direction.100% of security can never
be assured as data is stored at multiple locations and the organization whose data is
uploaded on the cloud is unaware of the locations where it is copied
1.11 Factors to drive the business towards cloud:
The various factors to drive the business towards cloud are as:
1.11.1 Capacity Planning :
It is the process of analyzing determining, planning and fulfilling the future needs of an
industry in terms of resources, products, and services. The maximum amount of work that
an IT resource is capable of delivering in a given period of time is called capacity. Sometimes,
discrepancy can occurs because of the availability of IT resources which can not meet to the
13
user requirements. The Capacity Planning is quite challenging because it requires the
estimation of the load in advance and also the varying loads. So, there is always a need to
balance the peak usage environment without spending any extra money on infrastructure.
But with the cloud the resources can be easily scaled up and down
1.11.2 Cost Reduction:
There are two costs which are involved: the cost of buying new infrastructure, and the
operational cost. Usually the Operational costs exceeds the infrastructure costs. With the
Cloud a person can start a business with small investment .Instead of buying the
infrastructure he can have it on lease as per his requirements. The operational cost is
always spent by the cloud provider
1.11.3 Organizational Agility:
Organizational agility is he measure of an organization's responsiveness to change. As IT
industry is ever changing so. IT enterprise needs to respond to business change by scaling its
IT resources beyond to what was predicted or planned earlier. If the organization refuse to
change so its continuity may be threatened. With cloud we can have latest Operating
System, Infrastructure on lease. Therefore a person run his in this competitive world.
1.12 Comparison of Grid and Cloud Computing:
The major differences between cloud and cloud computing are:
Criteria Grid computing Cloud Computing
Definition Grid computing is the collection of various computer resources from different locations, which can be used for common universal goal
Cloud Computing is an IT deployment model which is based on virtualization of resources like infrastructure, applications and data . They are deployed via the internet as a distributed service by one or several service providers,
Service Provider Research institutes and universities e.g; EGI-InSPIRE and the European Grid Infrastructure.
Large companies e.g. Amazon and Microsoft etc.
Service Users Research collaborations, known as "Virtual Organizations which bring the world together.
Businessmen small, medium or large as per their IT needs
Service Payer Governments providers and The cloud provider pays for the
14
users pays for the services. resources and the user pays to the cloud provider for the services he is using
Computing Resources The computing centers are distributed across different sites across the countries and continents.
Here the centralized data center is equipped with economical electricity and excellent network connections are centralized in few locations. They offer the services and generally owned by the private cloud provider.
Uses Grids can produce large data sets of data by handling large quantities of data in a short span of time.
Clouds support longer duration job which require long term services.
Working Grids is an open source technology where alike users and providers contribute to form a grid
Cloud is a proprietary technology in which the resource provider manages everything right from the hardware till application and also the security. He charges the user for the services.
Transparency Low High
Time to run Non Real time services Real time services
Operating System Any Standard Operating System Hypervisor on which multiple operating systems can run
Virtualization Not required It forms the basis of cloud computing along with abstraction
Self Assessment Exercise No. 2
Q1. What are the various services provided by the cloud?
Q2.What are the various deployment models of cloud?
Q3.What is Virtualization?
Q4.What are the advantages of cloud?
Q5.What are the disadvantages of cloud Computing?
Q6 What are various factors to drive the business towards cloud?
15
1.13 Summary:
The Cloud Computing is an IT deployment model which is based on virtualization of
resources like infrastructure, applications and data.
Need of Cloud Computing depends upon the factors: Flexibility, Disaster Recovery,
Automatic Software updation, Hardware Cost, Work from anywhere and Security
Characteristics of cloud are : On-demand self-service, Broad network access,
Resource pooling, Rapid Elasticity and measured Service
Software as Service(SaaS) provides the programming environments where the
applications can be created deployed and executed.
The Platform as a Service(PaaS): Here the users can create the software by using
libraries and tools provided by provider. Software deployment and configuration
settings can also be controlled by the user. The PaaS also provides the networking ,
storage servers and virtual operating system.
Storage as Service is a business model, where the small companies make the request to
large companies to provide them storage space on lease or rent.
Infrastructure as a Service(IaaS) is provided by the System Level layer of the Service
Oriented Architecture. Infrastructure as a Service is a form of cloud computing which
makes virtualized resources available to the cloud users over the internet on-demand.
Public cloud is a cloud which is made available to general public via internet. It
includes applications and storage capacity. It may be offered to the users free or
payment as per their usage.
Private Cloud provides almost same services as of public cloud and it is dedicated to
only one organization.
16
In Community Cloud, the infrastructure is being shared by various organization from
a specific group or community with common computing concerns.
Hybrid Cloud is an integrated cloud service which establishes the link between
private cloud(Cloud managed by the user) and public cloud(Cloud managed by third
party).
Data Centers in cloud computing are comprised of different servers with different
memories, with high speed and optimum storage capacities.
Virtualization means creating the virtual version of various resources or devices like
network, servers, storage space through software to execute different programs like a
real machine.
Factors to drive the business towards cloud are: Capacity Planning, Cost Reduction,
Organizational Agility
1.14 Glossary:
Cloud – A metaphor for a global network, first used in reference to the
telephone network and now commonly used to represent the Internet
Datacenter – A datacenter in the “cloud” utilizing standards-based virtualized
components as a datacenter-like infrastructure; example: a large company,
such as Amazon, that rents its infrastructure.
Middleware – Software that sits between applications and operating systems,
consisting of a set of services that enable interoperability in support of distributed
architectures by passing data between applications. So, for example, the data in one
database can be accessed through another database.
On-demand service – A model by which a customer can purchase cloud services as
needed; for instance, if customers need to utilize additional servers for the duration
of a project, they can do so and then drop back to the previous level after the
project is completed.
17
Pay as you go – A cost model for cloud services that encompasses both subscription-
based and consumption-based models, in contrast to traditional IT cost model that
requires up-front capital expenditures for hardware and software.
1.15 Answers to Self Assessment Exercises:
1.15.1 Answers to Self Assessment Exercise No. 1
A1: Cloud computing refers to applications and services that run on a distributed network using
virtualized resources and accessed by common Internet protocols and networking standards”
A2 :Abstraction and Virtualization forms the basis of cloud computing
A3: Cloud computing abstracts the details of system implementation from users and developers.
Applications run on physical systems that aren't specified, data is stored in locations that are unknown
and how the administration of systems is done is also unknown.
A4:The five major Characteristics of Cloud computing are:
1. On-demand self-service: The client can take and release resources as per his needs
2. Broad network access: User can access all heterogeneous and homogeneous nodes on the network
3. Resource pooling: Various resources are pooled in from the cloud provider
4. Rapid elasticity: Scaling up and down for the resources any time
5. Measured service: Billing is for pay per use basis.
A6 The various reasons to use cloud computing are:
1. Reduction of costs
2. Universal access
3. Up to date software
4. Choice of applications
5. Potential to be greener and more economical
6. Flexibility
1.15.2 Answers to Self Assessment Exercise No. 2:
A1: The various services provided by the cloud are
18
1. Software as a Service (SaaS) is a software distribution model in which applications are hosted by a
vendor or service provider and made available to customers over a network, typically the Internet
2. Platform as a Service (PaaS) is a paradigm for delivering operating systems and associated services
over the Internet without downloads or installation.
3. Infrastructure as a Service (IaaS) involves outsourcing the equipment used to support operations,
including storage, hardware, servers and networking components.
A2: The various deployment models of cloud are public cloud, private cloud and Hybrid cloud.
1. Public Cloud
The cloud infrastructure is made available to the general public or a large industry group and is owned
by an organization selling cloud services.
2. Private Cloud
The cloud infrastructure is accessible for an organization only. It may be managed by the organization
itself or a third party and can be internal or external.
3. Community Cloud
The cloud infrastructure is shared by several organizations and supports a specific community that has
common concerns. It may be managed by the organizations or a third party and can be internal or
external.
4. Hybrid Cloud
The cloud infrastructure is a composition of two or more clouds (public, private, or community)
where each kind of cloud is considered as a unique entity. However, all the clouds are interconnected
using standardized or proprietary technologies and interoperable to enable data and application
portability
A3: Virtualization means something which isn’t real, but gives all the facilities of a real. It is the
software implementation of a computer which will execute different programs like a real machine
Cloud computing virtualizes systems by pooling and sharing resources. Systems and storage can be
19
taken and released as needed from a centralized infrastructure, costs are assessed on pay per use basis,
and multi-tenancy is enabled.
A4: The following are some of the possible benefits for those who offer cloud computing-based
services and applications:
1. Cost Savings
2. Scalability/Flexibility
3. Reliability
4. Maintenance
5. Mobile Accessible.
6. Increased Storage
A5: Cloud Computing has some constraints or limitations which are:
Latency.
Platform or Language constraints
Resource Control
A6.The various factors to drive the business towards cloud
1. Capacity Planning: Planning resources in advance is difficult
2. Cost Reduction: Reduced cost
3. Organizational Agility: Technology obsoletes very fast
1.16 References:
1. 1. www.ijcsi.org/ 2. http://www.whatiscloud.com/ 3. www.e-sciencecity.org/ 4. www.slideshare.net/ 5. www.airccse.org/ 6. www.expertcore.org/ 7. www.joint-research.org/ 8. www.cloudbus.org/ 9. Delettre, Christian, karima boudaoud, andmichel riveill. "cloud computing, security anddata
concealment", 2011 ieee symposium on computers and communications (iscc),2011. 10. www.seminarprojects.com/ 11. www. ijiet.com/
20
1.17 Model Questions: Q1.What is the need of cloud Computing?
Q2.Explain service models of cloud?
Q3.Discuss various deployment models for cloud?
Q4.What are various factors which led to the adoption of cloud
Q5.Compare Grid and Cloud Computing?
21
Lesson 2: Cloud computing and Big Data
2.0 Objectives
2.1 Work Load patterns for cloud
2.1.1 Static Workload
2.1.2 Periodic workload
2.1.3 Once in a Life time Load
2.1.4 Unpredictable Load
2.1.5 Continuously Changing Workload
2.2 Big Data
2.2.1 Characteristics of Big Data
2.3 IT as a Service
2.4 Summary
2.5 Glossary
2.6 Answers to Self Assessment Exercises
2.7 References/Suggested Readings
2.8 Model Questions
2.0 Objectives
1. To understand the various work Load patterns.
2. To make the students familiar with basic concepts of Big Data
3. To know about the IT as Service
2.1 Work Load patterns for cloud:
The work load patterns for cloud exactly means the application workload. The work
load patterns or application workload patterns means the exact utilization of the IT
resources on which application is hosted. When the number of users are accessing the
IT resources the outcome is workload. It is measured in terms of processing load,
storage or handling of queues, communication or messaging . so it is a utilization of
IT resources which can be measured. When the resources may increase or decrease,
the resources also get increase or decrease accordingly. As the customer is willing to
pay for the resources used, therefore, the service provider companies provides the
rapid elasticity. Resources should increase or shrink as per the customer requirement.
22
Generally over-provisioning and under-provisioning of the resources should be
avoided. The various types of the workload are as :
2.1.1 Static Workload:
When all the assigned IT resources are equally utilized then they will experience
equal or static workload. Normally no elasticity is required in such cases. Whenever a
provisioning of resources is done they comprise of required resources for static
workload and certain over-provisioning to deal with little variance with the workload
which incurs low cost overhead static workload does not require elasticity but in case
it fails over resource provisioning can be helpful.
Fig 2.1: Static Vs Elastic
Workload(http://www.cloudcomputingpatterns.org/static_workload/)
Figure depicts the static workload and elastic workload in (a) & (b) respectively,
Resources are over-provisioned in the same amount in both the categories but in
elastic workload little adjustment can be made if experienced workload is little more
than predicted workload. From the cloud prospective of the IaaS the user will be
benefited by ready to use, configured servers for the static load of his application, the
service failure can be easily cope up and Paas provides the environment where the
customized applications can be developed.
2.1.2 Periodic workload:
When an IT resource is utilized for some particular time or to cater peak loads. In IT
organization lot of periodic tasks and activities go on and these tasks are required to
be done at regular intervals like back ups, weekly loads, reports etc. Therefore IT
resources are utilized periodically for the peak loads. There should be enough IT
resources to accommodate the peak load so the owner of the organization can avail
pay per use basis. The characteristics of the cloud by taking the resources to cater the
peak load on the periodic basis. It can de-provision the iT resource in non- peak load
23
times and can be used by other customers. With the help of elasticity the resources
can be provisioned in peak time and de-provisioned in the non-peak times depending
upon the experienced workload. This approach makes industry less dependent on
production of workload. So the customer is benefited by paying for the resources peak
time only. Through IaaS to handle periodic workload server, storage can be
provisioned and de-provisioned as and when required. Similarly PaaS provides a
scalable hosting environment to host customers peak time applications.
Fig 2.2:Predictive workload in Static Vs Elastic Scaling
(http://www.cloudcomputingpatterns.org/periodic_workload/)
2.1.3 Once in a Life time Load:
It is a special case of periodic workload which occurs once in a very long time frame
work. The discrepancy between regularly acquired IT resource and those which are
required to handle one time. Peak load makes the situation critical as it can be handle
one time peak load with the already acquired IT resources. The elasticity and pay per
use characteristics both can handle the situation . The elasticity provisions and
integrates the new IT resources with the existing resources. In the figure it is shown
that the static workload can handle the once peak load traffic so for that additional
resources are provisioned manually for the one time peak, therefore, curve suddenly
increases and decreases when the workload increases then the already existing
workload then cloud provides the additional resources . IaaS enables the provisioning
of the additional servers for once in a life time workload and PaaS environment is also
scaled automatically.
24
Fig 2.3:Once in a lifetime workload in Static Vs Elastic
Scaling(http://www.cloudcomputingpatterns.org/once_in_a_lifetime_workload/)
2.1.4 Unpredictable Load:
Sometime there is random generation of workload and is unforeseen over time
experience it is called unpredictable load. This type of load occurs in real world e.g;
Suddenly a shopping website experiences the unpredictable load when there is a sale.
Therefore the alignment of IT resources with respect to changing workload is
required. Normally the amount of workload and the time when it will occur is
unpredictable . It requires continuously monitoring. Unpredictable loads are very
different to handle with static scaling as shown in figure. The IT resources can be
over-provisioned to certain extent that can be feasible economically. If the workload
exceeds what can be handled by the IT resources, the performance of the application
degrades. Instead of monitoring a quick reaction to workload change is required i.e;
provider should be able to dynamically add or remove the resources to customers
during peak times and move then when them when there is low work load intensity.
As there are random and unpredictable peak load resources utilization is measured
and number of resources are adjusted based on dynamic requirement. IaaS provides
monitoring functions to detect and monitor workload increases and additional servers
are kept stand by to cope out with this kind of workload. PaaS also provides the
environment to cope with high intensity of workload continuously changing
workload.
25
Fig2.4:Unpredictable
workloadhttp:(//www.cloudcomputingpatterns.org/unpredictable_workload/)
2.1.5 Continuously Changing Workload:
The IT resources whose utilization grow and shrunk continuously with changing
workloads. Many applications experiences the workload changes over a span of time.
Increasing workload means a successful business. Decreasing workload means that it
is used by few customers. Either the workload is growing or shrinking may be
planned or unplanned. Continuous change is described by continuous growth rate or
decline rate i.e; IT resources will be experiencing change in one direction. Elasticity
helps application to provision or de-provision the resources with the same rate and
change in workload. Elastic scaling align the resources tightly to workload changes.
They can be provisioned in bulk and with more flexibility. IaaS providers offer virtual
server to support continuous workload and PaaS also supplies execution environment
for the same
Fig2.5 Continuously changing
workload(www.cloudcomputingpatterns.org/unpredictable_workload/)
26
2.2 Big Data :
Everyday 2.5 quintillion byte of data i.e; 90% of the world data has been created in 2
years alone. This data is coming from sensors used for climate information, posing on
social networking sites, digital videos, pictures, whatapp, hike, online banking
transactions. GPS data etc. together they form Big data.
2.2.1 Characteristics of Big Data :
There are three major characteristics of Big Data
i. Volume : The today’s data is more than text data . It comprises of music,
Audio, video and image data. This type of data is found on social networking
sites and apps. This data is in Terabytes or even in Peta bytes
ii. Velocity : The parameter that indicates that how fast the data is processed.
Sometimes 2 minutes are too late for time sensitive data such as catching
online fraud big data analytics are used. Earlier there were news on news
channels. Now these are available on social sites and people update replies
with latest happenings. Now the world has really become a small place
because everyone can access the data from any remote corner of the globe.
iii. Variety : Different types of data, Big Data can be of any type i.e; varying from
structured to unstructured type such as text, sensor data, audio, video, click,
stream, log file, image etc. New insights are found when these data types are
analyzed together.
2.3 IT as a Service:
IT as a service is an operational model where an IT organization of an enterprises runs
much like business, acting and operating as a distinct business entity. It is responsible
for creating products for other units with in the organization itself. IT organization
views other lines of business within the organization as their market and create the
products that will cater their needs. The internal IT organization may include the
outsourcing of their services to other companies through the public cloud. The benefit
of using internet IT as a service will improve financial and IT operational efficiency .
The price of internally prepared products can be easily compared with those available
from external providers. This transformation of internal IT organization from
27
operating to become as IT as service model produce the improved levels of business
agility for the business as a whole.
2.4 Summary:
When all the assigned IT resources are equally utilized then they will experience
equal or Static Workload.
Periodic workload: When an IT resource is utilized for some particular time or to
cater peak loads. In IT organization lot of periodic tasks and activities go on and these
tasks are required to be done at regular intervals like back ups, weekly loads, reports
etc. Therefore IT resources are utilized periodically for the peak loads.
Once in a Life time Load: It is a special case of periodic workload which occurs
once in a very long time frame work.
Unpredictable Load: Sometime there is random generation of workload and is
unforeseen over time experience it is called unpredictable load
Continuously Changing Workload: The IT resources whose utilization grow and
shrunk continuously with changing workloads. Many applications experiences the
workload changes over a span of time. Increasing workload means a successful
business. Decreasing workload means that it is used by few customers. Either the
workload is growing or shrinking may be planned or unplanned. Continuous change is
described by continuous growth rate or decline rate
Big Data : Everyday 2.5 quintillion byte of data i.e; 90% of the world data has been
created in 2 years alone. This data is coming from sensors used for climate
Self Assessment Exercise 1:
Q1 What is static Workload?
Q2 What is predictive workload?
Q3What is Big data?
Q4 What is once in life time workload?
Q5 What is unpredictable workload?
28
information, posing on social networking sites, digital videos, pictures, whatapp, hike,
online banking transactions. GPS data etc. together they form Big data.
IT as a Service : IT as a service is an operational model where an IT organization of
an enterprises runs much like business, acting and operating as a distinct business
entity. It is responsible for creating products for other units with in the organization
itself.
2.5 Glossary:
Elasticity and scalability – The cloud is elastic, meaning that resource allocation can get bigger or smaller depending on demand. Elasticity enables scalability, which means that the cloud can scale upward for peak demand and downward for lighter demand. Scalability also means that an application can scale when adding users and when application requirements change.
Elastic computing – The ability to dynamically provision and de-provision processing, memory, and storage resources to meet demands of peak usage without worrying about capacity planning and engineering for peak usage.
Workloads:. Workload measured in the form of application utilization, for example, the number of requests, server load etc.
Big Data: extremely large data sets that may be analysed computationally to reveal patterns, trends, and associations, especially relating to human behaviour and interactions.
2.6 Answers to Self Assessment:
A1 Static Workload: When all the assigned IT resources are equally utilized then they will
experience equal or static workload. Normally no elasticity is required in such cases.
Whenever a provisioning of resources is done they comprise of required resources for static
workload and certain over-provisioning to deal with little variance with the workload which
incurs low cost overhead .
A2. Periodic workload: When an IT resource is utilized for some particular time or to cater
peak loads. In IT organization lot of periodic tasks and activities go on and these tasks are
required to be done at regular intervals like back ups, weekly loads, reports etc. Therefore IT
resources are utilized periodically for the peak loads. There should be enough IT resources to
accommodate the peak load so the owner of the organization can avail pay per use basis.
A3. Every day, we create 2.5 quintillion bytes of data — so much that 90% of the data in the
world today has been created in the last two years alone. This data comes from everywhere:
sensors used to gather climate information, posts to social media sites, digital pictures and
29
videos, purchase transaction records, and cell phone GPS signals to name a few. This data
is big data.
A4. Once in a Life time Load: It is a special case of periodic workload which occurs once in
a very long time frame work. The discrepancy between regularly acquired IT resource and
those which are required to handle one time.
A5. Unpredictable Load: Sometime there is random generation of workload and is
unforeseen over time experience it is called unpredictable load . This type of load occurs in
real world e.g; Suddenly a shopping website experiences the unpredictable load when there
is a sale. Therefore the alignment of IT resources with respect to changing workload is
required. Normally the amount of workload and the time when it will occur is unpredictable .
It requires continuous monitoring.
2.7 References:
1. http://watdenkt.veenhof.nu/2010/07/13/workload-patterns-for-cloud-computing/
2. http://www.cloudcomputingpatterns.org/book/
2.8 Model Questions:
Q1.What are various workload patterns for workload?
Q2.What is big data and What are its characteristics?
Q3.How will explain IT as a service?
30
Lesson 3: Cloud Computing Concepts
3.0 Objectives
3.1 Cloud Computing
3.2 Basic Concepts of Cloud Computing
3.3 Cloud computing leverages the internet
3.4 Positioning Cloud to Grid Infrastructure
3.4.1 Cluster Computing
3.4.2 Grid Computing
3.5 Elasticity
3.5.1 Problems with Elasticity
3.5.2 Monitoring of Elastic applications
3.6 Scalability
3.6.1 Measures of Scalability
3.6.2 Difference between Horizontal and Vertical Scaling
3.7 Virtualization
3.7.1 Characteristics of Virtualization
3.7.2 Various types of Virtualization
3.7.3 Benefits of Virtualization
3.7.4 How virtualization is done
3.8. Summary
3.9 Glossary
3.10. Answers to Self Assessment Exercises
3.11 References/Suggested Readings
3.12 Model Questions
3.0 Objectives:
1. To learn about the basic concepts of Cloud Computing
2. To learn about the Multitenancy and its types
31
3. To make the students familiar with Cloud computing leverages the internet
4. To learn about the Positioning Cloud to Grid Infrastructure
5. To make the students familiar with concepts of Elasticity
6. To acquaint the student about concepts of Scalability
7. To get familiar with the Basics of Virtualization
3.1 Cloud Computing :
The cloud computing is an unique IT environment where the IT resources can be
provisioned remotely leased on pay per use base . The metaphor for cloud computing
is cloud which was earlier used to represent the internet but now it is used to specify
the boundary of cloud. No doubt the resource are granted on internet but cloud is
owned by organization like Amazon & IBM to provision the resources on demand on
metrics basis.
3.2 Basic Components of Cloud Computing:
a) IT resources:
The resource can be physical or virtual artifact which can be based on either
hardware or software. The hardware can be physical server or a network
device whereas software based resource can either be virtual machine or a
customized software program physical server are referred to as physical host.
The cloud symbol define the boundary of cloud based environment where as
represented IT resources does not describe all the resource given but just a
subset of IT resource.
Fig 3.1: Examples of common IT resources and their corresponding
symbols(http://www.whatiscloud.com/ )
b) On- Premise:
The IT resources which are hosted within an organization boundary. It is
considered to be on-premises i.e; it is installed in organization boundary. This
32
resource does form the part of cloud but it can access and interact with other
cloud based resources. The on-premise resource can be moved to cloud and
we
can change it to cloud based IT-resource. Even redundant deployment options
are also available i.e; some resources can be deployed on-premise as well as
on the cloud.
c) Scaling:
Scaling represents the ability of IT resources to handle in increase or decrease
in usage demand . The scaling is classified into following two types:
i) Horizontal Scaling:
When the resource of same type are allocated or released, it is called
horizontal scaling. Allocation of same type of resources is called
scaling out. Whereas releasing of same type of resources is called
scaling in . It is very common form of scaling.
Fig 3.2: An IT resource (Virtual Server A) is scaled out by adding
more of the same IT resources (Virtual Servers B and C).
(http://www.whatiscloud.com/ )
ii) Vertical Scaling:
When the existing IT resource is replaced by some higher or lower
capacity resource. it is called vertical scaling, when the existing
resource is replaced by higher capacity resource. It is called scaling
up. When the existing resource is replaced by lower capacity resource ,
it is called scaling down .
33
Fig 3.3 : An IT resource (a virtual server with two CPUs) is scaled up by
replacing it with a more powerful IT resource with increased capacity for
data storage (a physical server with four CPUs).
(http://www.whatiscloud.com/ )
d) Cloud Service:
Cloud computing is a remote environment from which not all available
resource are made available for the remote access e.g; Data base server of the
private cloud can be accessed by the clients of that cloud only those have
demanded and pay for the access of data base server. The remote client can
access the IT resource through API. So cloud service is a simple web based
software program with the interface to which the client can access the remote
IT resource using the messaging protocol. The client has the options to specify
the configurations for hardware and software and can ask for any resource.
Normally there is a virtual server which interacts with the client on the behalf
of actual client and the cloud provider provides the IT resource as a service to
its cloud.
Fig 3.4:A cloud service with a published technical interface is
being accessed by a consumer outside of the cloud (left). A cloud
service that exists as a virtual server is also being accessed from
34
outside of the cloud's boundary (right). The cloud service on the
left is likely being invoked by a consumer program that was
designed to access the cloud service's published technical interface.
The cloud service on the right may be accessed by a human user
that has remotely logged on to the virtual server.
(http://www.whatiscloud.com)
e) Service Level Agreement:
It is a human readable service contract between the cloud provider and the
cloud consumers for offering the services to the clients. The SLA includes
certain conditions like QOS parameters, security features, availability, up
time, reliability and performance. Since the service implementation is hidden
from the client, therefore SLA becomes necessity.
f) Cloud Service Consumer:
The cloud service consumer includes the run time of the software program that
is capable of remotely accessing the cloud services published in SLA.
Fig 3.5: Examples of cloud service consumers. Depending on the nature
of a given diagram, an artifact labeled as a cloud service
consumer may be a software program or a hardware device (in which
case it is implied that it is running a software program capable of acting
as a cloud service consumer). (http://www.whatiscloud.com/ )
3.3 Cloud computing leverages the internet:
i) The cloud is becoming popular and is fairly adopted by the companies in India
and abroad. The cloud computing has the potential to accelerate the business
in the industry by removing the barriers of technology and high end
infrastructure
investments.
35
ii) Improves the employs productivity by providing the instant access to service
and data.
iii) Optimizing the total cost of the industry by taking some IT resources on lease
whenever required.
iv) Facilitating the delivery of more personalized and context based service e.g;
customer location or cultural central based resources. as the path to adopt the
cloud is becoming easier so people are using more and more of the internet to
avail the services of the cloud. The people can be benefited from the cloud
using the internet in the following ways:
a) Small organizations need not to invest a lot on the infrastructure
instead they can subscribe to IaaS, PaaS and SaaS as a service.
b) The organization need not procure the data storage or file servers. They
do not even need to install file server, directory server or mail server.
Instead that can focus more on operation of organization because seal
can be taken care of beyond.
c) The website can be hosted on virtual private servers or host them
reducing the cost of dedicated servers. Using virtual host resources can
be scaled up or down as the site’s traffic grow or shrink.
d) The organizations can store their files or documents on cloud storage
function where they can retrieve as and when require.
e) The organization can deploy virtual desktop so that they can be kept
virus free. Deploying desktop on premises are always followed by
challenging issues of making them virus free.
3.4 Positioning Cloud to Grid Infrastructure
The various limitations of cluster and grid computing led to be invention of
cloud computing.
3.4.1 Cluster Computing
The cluster computing comprises of various computers connected together either loosly
or tightly, and can be viewed as a single system. It may be used for high availability,
36
almost 100% in exceptional cases. The idea behind the cluster computing is that, the
cluster seems to be a single available system, to the outside world, as shown below in
Figure 3.6. The main use of cluster computing is to balance the load when there is heavy
traffic on internet sites, then the request from internet page is passed to a "manager"
server, which identifies the various same types of internet servers to pass this request for
handling. Cluster computing may also be used in multiprocessing of various scientific
applications that comprises of various parallel operations. The cluster computing is
classified into following types:
1) Fail-over Cluster Computing: In Fail-over Cluster Computing, the task of the
hosts is constantly monitored ,whenever any of the host stop working, the other
machine replaces it and handles the assigned task to ensure the service without
interruption.
2) Cluster with load balancing: In Cluster with load balancing, the task requests are
passed to the lightly loaded machines.
3) HPC Cluster Computing: In HPC Cluster Computing, the performance is the
vital issue where the computers are configured to serve with good performance
where the one host divides the processes of a task to multiple hosts to enhance the
performance.
The main precincts of Cluster Computing are:
1) It is quite cumbersome to organize and manage multiple computers at one time.
2) Energy consumption is very high in comparison to a single server
3) Physical space requirement is more than a single server
4) Multiple task at one time may lead to poor performance
37
Figure 3. 6 : Cluster Computing Architecture
1.1 Grid Computing:
Grid computing is the collection of various computer resources from different locations,
which can be used for common universal goal. It is also said as distributed architecture of
multiple interconnected computer resources where one computer has to act as main computer
and passes tasks or information to other machines connected in network to attain the common
goal. It may be helpful to solve tedious mathematical or scientific calculations.. It may be
used in handling of different styles of application necessities. There are three primary styles
of grids square measure which are given as:
1) Computational Grid: In computational grid, large number of computational tasks
are being divided among various machines which are interconnected in the network.
These machines are remotely located, and individually computes the assigned tasks
and send back to the main frame computer connected in the network.
2) Scavenging Grid: It is the special case of the distributive computing which helps to
utilize the unused computer resources in the network. It is also said to be CPU-
Scavenging Grid, in this system, the projects are forwarded from one machine to
another as per instructions.
38
3) Data Grid: It is a set of services or architecture that allow the user to access, transfer
or modify the high amount of data which is world widely spread. This type of system
is more useful for the researchers. It is only possible through the middleware
applications and services that fetches data and resources from geographically
distributed nodes and provides to the users on demand. Users are least interested
about the location, but they are only interested to access the data .
A Computational grid is a software and hardware infrastructure which provides consistent
and dependable access to computational capabilities. Whereas, Desktop grid is only confined
to an institutional boundary.
The limitations of Grid Computing are listed below:
1) There is quite higher requirement of the network connection (minimum GB Ethernet)
2) The user is bound to work on symmetric multiprocessor (SMP) if Message passing
interface (MPI) is not properly used.
3) Standards, benchmark resources and softwares are not properly defined with better
SLA and resource.
4) It depends mainly on dispersed data management and encounters the problems there .
5) It is a cumbersome task to introduce sharable resources on-demand as it has already
complicated resource sharing procedure. Provisioning is still missing
3.5 Elasticity :
It is defines as the degree of adaptability of system to workload changed by
provisioning or de-provisioning of resources automatically at any point of time.
The available resources should always match with the current demand. Elasticity
should aim at matching the amount of resources required with the amount of
resources allotted. It should always avoid over provisioning or under provisioning
of the resources.
a) Over Provisioning :
Allocating more resources than required is called over provisioning. Generally the
service provider has to pay for the over provisioned resources .
39
Fig 3.7: Over Provisioning (https://cloud.google.com/blog/big-
data/2016/03/comparing-cloud-dataflow-autoscaling-to-spark-and-hadoop)
b) Under Provisioning :
Granting fewer resources than required. It should be avoided otherwise the server
can not serve its users with a good service.
Fig 3.8: Under Provisioning( https://cloud.google.com/blog/big-
data/2016/03/comparing-cloud-dataflow-autoscaling-to-spark-and-hadoop)
3.5.1 Problems with Elasticity:
i) Resource provisioning takes time. The VMs can be acquired at any
point of time but it may take several minutes to get them ready to use.
ii) Elasticity requirement: Requirement of the stakeholders should be
properly investigated to ensure proper scaling. The optimal trade
between cost, quality and performance should be soughted
3.5.2 Monitoring of Elastic applications:
Elastic applications may scale out, scale in, or scale up and down the resources .
So this makes cloud very volatile and traditional monitoring tools fail. So to
monitor the elastic applications throughout in its life time, different dimensions
like number of VMs used, number of storage units added or removed need to
aggregated . this should be the problem.
40
3.6 Scalability:
Scalability represents the ability of IT resources to handle in increase or
decrease in usage demand. The scaling is classified into following two types:
i) Horizontal Scalability:
When the resource of same type are allocated or released, it is called
horizontal scaling. Allocation of same type of resources is called scaling
out. Where as releasing of same type of resources is called scaling in . It is
very common form of scaling.
ii) Vertical Scalability:
When the existing IT resource is replaced by some higher or lower capacity
resource. it is called vertical scaling, when the existing resource is replace
by higher capacity resource. It is called scaling up. When the existing
resource is replaced by lower capacity resource , it is called scaling down .
3.6.1 Measures of Scalability:
Functional scalability: Adding new function to enhance the existing system
Is called functional scalability
Geographical Scalability: the ability to maintain performance , usefulness or
usability from one area is more distributed pattern is called geographical
scalability
Load Scalability: The ability to contract or expand the resources pool to
accommodate more or less load is called load scalability
Generation Scalability: It refers to scale up the system by using new
generation of components
Self Assessment Exercise No 1
Q1 What is Elasticity?
Q2 What is scaling?
Q3 What is cloud service?
Q4 How will you define IT as a resource?
Q5 What is under-provisioning and over-provisioning of resources?
41
3.6.2 Difference between Horizontal and Vertical Scaling
Horizontal Scaling Vertical Scaling
Less Expensive More Expensive
IT resources instantly available IT resources normally instantly
available
Additional IT resources are
required
No Additional IT resources are
required
Resource replication and
automated scaling
Additional set up is normally
required
Not limited by hardware capacity Limited by hardware capacity
3.7 Virtualization :
In computing, virtual version of any IT resource would be virtual but it would
work like real . simply we can say that process of converting a physical IT
resource to virtual IT resource. Most of IT resources can see virtualized like
servers, storage, network, power or even an operating system. The framework
divides the resources into one or more execution environments where they can
run successfully e.g; take one physical hardware and create two separate
logical devices is called virtualization.
42
Fig 3.9: Virtualization (http://www.definethecloud.net/tag/data-center-
virtualization/)
3.7.1 Characteristics of Virtualization:
i) Partitioning: In virtualization many operating systems and many
applications reside in a single machine with the help of partitioning.
ii) Isolation: Each virtual machine works independently from other VMs
in the same physical machines. If one virtual instance crashes, it does
not affect the other VMs. Data is never shared between two VMs.
iii) Encapsulation: The VMs in a physical machine is represented as a
file. It is easily identifiable based on server is provided. The
encapsulated machine is a complete entity in …………. So they don’t
interface with each other.
iv) Flexible: The virtual machines and servers are flexible. The client can
easily configure or reconfigure to VMs access to his requirement.
v) Efficient: Using virtualization, the company’s money can be saved. So
it is efficient.
vi) Secure: VM servers are secure because various security mechanisms
are deployed at each level.
vii) Accessible: The virtual resources are accessible to everyone from
everywhere.
viii) Scalable: VM resources can easily be scaled up or down as per the
requirement of the client.
3.7.2 Various types of Virtualization:
i) Server Virtualization: the physical server is partitioned into number of small
virtual servers which will maximize the virtual servers which will maximize the
server resources. All the resources are abstracted from the clients and software
deployed to form the number of virtual environments from a single virtual
machine.
ii) Hardware Virtualization: In this, the virtualization of operating system and
computer itself is done which hides the physical characteristics of any computing
machine.
iii) Storage Virtualization: Large number of physical resources appear as a single
resource to the user. In this back up and data management is done automatically.
43
iv) Desktop Virtualization: Environment of personal computer is evaluated on the
physical machine itself.
v) Network Virtualization: In this process, difference between ….. allocated to
numerous individual channels where each of them can work simultaneously . The
memory can also be shared among different clients as they require.
3.7.3 Benefits of Virtualization:
i) Save energy go green
ii) Extend the life of older application
iii) Help the things to improve the cloud
iv) Increase uptime
v) Improve disaster recovery
vi) Reduces the carbon foot print
vii) Isolate the application
viii) Real time lab environment
ix) Fast provisioning and de-provisioning of resources
3.7.4 How virtualization is done:
The first step is to create new virtual server through virtualization software is the
allocation of physical IT resources, followed by the installation of an operating
system. Virtual server use their own guest operating systems, which are independent
of the operating system in which they are created. Both the guest operating system
and application software running on the virtual server are unaware of the
virtualization process, means these virtualization are installed and executed if they are
running on a separate physical server. This uniformity of the execution that allows the
program to run on physical systems as they would on virtual systems is a vital
characteristics of virtualization. Guest operating systems typically require seamless
usage of software products and applications that do not need to be customized ,
configured , or patched in order to run in a virtualized environment. Virtualization
software runs on a physical server called a host or physical host, whose underlying
hardware is made accessible by the virtualization software. The virtualization
software encompasses system services that are specifically related to virtual machine
management and not normally found on standard operating systems. This is why this
44
software referred to as a virtual machine manager or virtual machine monitor(VMM),
but most commonly known as hypervisor.
3.8 Summary:
Cloud Computing is an unique IT environment where the IT resources can
be provisioned remotely leased on pay per use base .
Cloud computing leverages the internet : The cloud is becoming popular
and is fairly adopted by the companies in India and abroad. The cloud
computing has the potential to accelerate the business in the industry by
removing the barriers of technology and high end infrastructure investments.
Positioning Cloud to Grid Infrastructure : The various limitations of
cluster and grid computing led to be invention of cloud computing.
Elasticity defines as the degree of adaptability of system to workload
changed by provisioning or de-provisioning of resources automatically at
any point of time.
Scalability represents the ability of IT resources to handle in increase or
decrease in usage demand.
Virtualization is the process of converting a physical IT resource to virtual
IT resource. Most of IT resources can see virtualized like servers, storage,
network, power or even an operating system.
3.9 Glossary
Self Assessment Exercise 2
Q1 What is difference between horizontal and vertical scalability?
Q2 What are various measures of Scalability?
Q3 What is virtualization?
Q4 What are various benefits of virtualization?
Q5 What is server and hardware virtualization?
45
o Elasticity: Elasticity in cloud computing refers to the ability of a provider or
an application to grow and shrink the amount of IT infrastructure as needed to
meet demand. Elasticity is considered a key cloud feature because it reduces
the need of an organization to carry overhead or spare capacity
Scalability: Scalability in cloud computing refers to the ability of a provider or an
application to instantly and automatically provision compute capacity to meet spikes
in demand.
Service-level agreements (SLAs): A service-level agreement is the contract that
quantifies what the vendor's service must present and guarantees the customer certain
service-related percentages and benchmarks. In situations involving cloud computing,
SLAs promise certain cloud-based costs and ensure acceptable levels of service
availability.
Vendor lock-in: Dependency on the particular cloud vendor and difficulty moving
from one cloud vendor to another due to lack of standardized protocols, APIs, data
structures (schema), and service models.
Vertical cloud:A cloud computing environment that is optimized for use in a
particular industry, such as health care or financial services.
Virtual machine (VM): A file (typically called an image) that, when executed, looks
to the user like an actual machine. Infrastructure as a Service is often provided as a
VM image that can be started or stopped as needed. Changes made to the VM while it
is running can be…
Virtual private data center:Resources grouped according to specific business
objectives.
46
;Virtual private cloud — A private cloud that exists within a shared or public cloud,
e.g., the Amazon VPC that allows Amazon EC2 to connect to legacy infrastructure on
an IPsec VPN.
3.10. Answers to Self Assessment Exercises:
Answers to Self Assessment Exercise 1:
A1 Elasticity is defined as the degree to which a system is able to adapt to workload
changes by provisioning and de-provisioning resources in an autonomic manner, such that
at each point in time the available resources match the current demand as closely as
possible.
A2. Scaling represents the ability of IT resources to handle in increase or decrease in usage demand . The scaling is classified into following two types: Horizontal Scaling Vertical Scaling
A3. Cloud computing is a remote environment from which not all available resource are
made available for the remote access e.g; Data base server of the private cloud can be
accessed by the clients of that cloud only those have demanded and pay for the access of
data base server. The remote client can access the IT resource through API. So cloud
service is a simple web based software program with the interface to which the client can
access the remote IT resource using the messaging protocol.
47
A4. The resource can be physical or virtual artifact which can be based on either
hardware or software. The hardware can be physical server or a network device whereas
software based resource can either be virtual machine or a customized software program
physical server are referred to as physical host.
A5. Over-provisioning, i.e., allocating more resources than required, should be avoided
as the service provider often has to pay for the resources that are allocated to the service.
For example, Amazon EC2 charges $0.480/hour for an "extra large" virtual machine. If a
service is allocated two virtual machines, instead of one required, the service provider
wastes $4,205 every year. Hence, the service provider's expenses are higher than optimal
and the profit is reduced.
Under-provisioning, i.e., allocating fewer resources than required, must be avoided,
otherwise the service cannot serve its users with a good service. In the above example,
under-provisioning the website may make it seem slow or unreachable. Web users
eventually give up on accessing it, thus, the service provider loses customers. On the long
term, the provider's income will decrease, which also reduces the profit.
Answers to Self Assessment Exercise-2
A1
A2. The various measures of scalability are:
Functional scalability: Adding new function to enhance the existing system Is called
functional scalability
Geographical Scalability: the ability to maintain performance , usefulness or usability
from one area is more distributed pattern is called geographical scalability
Load Scalability: The ability to contract or expand the resources pool to accommodate
more or less load is called load scalability
Horizontal Scaling Vertical Scaling Less Expensive More Expensive IT resources instantly available IT resources normally instantly
available Additional IT resources are required
No Additional IT resources are required
Resource replication and automated scaling
Additional set up is normally required
Not limited by hardware capacity
Limited by hardware capacity
48
Generation Scalability: It refers to scale up the system by using new generation of
components
3.1 A3. Virtualization : In computing, virtual version of any IT resource would be
virtual but it would work like real . simply we can say that process of converting a
physical IT resource to virtual IT resource. Most of IT resources can see virtualized
like servers, storage, network, power or even an operating system. The framework
divides the resources into one or more execution environments where they can run
successfully e.g; take one physical hardware and create two separate logical devices is
called virtualization.
A4.The benefits of virtualization are:
1. Save energy go green
2. Extend the life of older application
3. Help the things to improve the cloud
4. Increase uptime
5. Improve disaster recovery
6. Reduces the carbon foot print
7. Isolate the application
8. Real time lab environment
9. Fast provisioning and de-provisioning of resources
A5. Server virtualization : the physical server is partitioned into number of small virtual
servers which will maximize the virtual servers which will maximize the server resources. All
the resources are abstracted from the clients and software deployed to form the number of
virtual environments from a single virtual machine.
Hardware virtualization : In this, the virtualization of operating system and computer itself
is done which hides the physical characteristics of any computing machine.
3.11 References
12. http://www.whatiscloud.com/ 13. www.e-sciencecity.org/ 14. www.slideshare.net/
49
15. www.airccse.org/ 16. www.expertcore.org/ 17. www.joint-research.org/ 18. www.cloudbus.org/ 19. www.ijcsi.org/
3.12 Model Questions
Q1 What are various concepts of Cloud Computing?
Q2 How do internet leverages the cloud computing?
Q3 What is virtualization? How Virtualization is done?
Q4 What are various characteristics of virtualization?
Q5 What is Scalability? How this feature helps to implement Cloud Computing?
50
Lesson 4 - Cloud computing concepts and management
4.0 Objectives
4.1 Hypervisor
4.2 Multitenancy
4.2.1 Characteristics of Multitenant
4.2.2 Virtualization with Multitenancy
4.2.2.1 Types of Tenancy
4.3 Application Programming Interface
4.4 Throttling
4.5 Billing and Metering of Services
4.6 Economics of Scale
4.7 Management, Tooling and Automation
4.7.1 The Service Provider
4.7.2 Customer
4.7.3 Cloud Monitoring Services
4.7.4 Billing and Metering of Services
4.8 Management and Desktop in Cloud
4.9 Security
4.10 Summary
4.11 Glossary
4.12 Answers to Self Assessment Exercises
4.13 References/Suggested Readings
4.14 Model Questions
4.0 Objectives:
8. To learn about the Hypervisor and its classification
9. To learn about the Multitenancy and its types
10. To make the students familiar with Application programming Interface
11. To learn about the billing and metering services
12. To make the students familiar with Economics of Scale
13. To acquaint the student about Management, Tooling and Automation
14. To get familiar with Management and Desktop in Cloud
51
15. To learn about Security concepts
4.1 Hypervisor:
A hypervisor or virtual machine monitor is a piece of software that allow multiple
operating system to run concurrently on a single computer. They use thin layer of
software or firmware to allocate the resources in real time. A computer on which a
hypervisor is running one or more virtual machines is defined as a host machine.
Each virtual machine is called a guest machine. Hypervisor is responsible for
presenting the guest operating system with a virtual operating environment and
managers all the execution of guest operating system hypervisor also controls
input-output and memory management. There are two types of hypervisors, which
are discussed as:
i) Type-1 (or native, hostel or bare metal)
Hypervisor directly run on the host’s hardware. It controls hardware of host
and manage the guest operating system. A guest operating system runs on
another level above the hypervisor. The Type-1 or VM monitors are designed
to keep the track of all the vents that occur within a VM and when required
provide or deny access to appropriate resource connect operating
requirements.
ii) Type-2 Hypervisor
They run within a conventional operating system environment. They run as an
application on the top of the existing operating system. Type-2 hypervisors
are used on client system where efficiency is less critical on system where
broad range of input-output devices are supported . The first layer in Type-2
hypervisor is system hardware. There are host operating system, there after
the hypervisor and later on guest operating system.
52
Fig 4.1 Hypervisor (http://www.cloudcomputingpatterns.org/hypervisor/)
4.2 Multitenancy :
The multitenant applications were created and designed so that multiple users
or tenants simultaneously occur the same logic. Each tenant has its own
perception about the application that it uses, administrator the users also
customize a dedicated interface of software while remaining the hardware
about the other tenants who are using the same application. Multitenant
application ensure that the tenant should occur only data and configuration
information that is of their own. They can individually customized the various
features of the applications such as :
i) User Interface : Tenants can define the specific and specialized look for
their application
ii) Business process : tenants can customized the logic, rules and workflow
for the implemented business process in the application.
iii) Data Model : tenants can also extend the data schema of the application to
include, exclude or rename various fields of data structures of application
53
iv) Access Control : Tenant can control the access rights for the users and
group of their application individually.
Fig 4.2 Multitenancy (http://diginomica.com/2015/12/08/does-multi-
tenancy-really-matter-anymore/)
4.2.1 Characteristics of Multitenant:
Multitenant architecture is relatively more complex to implement rather then
single tenant applications. Multitenant approach support sharing of various
artifacts by multiple users including portals, data schemes and databases while
maintain the security and also simultaneously allowing all the tenants to
operate individually. The common characteristics of multitenant applications
are :
i) User Isolation: All the tenants operates in isolation that is work done
by one tenant does not affect the other.
ii) Data Access : All the tenants access their own data for which they are
authorized. They are not allowed to access the data of other tenants.
iii) Application Upgradation: Tenants and their data do not get affected
by upgrading of shared components of applications.
54
iv) Recovery : Recovery and backup procedures are followed separately
for each tenant individually.
v) Scalability : The application can accommodate the usage by existing
or increasing tenants respectively.
vi) Metered Usage : Tenants are charged for feature and application
processing they are actually using.
vii) Hypervisor level Isolation : with this type of isolation each tenant
can choose the technology stack which best suits to its application.
The tenant can also fully move to new technological changes.
viii) Data Base level isolation : Data base level isolation is provided to
each and every tenant individually . Depending upon the portion of
application which user access all his databases. Data structures are
defined. The database of each tenant is defined by unique tenant ID .
ix) Data ties Isolation : tenants can access individual tables or schemes
that are isolated from other tenants.
4.2.2 Virtualization with Multitenancy:
A physical or virtual servers which host as application. The application is designed to
cater multiple users. Multiple users are called tenants. Each of the tenants think that
he has exclusive access of application or he is the only user of the application.
4.2.2.1 Types of Tenancy :
The concept of multitenancy includes three levels of consumer integration:
i) Data Center Layer
ii) Infrastructure Layer
iii) Application Layer
i) Data Center Layer :
This layer deals with renting of servers, routers and data centers. This type of
configuration when provided is highly secure and properly implemented with
firewalls and access controls. Data center layer deals with renting of complete
hardware stack which includes servers, networks and softwares in the same building
55
ii) Infrastructure Layer: Multitenancy at infrastructure layer consists of stack which
are dedicated to individual customers. Here the stack is the combination of the
hardware and the software which is consumer based. Because as consumer demand
grows so the hardware and software subjected to availability.
iii) Application Layer: Using the application layer multiple tenants can access the data
bases. To store the data for different users requires both hardware and software part,
hence Multitenancy application layer uses both datacenter layer Multitenancy and
infrastructure layer Multitenancy.
4.3 Application Programming Interface:
As the cloud computing is hitting the markets and in its booms, system administrator
are finding the various ways to connect to the cloud. More and more people want to
use which can be customized according to their demands. In order to experience the
enhanced ability of cloud and to work with cross compatible clouds. The cloud API
has performed. There are four major areas the cloud computing has been integrated
with other platforms.
i) PaaS APIs : These service APIs are designed to process, access the functionality
of cloud environment. The service APIs are integrated database components,
storage components and messaging components.
ii) SaaS APIs: The application layer is connected with the underlined infrastructure,
here the APIs are integrated with various software components.
iii) IaaS APIs: These APIs help to control specific cloud resources and their
distribution. Rapid provision and de-provisioning can be done through IaaS.
iv) Cloud provider and cross platform APIs : Many corporate not only use the
cloud platform but also cross platform APIs not allow the user to access local
resources but also the resources of others as well .
56
Fig :4.3 Service APIs (http://www.cloudcomputingpatterns.org/elastic_platform/)
4.4 Throttling : This component also updates the permission of tenants on accessing
or consuming various resources and store them in a data base for registry. There
are numerous throttling agents which are responsible for verifying the access to
the resources bty the tenants whether to service It is the component of cloud
computing which is scheduled to run the rules to access the resources periodically.
the request or to deny the request. Whenever any tenant is trying to access any
server, registry or any web application, the throttling agent will verify the access
from the registry and only then will grant the access to the resource.
4.5 Billing and Metering of Services :
Self Assessment Exercise 1:
Q1.What is Hypervisor?
Q2. Differentiate between Type1 and Type 2 Hypervisors?
Q3. What is Multitenancy?
57
Metering is the measure of the levels of resource utilization such as network,
bandwidth, usage and data storage consumed by tenants. Billing is the process
where tenants are charged on metered data. Both metering and billing is done on
monthly basis.
Usage metering is very important, no matter whether the cloud is public or private.
Metering measures the storage and the bandwidth consumed by the tenants. The
following parameters are measured :
i) Web Application bandwidth : Whenever any request is coming to
the web application posted by any tenant and response is sent back
to the client of the tenant, the amount of bandwidth consumed by
incoming request and outgoing response is metered.
ii) Service Bandwidth: When the service is hosted by any tenant is
invoked and response in return is sent. Amount of service
bandwidth used is metered.
iii) Registry bandwidth: When the registry resources are accessed and
sent back , the amount of bandwidth used in provisioning and de-
provisioning of the resources is metered.
iv) Registry Storage: When certain artifacts are added to the registry ,
the amount of registry storage used is returned is metered. e.g; there
is a tool called W2O Stratos live for public cloud which measures
the web application and service bandwidth via Tom Cat when the
request goes through the valve, the bandwidth is measured where
the registry bandwidth is measured when new artifacts are added or
accessed from the registry. The parameters measured are send to
business activities monitor then measured data is summarized and is
made available to billing and throttling components.
Billing is generally scheduled at the last day of the every month. This date can also be
configured by users wish . When the bill generation is complete for all the tenants,
then they are informed by mail. All the tenants have their login and passwords where
they can see their past invoices in their account. They can also generate the interim
invoice i.e; from the last invoice till current date. It is always generated on demand.
58
Metering measures the storage and bandwidth consumed by the tenants, throttling
runs its rules against the metered data and take decision on access and controlling the
resources. Billing charges the customers based on metered data on everyone.
4.6 Economics of Scale :
From the provider point of view, the whole point of cloud computing is to achieve
economics of scale by managing a very large pool of computing resource in a highly
economic and efficient fashion.
The graph shows a graph of the cost per user of running just one software application
using different kinds of computer resources; this is a charted against the number of
users. The one application runs in different computer environments, staring with
inefficient dedicated servers all the way upto massively scaled grids. An important
point to note is that the Y-XIS OF USER POPULATIONS IS LOGARITHMIC. That
means that the curve is much less steep than if it was drawn on a proportional scale of
equal steps. If it were drawn on a proportional scale, it’s the need mile of paper.
Note the following:
One end of the X-axis shows data center cost between 1-50(Dollars) per user
per annum . The cost per user is extremely low.
The other end of X-axis shows data center cost between 1000-5000(Dollars)
per user per annum.
59
Fig 4.4: Economies of Scale(E-Book)
Basically on the left, you have very efficient use of computer resource and, on the
right, very inefficient use of resources.
Points on the line indicate the kind of computing resources that serve specific group
sizes:
i) Inefficient Servers: The cost of managing a single server in a data center will
be thousands of dollars per year and this is as expensive as computing ever
gets per user.
ii) Virtual machines : Applications and user numbers that can not use a whole
server get virtualized .
iii) Efficient Servers: User population from the hundreds to thousands can be
served reasonably efficiently with a single or multiple servers. If there is only
one application being run on a server; servers can be highly efficiency,
yielding a relatively low cost per user.
iv) Main Frame and large UNIX clusters : they are shown separately on the
grid only for the sake of space. Both can handle very large database
applications from thousands to ten thousands users.
v) Grids: From the hundreds of thousands to a million users, you are in the area
where SaaS vendors such as Salesforce.com operate. Business applications
offered by SaaS vendors presents a thorny scaling problem because it is a
transactional database application.
vi) Large Grids : Concurrent users above one million. Still a very heavy
workload and only possible via a scale out(which lets a single workload
expand by using more of the identical inexpensive resources) approach with a
grid.
vii) Massively Scaled Grid : This is for user population in the tens of millions.
e.g; each query on goggle search is resolved by a purpose-built grid of up to
1000 servers; goggle routes queries to many such grids.
The dotted box indicates the traditional domain and kind of resources of corporate
computing. The same server used in corporate environments could be used just as
easily in scaled-out arrangements, where workloads are not at all mixed.
60
The reduction in per-user cost does not, at the moment, come from using different
computer equipments or different operating systems: It comes from running a
smaller number workload and scaling it up as much as possible . That’s how cloud
computing reduces cost drastically.
No corporation that runs a mixed workload is ever going to achieve cloud
computing economics of scale.
4.7 Management, Tooling and Automation :
When the application is deployed in internal premises resources can easily be
controlled. Different persons in the organizations are assigned responsibilities to
perform different tasks. The person who is responsible for the integrity of the
application is known to everyone in the organization but when the application moves
to the cloud the management of the cloud application changes drastically. There are
many dimensions involved in the management of cloud like service provider,
customer, monitoring and billing of resources.
4.7.1 The Service Provider :
There are many types of service providers who provide the management services. The
cloud service provider has to manage both virtual and physical resources. He has to
ensure that each customer data is well protected and supported. The management
service provides to the customers based on their paying capacity if they are opting for
cheap vendor then he may not provided sophisticated set of services. Another way to
provide the service to the consumer is outsourcing of services. Then he may outsource
the service from multiple vendors at one time but this may lead to some problems in
some situations e.g; He is getting IaaS from one vendor and SaaS from other vendor .
The SaaS vendor may upgrade a software component which may not have
compatibility with existing IaaS. So the customer can suffer at that time. Hence
appropriate measures to taken at that time to prevent such type of kiosks.
4.7.2 Customer:
Customers should be visible to both infrastructure and application which he is using.
Customers must know how to provision the new resources when he is in need of
them. He must know whether he will get automatically or need to be configured
manually. Automatic provisioning tolls must allow the user to specify the number,
61
types of resources and made them available for user. A cloud management
dashboard is important part of automated provisioning provides the user with an
easy to use interface that allows him to provision and de-provision resources, track
resources usage, modify access and services that are readily available to him. The
service provider manages the performance of overall environment which might
require additional servers, processing powers. It may also include provisioning of
new databases and mapping data to new cloud application. The cloud consumer
should have a plan to handle unexpected problem like sudden shutdown of email
support service etc.
4.7.3 Cloud monitoring Services :
It is real time assessment of services provided to the consumer. It includes the
monitoring of resource allocation to the user and their usage detail from time to
time . The monitoring can be done and assessed by dashboard and SLA. A
dashboard provides an insight of application and service running in the data center.
It also tell the usage and resource allocated to the user. Then SLA are used to
assess the performance of cloud provider whether the service are provided
according to the agreement or not.
4.7.4 Billing and Metering of Services: All the service providers provides the
customers with an information of resources allocated, their usage, their charges.
The bill is generated for the metered usage of allocated resources on monthly
basis. The billing tools are also provided with budget control options which would
alert the user when they approach the limit of sanctioned budget plan which they
have opted.
62
Fig 4.5 : Billing and Metering of Services (http://blog.samisa.org/2011/08/metering-
throttling-and-billing-in.html)
4.8 Management and Desktop in Cloud:
IT is integral part of all the operations in industries like healthcare, education, retail
or manufacturing etc. In order to keep the industries in smooth working condition,
IT infrastructure needs to be updated timely. But any management service provider
knows that keeping the desktops in the clouds is not an easy task. Desktop
management has to efficient and profitable. The DaaS provider take the full
responsibility of hosting, maintaining the computers, storage and access
infrastructure. The customers are provided with facility to use desktop as little or as
long as needed. Desktops are available 365x24x7 days ay ear using the internet and
web browser from any where around the world. In order to manage the cloud the
following key performance indicators need to be monitored.
i) Annual Support cost per device
ii) Availability : Generally means updation, even if the desktops move to cloud
the organization is still responsible for keeping the track of assets as well as the
services running. The various areas that need to be measured are as:
iii) Asset management : Desktop management help the user to select, buy, use
the virtualized desktop hardware and software. No matter what the customer
environment but all the activities with in customer container needs to be registered,
63
tracked and monitored both in terms of hardware and software. The various
activities includes:
Establish a detailed asset register. Register is a database that records all
the hardware assets and provides the user with the service of
provisioning of resources and security.
Establish a software register : it is a register that records all te
software elements of the devices and also provisioning of various
software.
Control software device : it is the consumer or customer who has to
keep check or updated software licenses. Monitoring software devices
will reduce the cost and also eliminate the risk that company will be
running more version of software than he has paid for
Manage Device Cost : Oftenly the companies have devices that are no
longer in use but still need to maintain them. Here those resources can
be de-provisioned or provisioned again if required.
iv) Monitoring Services: If the desktops are running in the cloud . The following
things should be measured:
Application Monitoring : We as users are always quick in blaming
technology if the performance of application is poor. Poor performance
can be due to very simple reason that client device does not have
power. IT must be the area to monitor client device performance or
actual usage.
Service Level maintenance: It is applied both to hardware and
application running on client devices. If SLA’s are actually defined
only then performance can be monitored effectively.
Automated Client backup : Backup should be taken at regular
intervals and automated backup receives the user from the risk data
loss.
Remote Management and maintenance : users may be settled
around the globe or country. So users can find the closest cloud
provider depending on his requirement and ask for the resources he
need.
64
Client Recovery : Automatic backup can involve the restoring of the
client in case of crash. It will be both in terms of reconfiguration of
hardware and software.
v) Change Management : It provides the standardized set of processes for
handling the changes. Following key requirement should be met to handle the
change management:
Hardware Provisioning : Rapid deployment of devices minimize the
time needed to support the hardware changes.
Software Upgrade : Softwares should be updated at regular intervals
and new versions should be distributed to the clients.
Configuration Management : The company automatically changes
the configuration setting in desktop software environment making it
easier to manage the cloud environment.
Patch management : Patches are software changes that fix bugs rather
than upgrade functionality. It should be done by cloud automatically.
4.9 Security :
It is tough for the companies to ensure the security of each individual. There
are several security approaches to protect your access devices.
i) Secure Access Control : Providing user name and passwords for each logged
on person or providing more sophisticated passwords like biometrics or OTP for
authentication.
ii) Identity management : It links the user directly to application or functions of
applications. This approach associates permission with the roles or individuals.
iii) Automated Security policy : The security policy defines the authenticated
users, their roles, their permissions and access to various resources.
iv) Integrated Threat management : Intrusion detection system, Virtual private
network and firewalls all together provides integrated threat management.
Self Assessment Exercise 2:
Q1 . What is throttling?
Q2 What is billing?
Q3. What is metering?
Q4.What are the various levels of security in cloud computing?
Q5 What is change management?
65
4.10 Summary:
A Hypervisor or virtual machine monitor is a piece of software that allow multiple
operating system to run concurrently on a single computer.
The multitenant applications were created and designed so that multiple users or
tenants simultaneously occur the same logic. Each tenant has its own perception about
the application that it uses, administrator the users also customize a dedicated
interface of software while remaining the hardware about the other tenants who are
using the same application.
As the cloud computing is hitting the markets and in its booms, system administrator
are finding the various ways to connect to the cloud. More and more people want to
use which can be customized according to their demands. In order to experience the
enhanced ability of cloud and to work with cross compatible clouds. The cloud
Application Programming Interface (API) has performed.
Throttling is the component of cloud computing which is scheduled to run the rules
to access the resources periodically.
Metering is the measure of the levels of resource utilization such as network,
bandwidth, usage and data storage consumed by tenants. Billing is the process where
tenants are charged on metered data. Both metering and billing is done on monthly
basis.
From the provider point of view, the whole point of cloud computing is to achieve
Economics of Scale by managing a very large pool of computing resource in a highly
economic and efficient fashion.
When the application is deployed in internal premises resources can easily be
controlled. Different persons in the organizations are assigned responsibilities to
perform different tasks. The person who is responsible for the integrity of the
application is known to everyone in the organization but when the application moves
to the cloud the management of the cloud application changes drastically. There are
many dimensions involved in the Management of cloud like service provider,
customer, monitoring and billing of resources.
IT is integral part of all the operations in industries like healthcare, education, retail or
manufacturing etc. In order to keep the industries in smooth working condition, IT
infrastructure needs to be updated timely. But any management service provider
66
knows that keeping the desktops in the clouds is not an easy task. Desktop
Management has to efficient and profitable. The DaaS provider take the full
responsibility of hosting, maintaining the computers, storage and access
infrastructure.
It is tough for the companies to ensure the Security of each individual. There are
several security approaches to protect your access devices.
4.11 Glossary:
Subscription based pricing model:A pricing model that lets customers pay a fee to use the service for a particular time period, often used for SaaS services See also: Consumption based pricing model
Customer self-service:A feature that allows customers to provision, manage, and terminate services themselves, without involving the service provider, via a Web interface or programmatic calls to service APIs.
Disruptive technology:A term used in the business world to describe innovations that improve products or services in unexpected ways and change both the way things are done and the market. Cloud computing is often referred to as a disruptive technology because it has the potential to completely change the way IT services are procured, deployed, and maintained.
Elastic computing:The ability to dynamically provision and de-provision processing, memory, and storage resources to meet demands of peak usage without worrying about capacity planning and engineering for peak usage.
Hosted application:An Internet-based or Web-based application software program that runs on a remote server and can be accessed via an Internet-connected PC or thin client.
Cloud Infrastructure – The “bottom” layer–or foundation–of the Cloud Pyramid is the delivery of computer infrastructure through paravirtualization. This includes servers, networks and other hardware appliances delivered as either Infrastructure Web Services or “cloudcenters”. Full control of the infrastructure is provided at this level. Examples include GoGrid or Amazon Web Services.
Cloud Manageability - You need a consistent view across both on-premises and cloud-based environments. This includes managing the assets provisioning as well as the quality of service (QOS) you’re receiving from your service provider.
Cloud OS - also known as platform-as-a-service (PaaS). Think Google Chrome.
Cloud Platform – The “middle” layer of the Cloud Pyramid which provides a computing platform or framework (e.g., .NET, Ruby on Rails, or Python) as a service or stack. Control is limited to that of the platform or framework, but not at a lower level (server infrastructure). Examples include: Google AppEngine or Microsoft Azure.
67
Cloud Portability – The ability to move applications (and often their associated data) across cloud computing environments from different cloud providers, as well as across private or internal cloud and public or external clouds.
Cloud provider – A company that provides cloud-based platform, infrastructure, application, or storage services to other organizations and/or individuals, usually for a fee.
Cloud Security - The same security principles that apply to on-site computing apply to cloud computing security.
Cloud Servers – Virtualized servers running Windows or Linux operating systems that are instantiated via a web interface or API. Cloud Servers behave in the same manner as physical ones and can be controlled at an administrator or root level, depending on the server type and Cloud Hosting provider.
4.12 Answers to Self Assessment Exercise
Answers to Self Assessment Exercise No1:
A1 A hypervisor or virtual machine monitor (VMM) is a program that creates and runs
multiple virtual machines. A computer on which a hypervisor is running one or more virtual
machines is defined as a host machine. Each virtual machine is called a guest machine. The
hypervisor presents the guest operating systems with a virtual operating platform and
manages the execution of the guest operating systems. Multiple instances of a variety of
operating systems may share the virtualized hardware resources. Hypervisor is responsible
for allocating the resources of host machine to guest machine.
A2 Type 1 Hypervisors: This is when the hypervisors are run on the host’s hardware to
control it as well as manage the virtual machines on it. For example Microsoft Hyper-V
hypervisor, VMware ESX/ESXi, Oracle VM Server for x86, KVM, or Citrix XenServer
Type 2 Hypervisors These hypervisors are run as a software using an operating system such
as Windows, Linux or FreeBSD. For Example Virtage hypervisor, VirtualBox and VMWare
A3. The multitenant application design was created to enable multiple users (tenants) to
access the same application logic simultaneously. Each tenant has its own view of the
68
application that it uses, administers, and customizes as a dedicated instance of the software
while remaining unaware of other tenants that are using the same application.
A4. Common characteristics of multitenant applications include:
1. Usage Isolation - The usage behavior of one tenant does not affect the application
availability and performance of other tenants.
2. Data Security - Tenants cannot access data that belongs to other tenants.
3. Recovery - Backup and restore procedures are separately executed for the data of each
tenant.
4. Application Upgrade - Tenants are not negatively affected by the synchronous upgrading
of shared software artifacts.
5. Scalability - The application can scale to accommodate increases in usage by existing
tenants and/or increases in the number of tenants.
6. Metered Usage - Tenants are charged only for the application processing and features that
are actually consumed.
7. Data Tier Isolation - Tenants can have individual databases, tables, and/or schemas
isolated from other tenants.
A5. A cloud’s Application Programming Interface (API) is the software interface that lets
your company’s infrastructure or applications plug in to the cloud. This is perhaps the most
important place for standardization. The cloud, uses standardized APIs and data
transformation capabilities.
Answers to Self Assessment Exercise 2:
A1. Throttling is defined as the process of access and usage controlling based on a set of
rules. Throttling rules are run against the metered data. Throttling rules define the upper
limits for resource utilization. Access control to cloud computing services will be governed
by throttling module that evaluates throttling rules. If the current metered utilization is below
the allowed upper limits, access will be granted, else revoked.
69
A2 Billing is the process where the cloud computing service subscribers are charged based on
the metered data. Billing usually happens on a monthly basis. Billing uses pricing rates
defined against usage plans and compute the invoice against the usage data.
A3. Metering measures levels of resource utilization, such as network bandwidth usage and
data storage volume, consumed by the cloud services subscribers, and tenants.
A4 .The various levels of security in clouds are
1. Identity management: Any application service or even hardware component can be
authorized on a personal or group role basis.
2. Access control: There also needs to be the right level of access control within the
cloud environment to protect the security of resources.
3. Authorization and authentication: There must be a mechanism so the right people can
change applications and data.
A5. It provides the standardized set of processes for handling the changes. Following key
requirement should be met to handle the change management:
Hardware Provisioning : Rapid deployment of devices minimize the time needed to support
the hardware changes.
Software Upgrade : Softwares should be updated at regular intervals and new versions
should be distributed to the clients.
Configuration Management : The company automatically changes the configuration setting
in desktop software environment making it easier to manage the cloud environment.
Patch management : Patches are software changes that fix bugs rather than upgrade
functionality. It should be done by cloud automatically.
4.13 References
1. www.ijcsi.org/ 21. http://www.whatiscloud.com/ 22. www.e-sciencecity.org/ 23. www.slideshare.net/ 24. www.airccse.org/ 25. www.expertcore.org/
70
26. www.joint-research.org/ 27. www.cloudbus.org/
4.14 Model Questions
Q1 What is multitenancy? What are features of multitenancy?
Q2 How billing and metering of Cloud services is done?
Q3 Write a note on economies of scale in cloud computing?
Q4 What are various types of multitenancy?
Q5 How management of desktop services is done?
71
Lesson 5 - Cloud service delivery – I 5.0 Objectives 5.1 Cloud service delivery 5.2 Cloud Service model Architecture 5.2.1 Infrastructure as a service (IaaS) architecture 5.2.2 PaaS Architecture 5.2.3 SaaS Architecture 5.3 Unit summary
5.0 Objectives: In this chapter we will learn about various service model within cloud like SaaS, PaaS and IaaS. 5.1 Cloud service delivery:
Cloud services means services made available to users on demand via the Internet from a cloud computing provider's servers as opposed to being provided from a company's own on-premises servers. Cloud services are designed to provide easy, scalable access to applications, resources and services, and are fully managed by a cloud services provider.
Check your progress/ self assessment question 1. Define cloud computing? 2. Define virtulization? 3. Define middleware?
Answer to your progress/ self assessment question
72
1. Cloud computing: Cloud Computing is a technology that uses the internet and
central remote servers to maintain data and applications. Cloud computing allows
consumers and businesses to use applications without installation and access their
personal files at any computer with internet access. This technology allows for much
more efficient computing by centralizing data storage, processing and bandwidth.
2. Virtualization: In computing, virtualization means to create a virtual version of
adevice or resource, such as a server, storage device, network or even an operating
system where the framework divides the resource into one or
more execution environments. Even something as simple as partitioning a hard drive
is considered virtualization because you take one drive and partition it to create two
separate hard drives. Devices, applications and human users are able to interact with
the virtual resource as if it were a real single logical resource.
3. Middleware: software that acts as a bridge between an operating system or database
and applications, especially on a network
Three services are:
Software as a service (SaaS)–Use of software or applications that are delivered via a network Platform as a service (PaaS)–The middleware platform and solution stack are accessible on the cloud
73
Infrastructure as a service (IaaS)–Provision servers, storage, and networking resources 5.2 Cloud Service model Architecture:
Software as a service (SaaS):
In the software as a service model, the same software or applications are provided to different customers, or consumers via a network, usually the Internet. The software no longer resides on the consumer’s workstation. Instead, the consumer accesses the provider’s applications running on a cloud infrastructure using various client devices through a thin-client interface such as a web browser. A good example could be web-based email running on a cloud infrastructure.
Platform as a service (PaaS):
In this model, the computing platform and solution stack are made available as a service. Customers can develop, test, and deploy their applications on the cloud.
Infrastructure as a service (IaaS):
In the infrastructure as a service model, the consumer can provision fundamental computer resources such as processors, storage, and networking resources.
5.2.1 Infrastructure as a service (IaaS) architecture: The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed
74
applications; and possibly limited control of select networking components (e.g., host firewalls). Provide access to networking features, computers (virtual or on dedicated hardware), and data storage space. Infrastructure as a Service provides you with the highest level of flexibility and management control over your IT resources and is most similar to existing IT resources that many IT departments and developers are familiar with today.
Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine.
Infrastructure-as-a-Service provides access to fundamental resources such as physical
machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also
offers:
Virtual machine disk storage
Virtual local area network (VLANs)
Load balancers
IP addresses
Software bundles
All of the above resources are made available to end user via server
virtualization. Moreover, these resources are accessed by the customers as if they own
them.
Benefits
IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost-
effective manner. Some of the key benefits of IaaS are listed below:
75
Full control of the computing resources through administrative access to VMs.
Flexible and efficient renting of computer hardware.
Portability, interoperability with legacy applications.
Flexible and efficient renting of computer hardware
IaaS resources such as virtual machines, storage devices, bandwidth, IP addresses,
monitoring services, firewalls, etc. are made available to the customers on rent. The payment
is based upon the amount of time the customer retains a resource. Also with administrative
access to virtual machines, the customer can run any software, even a custom operating
system.
Portability, interoperability with legacy applications
It is possible to maintain legacy between applications and workloads between IaaS clouds.
For example, network applications such as web server or e-mail server that normally runs on
customer-owned server hardware can also run from VMs in IaaS cloud.
Characteristics
Here are the characteristics of IaaS service model:
Virtual machines with pre-installed software.
Virtual machines with pre-installed operating systems such as Windows, Linux, and
Solaris.
On-demand availability of resources.
Allows to store copies of particular data at different locations.
The computing resources can be easily scaled up and down.
•An infrastructure provider (IP) makes an entire computing infrastructure available “as a service” •IPs manages a large pool of computing resources and use virtualization to assign and dynamically resize the resources required by customers •Customers rent processing capacity, memory, data storage, and networking resources that are provisioned over a network Cloud
76
Notes:
Infrastructure services are built on top of a standardized, secure, and scalable infrastructure. Some level of redundancy needs to be built into the infrastructure to ensure the high availability and elasticity of resources.
Next, it must be virtualized. Virtualized environments make use of server virtualization, typically from VMware, XEN, and others, as the basis of running services. These services need to be readily provisioned and de-provisioned using software automation. 5.2.2 PaaS Architecture: The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.3 The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment. Allow you to focus on the deployment and management of your applications. This helps you be more efficient as you don’t need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running your application.
Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos
77
Platform-as-a-Service offers the runtime environment for applications. It also offers
development and deployment tools required to develop applications. PaaS has a feature
of point-and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer
may log on to these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor.
For example, an application written in Python against API of Google, and using App Engine
of Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the
developers and how it helps the end user to access business applications.
Benefits
Following are the benefits of PaaS model:
78
Lower administrative overhead
Customer need not bother about the administration because it is the responsibility of cloud
provider.
Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
Scalable solutions
It is very easy to scale the resources up or down automatically, based on their demand.
More current system software
It is the responsibility of the cloud provider to maintain software versions and patch
installations.
Issues
Like SaaS, PaaS also places significant burdens on customer's browsers to maintain reliable
and secure connections to the provider’s systems. Therefore, PaaS shares many of the issues
of SaaS. However, there are some specific issues associated with PaaS as shown in the
following diagram:
79
Lack of portability between PaaS clouds
Although standard languages are used, yet the implementations of platform services may
vary. For example, file, queue, or hash table interfaces of one platform may differ from
another, making it difficult to transfer the workloads from one platform to another.
Event based processor scheduling
The PaaS applications are event-oriented which poses resource constraints on applications,
i.e., they have to answer a request in a given interval of time.
Security engineering of PaaS applications
Since PaaS applications are dependent on network, they must explicitly use cryptography
and manage security exposures.
Characteristics
Here are the characteristics of PaaS service model:
PaaS offers browser based development environment. It allows the developer to
create database and edit the application code either via Application Programming
Interface or point-and-click tools.
PaaS provides built-in security, scalability, and web service interfaces.
80
PaaS provides built-in tools for defining workflow, approval processes, and
business rules.
It is easy to integrate PaaS with other applications on the same platform.
PaaS also provides web services interfaces that allow us to connect the applications
outside the platform.
Service provider (SP) supplies the software platform or middleware where the applications run •Service user is responsible for the creation, updating, and maintenance of the application •The sizing of the hardware required for the execution of the software is made in a transparent manner •Google App Engine is an example of PaaS
Notes:
Under the PaaS model, the service provider (SP) supplies the software platform or middleware on which the applications run. The user of the service is responsible for the creation, updating, and maintenance of the application.
Platforms in the cloud are an interesting offering that takes the pain away from having to set up and configure the software platform or middleware.
81
Notes:
As with infrastructure services, PaaS should be a self-managed platform.
A provisioning engine is used to deploy the middleware services, as well as tearing them down and freeing resources for reuse.
Platforms may offer additional functions to support developers, such as:
•Development and testing environments
-Support for integrated development environments (IDEs) and runtimes
-Support for advanced workflow software and tools
•Integration services
-Tools and runtimes that support integration, such as connectors, or an enterprise service bus
•Source code management
-Tools and services that support version control and change management
Platform as a service (PaaS) patterns •Patterns are reusable elements that solve recurring business problems •Pattern-based middleware is optimized for automatically assembling software components into dynamic middleware services
82
Examples of PaaS software •WebSphere software–Configured middleware topology–Clusters, high availability, extreme scale 5.2.3 SaaS Architecture: The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure2. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Provides you with a completed product that is run and managed by the service provider. In most cases, people referring to Software as a Service are referring to end-user applications. With a SaaS offering you do not have to think about how the service is maintained or how the underlying infrastructure is managed; you only need to think about how you will use that particular piece software. A common example of a SaaS application is web-based email where you can send and receive email without having to manage feature additions to the email product or maintaining the servers and operating systems that the email program is running on.
Examples: Google Apps, Microsoft Office 365.
There are several SaaS applications listed below:
Billing and invoicing system
Customer Relationship Management (CRM) applications
Help desk applications
Human Resource (HR) solutions
Characteristics
Here are the characteristics of SaaS service model:
83
SaaS makes the software available over the Internet.
The software applications are maintained by the vendor.
The license to the software may be subscription based or usage based. And it is billed
on recurring basis.
SaaS applications are cost-effective since they do not require any maintenance at end
user side.
They are available on demand.
They can be scaled up or down on demand.
They are automatically upgraded and updated.
SaaS offers shared data model. Therefore, multiple users can share single instance of
infrastructure. It is not required to hard code the functionality for individual users.
All users run the same version of the software.
Benefits
Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance.
Some of the benefits are listed below:
Modest software tools
Efficient use of software licenses
Centralized management and data
Platform responsibilities managed by provider
Multitenant solutions
Modest software tools
The SaaS application deployment requires a little or no client side software installation,
which results in the following benefits:
No requirement for complex software packages at client side
Little or no risk of configuration at client side
Low distribution cost
Efficient use of software licenses
The customer can have single license for multiple computers running at different locations
which reduces the licensing cost. Also, there is no requirement for license servers because
the software runs in the provider's infrastructure.
84
Centralized management and data
The cloud provider stores data centrally. However, the cloud providers may store data in a
decentralized manner for the sake of redundancy and reliability.
Platform responsibilities managed by providers
All platform responsibilities such as backups, system maintenance, security, hardware
refresh, power management, etc. are performed by the cloud provider. The customer does
not need to bother about them.
Multitenant solutions
Multitenant solutions allow multiple users to share single instance of different resources in
virtual isolation. Customers can customize their application without affecting the core
functionality.
Issues
There are several issues associated with SaaS, some of them are listed below:
Browser based risks
Network dependence
Lack of portability between SaaS clouds
Browser based risks
If the customer visits malicious website and browser becomes infected, the subsequent
access to SaaS application might compromise the customer's data.
To avoid such risks, the customer can use multiple browsers and dedicate a specific browser
to access SaaS applications or can use virtual desktop while accessing the SaaS applications.
Network dependence
The SaaS application can be delivered only when network is continuously available. Also
network should be reliable but the network reliability cannot be guaranteed either by cloud
provider or by the customer.
Lack of portability between SaaS clouds
Transferring workloads from one SaaS cloud to another is not so easy because work flow,
business logics, user interfaces, support scripts can be provider specific.
Open SaaS and SOA
Open SaaS uses those SaaS applications, which are developed using open source
programming language. These SaaS applications can run on any open source operating
system and database. Open SaaS has several benefits listed below:
No License Required
Low Deployment Cost
85
Less Vendor Lock-in
More portable applications
More Robust Solution
Service provider (SP) is responsible for the creation, updating and maintenance of software and application Service user accesses the service through Internet-based interfaces Cloud.
Notes:
Under the SaaS model, the software provider is responsible for the creation, updating, and maintenance of software, including the responsibility for licensing the software. Customers usually rent the software on a per usage basis, or buy a subscription to access it, which includes a separate license for each person that uses the software.
In this model, the service user only needs to access the service itself, and not the platform or the infrastructure the service is running on. The service is usually accessed as a web application or as a wrappered web services application invoked using web services APIs.
86
An example of software as a service cloud application for collaboration is IBM LotusLive; an example for analytics is the Cognos Business Intelligence reporting and analytic software.
Further information on these SaaS applications is provided in the unit on IBM cloud computing architecture and offerings.
Check your progress/ self assessment question 4. Give examples of IaaS, SaaS, PaaS?
Answer to your progress/ self assessment question
87
Office 365 is SaaS, which provides an online version of MS Office Suite (Office Web Apps) along with SharePoint Server, Exchange Server and Lync Server.
Windows Azure is both IaaS and PaaS, which makes the Windows Server operating system and other features available as services. Trade-off in cost to install versus flexibility
Other cloud service models •Data as a service–Google Public Data Explorer lets you create your own visuals from Google App data–Assumes some public data already exists in the Cloud •Testing as a service –Within IBM, the Integrated Test Enablement(ITE) cloud has been created to provide a common automation and test strategy for developers across the various IBM product brands–Used to create reusable test assets •Integration as a service–Cast Iron (now part of IBM)–Boomi
Model Question 1. Explain architecture of PaaS with examples? 2. Explain architecture of IaaS with examples? 3. Explain architecture of SaaS with examples?
5.3 Unit summary
Having completed this unit, you should be able to: •Describe the service delivery models of cloud computing •Explain software as a service (SaaS) •Explain platform as a service (PaaS)
88
•Explain infrastructure as a service (IaaS) •Describe additional cloud services •Illustrate a reference architecture for the PaaS cloud computing model
89
Lesson-6 Cloud service delivery – II
Structure of the Lesson
6.0 Objective 6.1 Introduction 6.2 Software as Service Architecture 6.3 Software as a Service Details
6.3.1 SaaS Characteristics 6.3.2 Advantages of SaaS 6.3.3 Drawbacks of Saas
6.4 Examples of SaaS Application 6.5 Cost to Install versus Flexibility 6.6 Common Cloud Architecture Overview 6.7 Common Cloud Management Platform 6.8 Summary 6.9 Glossary 6.10 Answers to check your progress/ self assessment questions 6.11 Reference/ Suggested Readings 6.12 Model Questions
6.0 Objective After studying this lesson the student will be able to:
Understand various services provided by the cloud.
Understand the SaaS service in Detail.
Get an idea about what problems a user has to face while installing a cloud
environment.
Understand various real time examples of SaaS.
Get to know about the basic architecture of Cloud Computing
6.1 Introduction Cloud computing is an emerging trend of today’s era. This concept of cloud computing is
catching the interest of many big and middle organizations. Although in the starting main
focus of the companies was on how to develop this technology of cloud computing. But now
days the concentration is on how to manage this vast technology and emerge on the same
hand.
Architecture of cloud computing mainly illustrates the components and
subcomponents which are necessary for cloud computing. Some of the basic components
which are included for cloud computing are:-
Front end platform which includes fat client, thin client and various mobile devices.
Back end platform which includes databases, servers, data units.
Types of delivery provided by the cloud.
Network connecting customer and the cloud.
90
Here, focus is on cloud based delivery. There are three types of cloud based delivery:
Platform as a service (PaaS) – This is a cloud computing service where storage and
platforms for application are provided as a service to the user. PaaS works same as
middleware which were used in non-cloud computing machines back in the era.
Infrastructure as a Service (IaaS) - In this service the cloud user is provided with the
facility of hardware which is completely virtual to the user. Hardware may include
processors, databases, and various input and output devices. In short it can be said that
a customer just have to pay money for the hardware it require and all the pain of
maintaining data centres and data heat up is up to the cloud service provider.
Software as a Service (SaaS) - This is a cloud computing service where customers are
provided with facility of installing a software over the cloud and using it without
actually having any kind of software on the machine customer is using.
6.2 Software as Service Architecture
This type of cloud service is quite interesting. In this type of service the customers need not
to install the software on their machines. They can login to the cloud and use the software
installed over there. For this a user or a customer has to pay for the services which are being
used. In this there is no need for the customer to buy any kind of license for the software
being used. All the responsibilities are of vendor who is providing the service. Based on this
SaaS architecture is defined as shown in the figure 6.1.
User Layer:- This is the layer where user interact with the system. From this layer a
user can login from any system. Further, the applications can be used fro the cloud
from this layer only.
Service Transport Layer:- Responsibility of this layer is to make sure that all the
services demanded by the user are delivered properly. Another responsibility is to
deliver the services with security so that no data can be hacked or disturbed. For
security of the data SOAP, XML and various network security protocols are used.
Service Wrapped and Schedule:- In this layer the user can customize the view of the
software used by him/her. Although the software which has been installed on the
cloud will be having same view, this layer provides the functionality of changing the
view according the comfort of user. As all the data is stored over the cloud which may
belong to different organizations. In this scenario this is quite possible the unwanted
data may be delivered to unwanted user. Also, this is also possible that data may be
misused. Therefore, security protocols are used so as to secure the data.
91
Fig 6.1: SaaS Application Architecture
Service Technology Layer SaaS:- This layer provides all the applications provided by
the software vendor which includes description, discovery, negotiation, delivery and
composition of the service.
Application and Services Layer:- This layer provides us with the ease of installing the
software anywhere whether it is on user’s machine or on the software vendor’s server.
These software and the services provided by the vendor are synchronised through
internet.
Data and Services Management Layer:- Shared database and confinement information
structure make all clients access their private datum in same database or database
group with an alternate information set, so each client can plan distinctive information
models. SaaS stage framework administration assumes responsibility of all framework
essential functions.
6.3 Software as a Service Details
This is the cloud computing model which is most complete in terms of providing hardware
used for the computing, the software used and the solution stack. Software as a Service
(SaaS) might be briefly portrayed as software that is deployed on a facilitated service and can
User Layer
Service Transport Layer
Service Wrapped and Schedule
Service Technology Layer
Internet/ Web 2.0
Application and Service Layer
Web Service API
Data and Service Management
92
be availed universally over the Internet, regularly in a browser. Except for the client
connection with the product, every other part of the administration is disconnected away.
Each cloud user is acquainted with SaaS frameworks, which are either trades or
substitutes for privately installed software. Instances of SaaS programming for end-clients are
Google Gmail and Calendar, QuickBooks on the web, Zoho Office Suite, and others which
are quite popular. SaaS applications come in all shapes and sizes, and incorporate custom
programming, for example, charging and invoicing frameworks, Customer Relationship
Management (CRM) applications, Help Desk applications, Human Resource (HR)
arrangements, and in addition bunch online variants of well known applications
This is the service which has been proved revolutionary in the field of software. With
the evolution of this service, it has been quite easy for the users to use various softwares
without the need of license. User have to just pay for the software he/she is using and thats
all.
6.3.1 SaaS Characteristics
By just one click on the browser the software is available to the user on his/her PC.
For using all the software user have to pay a subscription fee and after that access to
all the software is available. No extra money need to pay for using various software.
Although subscription fee and maintenance fee can be changed from time to time.
No matter what is the location of software, it is the responsibility of the software
vendor to maintain and handle the all the software. This is not the responsibility of
user to handle or take care of software he/she is using.
SaaS services are cheaper to use as user need not to install the software over its own
machine. It also take the overhead of maintenance as in case of SaaS it is the
responsibility of software vendor.
By using this service all the users will be having same software, therefore software
compatibility between the users is more.
SaaS bolsters numerous clients and gives a mutual information model through a
single-instance, multi-tenancy model.
6.3.2 Advantages of SaaS
SaaS is easy to use. A browser is all you need to reach to the softwares of SaaS.
This is very cheap to use as user have to pay just a subscription cost.
SaaS is scalable. Changes can be made very easily if required.
Threat of data loss is very less as all the data is stored over the cloud.
93
Users do not need to install the binary codes of softwares. Which reduce a lot of
headache and space for the user.
Team can be done easily as all the data is stored centrally in the cloud.
6.3.3 Drawbacks of Saas
SaaS software are not robust because of the limitation of slow network and the
browser.
Privacy is also an issue as all the data are stored in the cloud which is accessible to
everyone on the network.
Data is not secured over the cloud.
If SaaS goes down by some resons then it will effect a lot of users and also taking the
functionality back will take a lot of time.
6.4 Examples of SaaS Application
1. Infusionsoft and OfficeAutoPilot
There's an trend of new SaaS applications like Infusionsoft and OfficeAutoPilot that are
permitting little and medium-sized organizations to play same as corporate goliaths. These
permit organizations to catch leads and track the lead source benefits, mechanize their
monotonous bits of the deals process for significant versatility and use restrictive advertising
to treat every prospect extraordinarily.
2. Sociocast
Another startup called Sociocast has as of late presented two redesigned software items that
could possibly change the way business completes. Sociocast Signal and Sociocast Connect
both announce to give all the more constant information to clients and in addition what its
CEO calls "actionable intelligence."
3. iPad POS applications
At checkouts for your most loved bistros and retailers, you are presently marking iPad
screens rather than printed receipts. iPad POS SaaS applications are changing the way
retailers work together, from the equipment they are utilizing to (all the more vitally) the
choices they make. These choices are presently in light of the expanded measure of easy to
use data these applications give.
4. Personalization tools
While the business is still in its initial stage, personalization is the outskirts of the web and
will be an effective device for e-trade and content organizations over the coming years. SaaS
arrangements will bring these calculations to locales and applications so that substance and
94
trade can be altered for the end client. Will personalization enhance transformation rates, as
well as better client encounters.
5. ToutApp
ToutApp gives email formats and analytics as an service. With inside profit booming and
numerous sales oriented organizations finalizing bunches of negotiations by means of email,
it gets to be critical to not just comprehend what email messages are performing admirably,
additionally who is perusing your email continuously.
6. End-user apps
It used to be a top-down (CIO, CTO, and so on.)process of decision making. In any case, end
clients are getting savvier consistently, and portable applications have given them access to
more client encounters than any other time in recent memory. SaaS for business is ready to
rehash itself in light of the fact that the purchasers are presently the clients.
7. Intercom
New devices like Intercom consolidate CRM, application examination, custom informing,
showcasing computerization and support tools.Intercom offers SaaS some assistance with
companying better see how clients collaborate with their applications, which permits
organizations to enhance the whole advertising life cycle and give customized informing and
bolster at scale — conveying a human touch to digital intarction
8. Dashboard
There is some exceptionally fascinating progress happening in the startup/financing SaaS
space. Specifically, Dashboard is ready to upset the way early-stage new businesses raise
cash and how early-stage VCs contribute. Dashboard was established by Paul Singh who
helped to establish 500 Startups with Dave McClure. They are making quick walks toward
applying the "Moneyball" way to deal with right on time stage contributing.
Check your progress/ Self assessment Questions
Q1) What are front end clients and back end platform?
Q2) Explain various components of a cloud.
Q3) List various layers in SaaS architecture.
Q4) Give one example of SaaS architecture.
EXERCISE 1
1. Compare any two examples of SaaS architecture.
2. Compare IaaS and SaaS service of cloud architecture.
3. Compare aaS and SaaS service of cloud architecture.
95
6.5 Cost to Install versus Flexibility
Although cloud computing is a very new concept in IT industries. Today every IT company
want to adapt the concept of this cloud computing. This concept of cloud computing has
really boost up the performance of IT companies. The concept of cloud computing is really a
flexible one in terms of:-
Access: There are no restrictions to a client it terms of accessing the cloud service. A
user can login from anywhere it wants and can access the data.
Application: A cloud can handle multiple requests for a single application. Therefore
increasing the availability.
CPU: Using cloud computing a sing CPU can be virtualized into several CPU so as to
increase the power of computation and taking best out of any CPU.
Storage: Storage is one of the biggest advantages of cloud computing. You can store
as much data as you want and access it later from the location of your wish.
In spite, of all these benefits or flexibility with cloud computing, there is still a big limitation
which is cost of installing it. While installing a cloud computing concept one need a large
investment for this. For cloud computing one need a huge storage, a lot of processors, a data
centre and a lot of man power to manage all this. Therefore, for small organizations it is not
at all beneficial to install the concept of cloud computing. As they have to invest more and
benefits of flexibility are less.
Mainly three types of organization exist. Therefore, their cost versus flexibility comparisons
is as follows:
Small level organizations: For small organizations as the data will be in small amount.
Therefore, if they use the concept of cloud computing it will be expensive for them.
As flexibility is of less or no use to them because of their small data. So keeping the
data on the cloud is not much of use for small organization.
Middle level organizations: For middle level organizations as data will be in big
amount, therefore using the concept of cloud computing will not be much expensive
for them. But in case of installing their own cloud flexibility will less in comparison
to the cost involved while installing. Therefore for middle level organizations it is
beneficial i the py a cloud vendor and take all the benefits cloud. This renting of cloud
reduce the headache of managing the data and man power. The only thing one has to
do is pay for the service you want to use and enjoy the services. No overheads
required.
96
Big level organizations: Considering big level organizations it is best for them to
install their own personal cloud. As large organizations can afford the expenses of
installing it and also benefits of flexibility cannot be ignored.
6.6 Common Cloud Architecture Overview
A cloud computing reference architecture is used as a map for implementing the cloud
services. With this map the implementation risks are so far covered. A architecture defines all
the basic building blocks of a cloud service model. This cloud reference architecture not only
reduce the implementation risks but also gives a overview of how cloud will be and how its
various components are interlinked with each other. It also explains that how a final cloud
will work after it is implemented.
There are many reference architectures that various companies have defined, which
include CCRA of IBM, NIST CCRA and many more. Here in figure 6.2 a common reference
architecture has been defined. This reference architecture is applicable for every type of cloud
service which may be IaaS, PaaS or SaaS.
Three basic blocks of cloud reference model are:
Cloud Service Consumer:-This is the block form where a user gets all the services
provided by the cloud. It consists of Cloud Service Integration Tools and Consumer
In-house IT. Cloud service integration tools consist of all the tools required to work
on a cloud. This tool kit has all the tools which a customer may require and also tools
which are required to fulfil the functionality of a cloud. Consumer In-house IT
contains all the support or we can say a team which would help the user in case of any
problems while using a cloud.
Cloud Service Provider:- This block illustrates all the services which are provided by
the cloud to a cloud user. A cloud reference model is independent of which service it
is providing. Mainly three types of service provided by a cloud vendor is Platform as
a Service (PaaS), Software as a Service (SaaS) and Infrastructure as a Service (IaaS).
Further, various infrastructure provided by the service providers are server, storage,
network and facilities. Business Support Services and Operational support Services
are the two types of services provided by this block. Also as the data of a cloud user is
on the cloud therefore, this layer also provides the functionality of security and
resilience. This securing of the data may be done through encrypting the data before
sending it on the cloud.
Cloud Service
Developer
Cloud Service Provider
SaaS
PaaS
IaaS
Cloud
Services User
Interface
Cloud Service Consumer
97
Fig 6.2: Architecture Overview of Cloud Reference Architecture
Cloud Service Developer:- This layer has all the tools present which are needed for
developing the cloud services. In this layer all the services are developed which rest
of the users enjoy by paying for it.
6.7 Common Cloud Management Platform
Cloud management platforms are coordinated items that accommodate the administration of
public, private and hybrid environments of cloud. The base prerequisites to be incorporated
into this class are items that join self-services interfaces, empower metering and billing, and
accommodate some level of workload streamlining through built up strategies. More-
propelled offerings might likewise incorporate with outer undertaking administration
frameworks, incorporate administration lists, bolster the setup of capacity and system assets,
take into consideration upgraded asset administration by means of service governors and give
propelled checking to enhanced "visitor" execution and accessibility.
The Cloud Management Platform or also called as CMP is a software used to
manage the features or modules of various cloud environments. A public, private or hybrid
clod environment is typical to manage with simple virtualization technique. Therefore, to
manage these cloud environments CMP is required. Certain characteristics of CMP are:-
Self-service- This is the entryway, the interface through which you sign on and deal
with your infrastructure. From here, it must be anything but difficult to pick your
configurations and execute deployments.
98
Provision System Images:- This contains all the images present in the cloud. Through
Self Service login a user can login and get access to all the images.
Metering and Billing:- Cloud Management Platforms give data on your infrastructure
utilization and can alter bills in light of this information. This is a critical component
for organizations needing to revive expenses to inside administrations (deals,
showcasing, HR, bookkeeping, designers) or for administration suppliers/cloud
suppliers invoicing in view of client's utilization. You can likewise track your
foundation use pattern: when was it generally stacked? What time? Which day of the
month? What time? Which customer? You can then adjust your business and IT with
all cards close by.
Workload improvement and arrangements:- All CMP elements are connected and
work flawlessly with one another. CMP is an instrument to advance your framework
use either consequently for some CMP or as an assistance of making decisions for a
few others. The thought is to deal with your assets better.
External tool management:- CMP will incorporate data centre technologies in one
interface. Organizations as of now utilize IT tools for observing, work process
administration, deployment automation. CMP can associate with those current
technologies . Either to gather their information or to pilot them straightforwardly,
"informing them" when to execute their operations.
Service catalogs: By means of the self-administration gateway, you can pick
administration layouts or setups to apply them to the administration you need to
dispatch. You have admittance to a rundown of officially "prepackaged
administration" or you can make them starting with no outside help. Spared as
formats you can then copy arrangements to different administrations.
Network and storage resource configuration: The CMP will make an estimation of all
the storage used and the network required for accessing it. The type of network and
storage can also be choose with the help of CMP.
Service governors: A CMP is a smart tool which sees how your organization's IT
functions. Administration governors will investigate demands so as to convey them
with the right configuration and control the query where it must be. It will examine
which client made the query and for which service.
High Performance Management: Gathering and associating every one of your
services, CMPs will deploy your policies utilizing the appropriate amount of
99
resources. CMP insight assembles all the information indicates into one record ensure
execution and SLAs, to make the best out of your client experience and fulfilment.
6.8 Summary
A cloud can provide all three types of services i.e. IaaS, PaaS and SaaS. The service SaaS
stands for Software as a Service. This service provides the users software so that can use it
from the cloud. There is no need to buy or install software onto your machine. You can use
the cloud which provides service like this and enjoy the services for free. Although this seems
a flexible concept and yes it is very flexible but cost of installing such service is really a
matter of considerations. Therefore for a small organisation installing service like this will be
an expensive service. On the other hand for a large scale organisation installing a service like
this will be cheaper than any another idea of using software.
6.9 Glossary
Platform as a service (PaaS) – This is a cloud computing service where storage and platforms
for application are provided as a service to the user. PaaS works same as middleware which
were used in non-cloud computing machines back in the era.
Infrastructure as a Service (IaaS) - In this service the cloud user is provided with the facility
of hardware which is completely virtual to the user. Hardware may include processors,
databases, and various input and output devices. In short it can be said that a customer just
have to pay money for the hardware it require and all the pain of maintaining data centres and
data heat up is up to the cloud service provider.
Software as a Service (SaaS) - This is a cloud computing service where customers are
provided with facility of installing a software over the cloud and using it without actually
having any kind of software on the machine customer is using.
6.10 Answers to check your progress/ self assessment questions
Check your progress/ Self assessment Questions
Q5) Is cloud computing concept flexible? State True or False.
Q6) What is blue print of cloud architecture called?
Q7) What is CMP? Explain its significance.
EXERCISE 2
1. Draw a blue print of cloud architecture for your organisation.
2. List various companies which have their own blue print of cloud.
3. Compare various levels of organisation on the basis of cost and flexibility.
100
1. Front end platform which includes fat client, thin client and various mobile devices.
Back end platform which includes databases, servers, data units.
2. Front end platform which includes fat client, thin client and various mobile devices.
Back end platform which includes databases, servers, data units. Types of delivery
provided by the cloud. Network connecting customer and the cloud.
3. a) User Layer b) Service Transport Layer c) Service Wrapped and Schedule d) Service
Technology Layer e) Application Service Layer f) Data and Service Management.
4. iPad POS applications: At checkouts for your most loved bistros and retailers, you are
presently marking iPad screens rather than printed receipts. iPad POS SaaS applications
are changing the way retailers work together, from the equipment they are utilizing to
(all the more vitally) the choices they make. These choices are presently in light of the
expanded measure of easy to use data these applications give.
5. True.
6. Common Cloud Computing architecture.
7. The Cloud Management Platform or also called as CMP is a software used to manage the
features or modules of various cloud environments. A public, private or hybrid clod
environment is typical to manage with simple virtualization technique. Therefore, to
manage these cloud environments CMP is required.
6.11 Reference/ Suggested Readings
1. Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, Inc., Indianapolis, Indiana.
2. Cloud Architecture Patterns, Bill Wilder, O’ Reilly Media.
3. Cloud Computing, Pritam Dey.
6.12 Model Questions
Q1) Explain the concept of cloud computing. Also explain various services provided by
cloud?
Q2) Explain SaaS service in detail. List various advantages and disadvantages of SaaS
architecture.
Q3) Compare the cost versus flexibility in installing a cloud for various levels of
organisations.
Q4) Explain the cloud architecture.
Q5) Give a brief about Cloud Management Platform.
101
Lesson 7 - CLOUD DEPLOYMENT SCENARIOS
7.0 Objectives 7.1 Cloud deployment models 7.1.1 Public Cloud 7.1.2 The private cloud 7.1.3 Hybrid Cloud 7.1.4 Community Cloud 7.1.5 Virtual Private Cloud 7.2 Vertical Cloud 7.3 virtual private cloud 7.4 Cloud Migration 7.5 Selection criteria for cloud deployment 7.0 Objectives: In this chapter we will study about the various models of cloud and there scenarios.
7.1 Cloud deployment models Cloud hosting deployment models represent the exact category of cloud environment and are mainly distinguished by the proprietorship, size and access. It tells about the purpose and the nature of the cloud. Most of the organisations are willing to implement cloud as it reduces the capital expenditure and controls operating cost. In order to know which deployment model matches your website requirements it is necessary to know the four deployment models.
Private cloud Community cloud Public cloud Hybrid cloud
Check your progress/ self assessment question Ques a. Give names of different types of deployment model?
Answer to your progress/ self assessment question Ans a. Private cloud Community cloud Public cloud Hybrid cloud
7.1.1 Public Cloud The public cloud deployment model represents true cloud hosting. In this deployment model, services and infrastructure are provided to various clients. Google is an example of a public cloud. This service can be provided by a vendor free of charge or on the basis of a pay-per-user license policy.
102
This model is best suited for business requirements wherein it is required to manage load spikes, host SaaS applications, utilize interim infrastructure for developing and testing applications, and manage applications which are consumed by many users that would otherwise require large investment in infrastructure from businesses. This model helps to reduce capital expenditure and bring down operational IT costs.
Examples of Public Cloud:
Google App Engine Microsoft Windows Azure IBM Smart Cloud Amazon EC2
Here's a brief breakdown of some of the main characteristics of the public cloud:
Easy to use: Some developers may favor the public cloud (at least in the U.S.) due to its ease of access. Generally, the public cloud operates at a pretty fast speed, which is also alluring to some enterprises.
Typically a pay-per-use model (cost-effective): Often, public clouds operate on an elastic pay-as-you-go model, so users only need to pay for what they use — some versions of public cloud are even free but price increases when larger workloads are migrated to the cloud.
Operated by a third party: The public cloud isn't specific to a single business, person or enterprise; it is constructed with shared resources and operated by third-party providers.
Flexible: Public clouds allow users to easily add or drop capacity, and are typically accessible from any Internet-connected device — users don't need to jump through many hurdles in order to access.
Can be unreliable: Public cloud outages have made headlines in recent weeks, leading to headaches for users.
Less secure: Particularly outside of the U.S. where data sovereignty comes into play (where your data is stored and who may have access to it), the public cloud often has a lower level of security and may be more susceptible to hacks. Some public cloud providers also reserve the right to shift data around from one region to another without notifying the user -– which may cause issues, legal and otherwise, for a company with strict data security policies.
7.1.2 The private cloud For businesses concerned about knowing exactly where their data is stored and having complete control over it — and who, ultimately, has access — the private cloud provides a higher degree of peace of mind. Additionally, private clouds may be the best option for companies that must jump through a lot of regulatory hurdles or handle sensitive data, or for companies concerned over their own intellectual property being hosted on the public cloud.
Managed private clouds are one specific form of this type of cloud computing: This service refers to clouds that, though specific to an individual business, receive some assistance (such as operating service monitoring and patching) from a third party. This allows for a company to select the custom cloud model that fits its needs while leveraging secure third-party help for maintenance.
103
Here are the main features of private cloud computing:
Organization-specific: Private clouds are developed specifically for one organization or enterprise; unlike the public cloud, they aren't shared among many users.
More control and reliability: Private cloud services and infrastructure are maintained onsite, or in a privately hosted environment such as a third-party data center. This gives an enterprise the utmost control over access — IT can know where information is deployed and can keep an eye on the boundaries that surround that data. Additionally, managed private clouds allow for strong service level agreements, which can increase reliability.
Customizable: IT can customize storage and networking components so that the cloud is a perfect fit for the specific organization and its needs.
More costly (arguably): Proponents of public cloud computing often tout its cost-effectiveness as one of the primary advantages. While private cloud may rack up costs due to increased management responsibilities and smaller economies of scale, it's worth weighing the risks/costs of security.
Requires IT expertise: Some companies may not have the infrastructure to completely build out and manage a custom private cloud within their own IT department -– it can require a good deal of up-keep. In these cases, a managed private cloud may be a viable option.
7.1.3 Hybrid Cloud This deployment model helps businesses to take advantage of secured applications and data hosting on a private cloud, while still enjoying cost benefits by keeping shared data and applications on the public cloud. This model is also used for handling cloud bursting, which refers to a scenario where the existing private cloud infrastructure is not able to handle load spikes and requires a fallback option to support the load. Hence, the cloud migrates workloads between public and private hosting without any inconvenience to the users.
Many PaaS deployments expose their APIs, which can be further integrated with internal applications or applications hosted on a private cloud, while still maintaining the security aspects.
Examples of Hybrid Cloud:
Windows Azure (capable of Hybrid Cloud) VMware vCloud (Hybrid Cloud Services)
Here's an overview:
Flexible and scalable: Since the hybrid cloud, as its name suggests, employs facets of both private and public cloud services, enterprises have the ability to mix and match for the ideal balance of cost and security.
Cost effective: Businesses can take advantage of the cost-effectiveness of public cloud computing, while also enjoying the security of a private cloud.
Becoming widely popular: More and more enterprises are adopting this type of model.
Ultimately, hybrid clouds look to be a promising solution for the future.
104
7.1.4 Community Cloud In the community deployment model, the cloud infrastructure is shared by several organizations with the same policy and compliance considerations. This helps to further reduce costs as compared to a private cloud, as it is shared by larger group.
Various state-level government departments requiring access to the same data relating to the local population or information related to infrastructure, such as hospitals, roads, electrical stations, etc., can utilize a community cloud to manage applications and data.
Examples of Community Cloud:
Google Apps for Government Microsoft Government Community Cloud
Check your progress/ self assessment question
Ques b. Give example of private cloud? Ques c. Give example of public cloud? Ques c. Give example of hybrid cloud? Ques d. Give example of community cloud?
Answer to your progress/ self assessment question
Ans b. Example of private cloud: Amazon Elastic Compute Cloud (EC2) Ans c. Example of public cloud: Google App Engine Ans c. Example of hybrid cloud: Windows Azure Ans d. Example of community cloud: Google Apps
7.1.5 Virtual Private Cloud A virtual private cloud (VPC) is the logical division of a service provider's public cloud multi-tenant architecture to support private cloud computing in a public cloud environment. Just as a virtual private network (VPN) provides secure data transfer over the public Internet, a VPC provides secure data transfer between a private enterprise and a public cloud provider, ensuring that each customer's data remains isolated from every other customer's data both in transit and inside the cloud provider's network. This can be accomplished through the use of security policies requiring some -- or all -- of the following elements: encryption, tunneling, private IP addressing or allocating a unique VLAN to each customer. 7.2 Vertical Cloud Vertical Cloud is the world’s largest independent Cloud community portal covering the latest trends and innovations in the field of Cloud computing. Vertical clouds enable organizations to provision or build applications that are designed having functionality, resources and other application-specific requirements ideally suited for their needs. These cloud solutions are built around a vertical and optimized to provide services to only limited business model, process or need.
105
Vertical Cloud delivers;
Exclusive Cloud Computing content Independent and Vendor Neutral approach to Cloud Computing A platform to exchange cloud computing thought leadership Expert articles showcasing developments in and around the cloud Outlook on Cloud industry by experts within their fields Cloud Computing Strategies and Best Practices Cloud products / solutions showcase Extension to Cloud Computing groups on Linkedin and Google Groups Bespoke Cloud advisory services Real-world use cases and road-maps
7.3 virtual private cloud
A Virtual Private Cloud (VPC) is an on demand configurable pool of shared computing resources allocated within a public cloud environment, providing a certain level of isolation between the different organizations (denoted as users hereafter) using the resources. The isolation between one VPC user and all other users of the same cloud (other VPC users as well as other public cloud users) is achieved normally through allocation of a Private IP Subnet and a virtual communication construct (such as a VLAN or a set of encrypted communication channels) per user.
7.4 Cloud Migration Cloud migration is the process of moving data, applications or other business elements from an organization's onsite computers to the cloud, or moving them from one cloud environment to another. Cloud migration sometimes involves moving data or other business elements between cloud environments, which is known as cloud-to-cloud migration. The process of transitioning to a different cloud provider is known as cloud service migration. In any case, successful migration to a service provider’s environment may require the use of middleware, such as a cloud integration tool, to bridge any gaps between the vendor’s and the customer’s (or other vendor’s) technologies. Application requirements for a cloud migration Compatibility usually isn't a big problem for newer applications that run on top of modern operating systems. It is also easy to assume that performance won't be an issue for such applications because most cloud providers will allow hardware resources to be allocated to
106
hosted servers on an as-needed basis. However, two major considerations must be taken into account for such applications. The first is performance. Even though you can provision the hosted application server with nearly unlimited compute and memory resources, Internet bandwidth may impede application performance. It does little good to have a high-performance hosted application server if Internet bandwidth limitations stand in the way of a good user experience. The second consideration is application portability. Although it is often easy to migrate a virtualized application server to the cloud, the application might have external dependencies that rule out (or greatly complicate) a cloud migration. For example, the application might have an Active Directory dependency or require access to an on-premises SQL server database. For older applications that run on legacy operating systems, a move to the cloud may not be an option. Lab testing is the only way to know how an application will behave in a cloud environment. Testing helps determine the steps that are involved in moving the app there. Another consideration for moving application servers to the cloud is hardware scalability. Some IT analysts have suggested that cloud services are ideal for hosting hardware-intensive workloads because cloud services generally offer nearly unlimited scalability. While a cloud service provider can usually scale its offerings to meet even the most demanding workloads, this scalability comes at a price. A poorly planned and implemented migration, however, can put a serious dent in the cloud business case. With that in mind, CIOs need to address a number of questions to ensure a smooth migration: 7.5 Selection criteria for cloud deployment Following five criteria when evaluating cloud providers, you’ll be more confident that you’re selecting the right cloud platform:-
Polytech – Can the Platform Support Multiple Languages, Databases and Middleware?
You may need to use multiple languages or databases as you create your applications. Each application will have different needs as it is developed, and those needs also may change over time. By finding a cloud provider that can support multiple languages and databases, you’ll avoid having to select a different cloud for each type of application. It’s important not just to look at the service a cloud provider is offering, but whether that platform provides the depth and breadth you need.
For example, a SaaS company that helps developers build visual prototypes in the cloud leverages several PHP frameworks, as well as a variety of databases and queueing technologies to meet its clients’ varying needs. And a sport merchandise company uses multiple languages and related frameworks and middleware to power its site to ensure customers can shop anytime.
Polycloud – Can the Provider Run on Multiple Infrastructures and Support Hybrid Options?
As demand increases for your applications, you’ll need a provider that can grow with you. The key to ensuring compatibility with these changing requirements is not getting locked in. Therefore you should look for a PaaS solution that supports multiple infrastructures and offers the combination of both private and public resources in hybrid cloud configurations.
107
For example, by deploying high availability and disaster recovery (HA/DR) across public clouds, one e-commerce company ensures its independent artists and designers can showcase their work without interruption. A gamification company separates its data and application infrastructures by deploying them on different public clouds with a low latency secure gateway for inter-cloud connectivity.
Complete Application Lifecycle Support – Can the Platform Deliver a Balance of Automation and Granular Control?
Your company’s current IT processes and the size of your DevOps team will likely guide the level of automation or extent of control you want. As you’re considering your cloud platform, you will want to make sure that it can provide, both, a high level of automation and granular control, so you are not locked in to your initial choice.
For example, a start-up may have a great idea for an app, but few employees in DevOps. In this scenario, automation is necessary to enable the small staff to write the code and easily deploy the app. But over time, as the company grows and scales, their applications may become more complex and require greater control. On the flipside, there are large enterprises that have historically managed in-house infrastructure, but now want the benefits of moving to the cloud. They often want a platform that provides the same level of control they are accustomed to, with more automation.
Proven – Does the Cloud Provider Have a Strong Track Record?
Because the cloud market is relatively new with strong growth potential, there are a myriad of young platform providers that are trying to get in on the opportunity. When considering cloud platform providers, it’s critical to choose a stable company that can provide the service level you need, whether you’re a small start-up, a development agency supporting many customers or running large enterprise applications. You should look for case studies and references that prove the provider’s capabilities, and strongly consider selecting a provider with a history of delivering a commercial-grade platform that is reliable, secure and flexible.
Questions you should ask include: how long has the company been in business, how many apps they have in production, what’s the expertise of both the management and development team, and are they comfortable with both legacy and new apps. With these answers, you won’t risk your business-critical applications to an inexperienced provider that has service interruptions, poor support, and could unexpectedly go out of business.
Customer Support - How Involved Does Your Provider Get?
Many cloud platform providers offer basic help through a knowledge base or other online resources. That is often where the support ends, but it doesn’t have to. Some providers are investing heavily in enhanced customer support. They employ experts who can help you speed your time to market and focus on developing and troubleshooting apps without having to hire more Ops staff. They provide advice on deployment, high availability strategies, scaling, code and security audits, application analysis and best practices. They will stay with you even after your app launches, not just reacting to problems, but providing proactive monitoring and support that keeps your apps running smoothly 24x7.
108
One financial services organization, for example, relies on its cloud provider’s expertise and dedicated support team for round-the-clock availability and scaling. With this assistance, its developers can focus on their core strengths while the cloud provider takes care of all DevOps responsibilities.
Cloud platforms are dramatically changing the ways that apps are developed and deployed. So that you can focus on what you do best – developing apps – you need a platform provider who will not lock you into decisions that may hamper your innovation and growth over the long term. Clearly, the underlying platform is critical, but equally important is the flexibility and level of support that a cloud provider can deliver. By considering these five criteria, you can find a provider that will enable you to leverage its platform to plan, build, deploy and manage your applications throughout the entire lifecycle of your business and effectively innovate for the future. Are these the criteria your company has used when selecting a cloud platform? What other factors have you considered in your decision-making process?
Model Question
Which enterprise cloud migration strategy is right for your organization, if any? Which applications are suitable for the cloud and which aren't? Do you have the appropriate tools to aid in migration efforts and cut back on
expensive manual tasks? What types of computing workloads will work best in which specific types of clouds?
Glossary
Public Cloud:- The public cloud is defined as a multi-tenant environment, where you
buy a “server slice” in a cloud computing environment that is shared with a number of
other clients or tenants.
SaaS:- Software as a Service
Hybrid Cloud:- Hybrid cloud is a cloud computing environment which uses a mix of
on-premises, private cloud and third-party, public cloud services with orchestration
between the two platforms.
APIs:- Application Programming Interface
Community Cloud:- A community cloud is a multi-tenant infrastructure that is
shared among several organizations from a specific group with common computing
concerns.
VPC:- Virtual Private Cloud
VPC:- A Virtual Private Cloud (VPC) is an on-demand configurable pool of shared
computing resources allocated within a public cloud environment, providing a certain
level of isolation between the different organizations (denoted as users hereafter)
using the resources.
109
Cloud Migration:- Cloud migration is the process of moving data, applications or
other business elements from an organization's onsite computers to the cloud, or
moving them from one cloud environment to another.
References:-
1. Raj Kumar Buyya, James Broberg, Andrezei M.Goscinski, Cloud Computing: Principles and paradigms, 2011
2. Michael Miller, Cloud Computing, 2008.
3. Judith Hurwitz, Robin Bllor, Marcia Kaufman, Fern Halper, Cloud Computing for dummies, 2009.
4. Anthony T. Velte, Toby J. Velte and Robert Elsenpeter, Cloud Computing: A practical Approach, McGraw Hill, 2010.
5. Barrie Sosinsky, Cloud Computing Bible, Wiley, 2011. 6. Borko Furht, Armando Escalante (Editors), Handbook of Cloud Computing, Springer, 2010.
110
Lesson-8 Security in Cloud Computing
8.0 Objective 8.1 Introduction
8.1.1 Various Security goals 8.2 Cloud Security Reference Model 8.3 Security Integration 8.4 Security Risks 8.5 Internal Security Breaches 8.6 Data Corruption or Loss
8.6.1 Definition of data loss domains 8.6.2 Preventative measures
8.7 User Account and Service Hijacking 8.7.1 A Definition of Cloud Account Hijacking 8.7.2 Cloud Hijacking Risks 8.7.3 Be Proactive When Selecting Cloud Service Providers
8.8 Steps to Reduce Cloud Security Breaches 8.9 Enhancing Cloud Security 8.10 Identity Management 8.11 Summary 8.12 Glossary 8.13 Answers to check your progress/ self assessment questions 8.14 Reference/ Suggested Readings 8.14 Model Questions
8.0 Objective After studying this lesson the student will able to:
Understand the need of security with cloud.
Understand various security breaches of cloud
Awareness to a user about internal security breaches
Take precautions for various security problems
Enhancing security in cloud environment
8.1 Introduction
Cloud computing is a concept which is well known and quite useful. Despite of various
benefits of cloud computing, the biggest issue with the cloud computing is “Security”. In
cloud computing various benefits such as sharing of data, sharing of software, keeping all the
data to one place are significant. But with these benefits comes many security issues as well.
If data is being shared then it is obvious data can be accessed by unauthorised users as well.
Also in the case of outsourcing data is liable to security threats and can be hacked easily.
Therefore, main focus of IT companies now days is on “How to secure the cloud and data
over it?”
111
Further it has been observed that level of security needed for any cloud depends on
the type of service that cloud is providing. Such as for cloud service model Infrastructure as a
Service (IaaS) least security is required, as mostly virtualized hardware are involved in this
service. On the other hand Software as a Service (SaaS) requires the highest level of security.
While storing the data over the cloud make sure that data should be in encrypted form,
Therefore, in case data is lost or a malicious user tries to attack on your data then because of
encryption that data will be of no use to the malicious user. Proxy servers should also be used
so as to separate all the clients from the actual server, this will keep server safe and attacks on
the server will be less. Services like logging, auditing, availability and regularity compliance
should be discussed while discussing the Service Level Agreements.
In order to evaluate the level of risk, following analysis should be done:
Determine the type of resources those are being shifted on the cloud.
Determine that the resource you are shifting to the cloud is how much sensitive to the
risk.
The type of cloud also defines the sensitivity of the risk. Cloud may be private, public
or hybrid type.
Service type of the cloud is also a matter of concern. Service type can be IaaS, PaaS
or SaaS.
Check the routes of the data delivery of which service provider you are subscribed
with. Check where the data is stored so that it can be secured.
8.1.1 Various Security goals
• Secrecy - no spillage of delicate or private data
• Integrity - no unapproved change or data damage
• Accessibility: Server should not be down for long time. Its response should be fast to the
client.
• Responsibility: It should be legally secured
8.2 Cloud Security Reference Model
A cloud reference model is basically derived from the NIST architecture of cloud computing.
A cloud computing reference architecture is used as a map for implementing the cloud
services. With this map the implementation risks are so far covered. A architecture defines all
the basic building blocks of a cloud service model. This cloud reference architecture not only
reduce the implementation risks but also gives a overview of how cloud will be and how its
112
various components are interlinked with each other. It also explains that how a final cloud
will work after it is implemented.
There are many reference architectures that various companies have defined which
include CCRA of IBM, NIST CCRA and many more. This reference architecture is
applicable for every type of cloud service which may be IaaS, PaaS or SaaS. This cloud
computing reference architecture indicates that each component in the cloud computing
should be made secure by implementing appropriate security components. Figure 6.3 shows
the security reference model of the cloud. Various components of the security architecture are
as follows:
1. Cloud Consumer: Various customer architectural components are Secure Cloud
Consumption Management and Secure Cloud Ecosystem Orchestration.
Secure Cloud Consumption Management have following sub-components:
Secure Configuration: The cloud Consumer Secure Configuration
Compositional Component incorporates any abilities, instruments, or
strategies that guarantee the protected design of cloud assets and
consistence with the appropriate security models, particulars, and
order. Securing the cloud configuration includes the areas like rapid
provisioning, resource changing, metering and managing service level
agreements.
Secure Portability: This component of security make sure that all the
data which is being transferred from one cloud to another cloud should
be ported securely.
Secure Business Support: This security component deals with
managing the secure business relations with other cloud actors by
providing them facilities of authentication and authorizing. This
component also performs the functionality of secure online
transactions so that no fraud payments can take place.
Secure Organizational Support: This component manages all the
processes, policies and methods of the series provided in cloud. This is
like backbone of the system and manages all the tasks being
performed.
Secure Cloud Ecosystem Orchestration have the following sub-components:
113
Functional Layer: This layer defines the functional orchestration
provided by the cloud to the customer.
2. Cloud Provider: Various components and sub-components of cloud provider are
Secure Cloud Ecosystem Orchestration have the following sub-components:
Secure Deployment and Service Levels: This component gives the
security to three types of services which are IaaS, PaaS and SaaS. All
the service level agreements are discussed for these three services in
this component only.
Secure Resource Abstraction and Control Layer: This component
contains all the functions which are required by a cloud provider to
implement the functionalities like virtual machines and using the
physical resources securely through software abstraction. Best example
of such software are hypervisor, virtual machines etc.
Secure Physical Resource Layer: This sub-component contains all the
resources which are needed to secure the physical resources used in the
picture of cloud computing. Physical resources may include hardware,
network, servers etc. This also includes security of the facilities like
ventilation, air conditioning etc.
Secure Cloud Service Management have the following sub-components:
Secure Provisioning and Configuration: This sub-component include
all the security components to provide secure provisioning and
configuration which may include security of standards, specification
and regulation.
Secure Portability and Interoperability: This component of security
make sure that all the data which is being transferred from one cloud to
another cloud should be ported securely.
Secure Business Support: This security component deals with
managing the secure business relations with other cloud actors by
providing them facilities of authentication and authorizing. This
component also performs the functionality of secure online
transactions so that no fraud payments can take place.
3. Cloud Broker includes various components those are:
Secure Cloud Consumption Management have following sub-components:
114
Secure Configuration: The cloud Consumer Secure Configuration
Compositional Component incorporates any abilities, instruments, or
strategies that guarantee the protected design of cloud assets and
consistence with the appropriate security models, particulars, and
order. Securing the cloud configuration includes the areas like rapid
provisioning, resource changing, metering and managing service level
agreements.
Secure Portability: This component of security make sure that all the
data which is being transferred from one cloud to another cloud should
be ported securely.
Secure Business Support: This security component deals with
managing the secure business relations with other cloud actors by
providing them facilities of authentication and authorizing. This
component also performs the functionality of secure online
transactions so that no fraud payments can take place.
Secure Organizational Support: This component manages all the
processes, policies and methods of the series provided in cloud. This is
like backbone of the system and manages all the tasks being
performed.
Secure Cloud Ecosystem Orchestration have the following sub-components:
Functional Layer: This layer defines the functional orchestration
provided by the cloud to the customer.
4. Cloud Auditor: This component of security has all the functionalities where a secure
auditing is done. As auditing is required for security purpose, therefore, this
component helps in secure auditing, so that no malicious can interrupt in the process.
5. Cloud Carrier: This component is responsible for the secure transportation of the data
over the cloud. This can be achieved by using encryption, decryption, firewalls, proxy
servers and many more technologies.
115
Fig 6.3: Cloud Security Reference Model
8.3 Security Integration
Integration is the concept which has been the topic of discussion from the stone age. A cloud
can be integrated with many features and can also be integrated with another cloud. Although
cloud itself is a very powerful concept but still security is needed to secure a cloud so that no
data of the customers can be lost. Therefore security has to be integrated with the cloud for
secure access to a cloud.
Software-based on-premise integration tools: This set incorporates the technology
which is about customary integration server programming running on an server
present in the organization to drive combination among any number of frameworks, in
cloud computing. While normally higher in value, they are more exceptional and
richer in characteristics, considering the measure of time they have been around and
the quantity of cycles the joining programming has experienced. Suppliers here
incorporate IBM, Software AG, Oracle, and Informatica.
On premise appliance based integration tools: This contains all the tools which are
integrated with the cloud on the premises.
Cloud delivered integration tools: This contains all the tools which are integrated with
the cloud for secure delivery of data.
8.4 Security Risks
116
Abuse or Misuse of Cloud Computing: This is very often that cloud vendors provide
their customer services of using unlimited space and computing power. All these
services can be easily availed just by following simple steps of registration and paying
for the services being used and paying for the service afterwards. Some vendors also
provide their customers a free trial period. The spammers and malicious attackers
took benefits of this and violate the services given by the cloud vendor. Traditionally,
only PaaS vendors were more likely to abuse but facts show that IaaS vendors are on
target as well.
Insecure Interfaces and APIs Description: Cloud vendors provide all the services to a
customer according to their payments. To manage all these services a customer is
provided with a user interface as operating system is provided to run a computer.
Therefore, it is necessary that these interface are designed in a way that no accidental
attacks and malicious can affect the security of the data over the cloud.
Malicious Insiders: Although users trust on the cloud vendors when they handover
their data to be stored on the cloud. But a user has no idea who actually is handling
their data. So there are chances that a person sitting inside the company can steal
user’s data.
Shared Technology Issues: IaaS provides infrastructure as a service to the users. But a
risk is also there with this service. As the users are sharing the technology and
resources, then there are chances that a user can interrupt in the execution of some
other user. In this scenario there are chances that data can be misused by another
authorized user working on the same cloud. Therefore to avoid this a clear separations
should be made so that no user can interrupt in the execution of another user. Data of
every user should be isolated.
Data Loss or Leakage: There are chances when data can be lost or damaged from the
cloud. This can happen when modification and deletions of the data are done without
having any backup o the data. Therefore if there is no backup and during modification
or deletion transaction failed. This will result in data loss. Also data can be leaked
from the cloud by malicious users.
Account or Service Hijacking: This is the case where some malicious user can steal
user’s ID and password for using cloud service and use it later without the conscious
of the authorized user.
8.5 Internal Security Breaches
117
Malicious cyber attacks: Technical sound employees in the company can get through
the technical details of the network and result in planning cyber attacks. Planting a
logic bomb into a network is a big example for malicious attack. To prevent these
kind of attacks a company should properly check the background of all the employees
before hiring them.
Social engineering: The employees a company has hired should be educated enough
or should be aware enough that he can’t give the passwords of cloud services over the
phone.
Downloading malicious internet content: It is observed that a common trend among
companies is, an employee spend some time daily over the internet for personal use.
This may not cost much to the company but the fact is with playing games,
downloading video sometimes malicious content also get downloaded. This malicious
content can attack the system of employee and can steal passwords from the system.
Information leakage: This has been observed in IT companies that the employees
share their passwords with the third parties. Also there is a routine trend that
employees copy the data from PC using USBs and data cables. Therefore risk of
information leakage is quite high. How data and information can be secured if
every person roaming around the company is carrying a USB of 60GB.
Illegal activities: This is important to note that if anything happens with the user
data the responsibility is of employer not employee. Therefore, a set of rules and laws
should be defined if something malicious happens that what would be results. For
controlling this software should be installed so as to check the network traffic.
8.6 Data Corruption or Loss
Basically, data can be lost or exploited in three ways:
Data Destruction.
Data Corruption.
Unauthorised Data.
Due to these types of loss many problem occurs within the company such as infrastructure
malfunctions, software errors and security breaches.
Check your progress/ Self assessment question Q1) What are the main components of cloud security reference architecture? Q2) Is cloud secure? State Tue or False. Q3) Cloud sufer from internal breaches.
118
8.6.1 Definition of data loss domains
Fig: Data Domains in Cloud Computing
In the environment of cloud computing, there are various types of data which even can’t be
mentioned. But these all data types can be classified into domains or general categories.
Therefore, the domains defined for the data can give a review that which kind of data is lost
and what will be its affect on the cloud vendor. In the figure basically three types of domains
are defined, those are Provider Non-Customer Effective (PNCE), Provider Customer
Effective (PCE) and Customer (CUST)
Provider data non-customer effective (PNCE): This domain of data loss includes only
that type of data, which is important only to the cloud service provider. In the case of
this type of data loss only the service provider will suffer and customer will have no
effect. Example of such type of data loss is Billing Information of the customers. If
billing record is lost then customer will not be affected in any ways but the provider
has to suffer.
Provider data customer-effective (PCE): This kind of data falls in the domain where
both provider and the customers are concerned. Means to say, in this type of data loss
119
both the customer and the provider will have to suffer the impacts. Example of this
type of data is Self-Service portal information. If login and passwords for self portal
service are lost then it will be a problem for both parties.
Customer data: This domain of data mostly contains the data which is concerned with
the customer. Destruction of this type of data will affect only the customer and not the
provider. But keeping this data safe and preventing it from destruction is the
responsibility of the provider.
8.6.2 Preventative measures
Although IT companies now a days has been shifted to the clouds. But still it is quite
important that some preventive measures should be taken to as to avoid data loss. Some of
the general classification of data protection methods is:
Disk level data protection: This is one of the old practice of protecting data. But still
very significant. In this data is protected on disk level.
Backup/replicated backup: After fixed intervals of time, all the data should be backed
up. So that in case of any destruction or server down the can be recovered from the
backup as soon as possible.
Data replication: Idea of Data replication has been existed for various years. Data
stored in one resource automatically get stored to the secondary storage via software.
Journaled/checkpoint based replication: Add checkpoints to the data. So that in case
of data lost it can be recovered and read from the replicated copy and checkpoints will
make this process easier.
8.7 User Account and Service Hijacking
8.7.1 A Definition of Cloud Account Hijacking
Cloud account hijacking is an attack in which some malicious user can steal the ID and
password of an authorized user of the cloud. This stolen ID and password can be used to
perform illegal activities. This hijacking of account can be done from the employees PC or
can also be possible from outside the office using network.
8.7.2 Cloud Hijacking Risks
In past few years it has been calculated through various surveys that risk of cloud account
hijacking is increasing with every day. The level of risk depends that the unauthorized user
steals which type of data. If the malicious attacker steals the data which is very confidential
to a company then company’s prestige will be at risk. On the other hand loss in terms of
money can also occur.
8.7.3 Be Proactive When Selecting Cloud Service Providers
120
When a client decides to keep their data on the cloud, a brief background of the service
provider should be checked. So that a client should be aware of high times and low times of
the service provider. Therefore, a trust can be established in this way between both the
parties.
8.8 Steps to Reduce Cloud Security Breaches
Following are the steps to minimize the breaches in cloud security:
People who are accessing the network should be authorized.
Restriction of the view of software should be there. It should be watched carefully
that the customer is using only those applications to which he is authorized.
All the software which is being used on the cloud should be authenticated. A list of all
the running software should be manages properly.
Formalize the procedure of asking for consent to get to information or application.
Monitor all network activity and log all unusual activity.
All the activities should be logged. The traffic in the network should be watched
carefully, so in case of unusual traffic or any kind of malicious activity suspected a
strict action should be taken immediately.
Encrypt all the data which travels to and for from the cloud, so that in case of
information loss nobody can actually understand what is data about.
Regularly check the system for vulnerabilities in all software presented to the Internet
or any outside client
It might sound very easy but actually implementing all these rules is quite a cumbersome task
for any cloud service provider.
8.9 Enhancing Cloud Security
There are straightforward, powerful steps organizations and associations can take to keep
their information secure on the cloud. Make certain to:
Check with your service supplier to ensure they have directed personal investigations
on representatives who have physical access to the servers in their server room.
Have a solid technique for validation for cloud application client
Make sure that the greater part of your information is safely replicated if your
information is lost in the cloud
Restrict the IP addresses permitted to get to cloud applications. Some cloud
applications give devices to indicate suitable IP ranges, constraining clients to get to
the application just through corporate networks or VPN
121
Require multi-variable verification. A few interfaces exist that oblige clients to enter
static passwords and also dynamic one-time passwords, which can be conveyed
through SMS, equipment tokens, biometrics, or different plan
Encrypt all the data which travels to and for from the cloud, so that in case of
information loss nobody can actually understand what is data about.
8.10 Identity Management
Cloud computing has a lot of benefits. This concept and technology of cloud computing is
very agile and adaptable and also very important to reach the market among the customers.
It has been observed that in past few years a number of users have accessed the cloud
authorized by their identities. A user can do many things on the cloud such as accessing
information of the cloud, online shoping etc.
Greater Need for Identity Management
As far as security, identity management in cloud computing is one range that will require
expanded consideration if those advantages are to be completely figured it out. Keeping in
mind the end goal to give safe access to data and assets to every one of the individuals who
need it, companies should deliberately screen which clients are getting to what resources to
guarantee that they are getting to the resources that they require in a suitable way.
8.11 Summary
A cloud has all the data of various organisations. But the question is , Is all the data over the
cloud safe? The answer is no. Therefore, to secure a cloud we have to take some measures.
As before installing a cloud a blue print for that is made. In the same way, for securing a
cloud as well a blue print is made. There are various security breaches in a cloud. Data can be
lost from outside the organisation and it can also be stolen from inside the organisation.
Therefore different measures have to be taken to save the data from outsiders and insiders as
well. One of the new security issues is service hijacking. For controlling service hijacking
identity has to managed by the organization. There it can be concluded that keeping data on
the cloud may be somehow an easy task. But the challenge is securing and managing this
data.
Check your progress/ Self assessment question
Q4) How data can be lost?
Q5) Define security hijacking.
122
8.12 Glossary Cloud Computing Architecture- A cloud computing reference architecture is used as a map
for implementing the cloud services.
Cloud account hijacking- It is an attack in which some malicious user can steal the ID and
password of an authorized user of the cloud.
8.13 Answers to check your progress/ self assessment questions
1. Cloud Consumer, Cloud Provider, Cloud Broker, Cloud Auditor and Cloud Carrier.
2. False
3.True
4. Data Destruction, Data Corruption and Unauthorized Data.
5. Cloud account hijacking is an attack in which some malicious user can steal the ID and
password of an authorized user of the cloud. This stolen ID and password can be used to
perform illegal activities.
8.14 Reference/ Suggested Readings
4. Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, Inc., Indianapolis, Indiana.
5. Cloud Architecture Patterns, Bill Wilder, O’ Reilly Media.
6. Cloud Computing, Pritam Dey.
8.15 Model Questions
Q1) Explain cloud security reference model in detail. Also mention various goals for security.
Q2) Mention various security risks of cloud and explain how precautions can be taken against
these risks.
Q3) What is user account and service hijacking. What are its danger and how i can affect
different persons present in a cloud environment?
Q4) What is identity management? How identity is managed in cloud?
123
Chapter-9 Cloud Computing Platforms
9.0 Objective 9.1 Introduction 9.2 Common Building Blocks of Cloud Computing Platform 9.3 IBM Smart Cloud
9.3.1 Features provided by IBM CCRA 9.4 Amazon Web Services
9.4.1 Amazon Web Service Components and Services 9.5 Google Cloud Platform 9.6 Windows Azure Platform 9.7 A Comparison of Cloud Computing Platforms 9.8 Summary 9.9 Glossary 9.10 Answers to check your progress/ self assessment questions 9.11 Reference/ Suggested Readings 9.12 Model Questions
9.0 Objective After studying this lesson the student will able to:
Understand what a cloud platform is made up of.
Understand the architecture of IBM platform.
Understand the architecture of Amazon Web services.
Understand the architecture of Google Cloud Platform.
Understand the architecture of Windows Azure Platform.
Compare the various architectures.
9.1 Introduction Cloud Computing is a revolutionary concept in the industry today. The concept which has
taken cloud computing to the next level is cloud computing platform. On cloud platform a
developer can write any application and can upload it and at the same time a user can use any
service by just paying for it. Various platforms which are popular now are on-demand
platform and platform as a service.
Today the concept of cloud platform is important because using any platform makes it
simple for rest of the users to use that application. If a developer develops an application
which is on-premise only then only the users present in that organization can use it and enjoy
its services. Now, if other organization wants the same software then it will develop that
same software all over again. But think of sharing that software on any platform, this would
124
save the time to develop same software all over again. Therefore these platforms have really
brought the revolution in the industry of software.
If platforms and sharing of software like that were not there then the cloud application
would not have been developed so far as it has today.
9.2 Common Building Blocks of Cloud Computing Platform
There are number of services which a cloud can provide. These services are divided into three
general categories those are:
Software as a Service: This type of cloud service is quite interesting. In this type of
service the customers need not to install the software on their machines. They can
login to the cloud and use the software installed over there. For this a user or a
customer has to pay for the services which are being used. In this there is no need for
the customer to buy any kind of license for the software being used. All the
responsibilities are of vendor who is providing the service.
Attached Services: All the on-premise services are very useful. These services can be
used by just having a browser or a simple application. These on-premise services act
as desktop applications but these services can also be attached with some additional
services. One of the examples of this kind of service is “Apple iTunes”. This is a
desktop application where a apple user can listen songs and additionally can also
download the audio songs and video contents.
Cloud Platforms: These are the services whose end users are not customers rather they
are developers. In this category some services like SaaS, IaaS or PaaS are developed
and later developers can use it or can enhance the service to next level.
Further, the basic building blocks in a cloud computing environment can be classified into
three parts:
A foundation: Almost every application use some platform software on the machine it
keeps running on. This commonly incorporates different functions, for example,
inbuilt libraries, database for storage, and a user interface or an operating system.
A group of infrastructure services: In a current distributed environment, applications
oftentimes use fundamental administrations gave on different PCs. It's regular to give
remote storage, for instance, integration benefits, a identity management, and that's
just the beginning
A set of application services: As more applications get to be service oriented, the
capacities they offer get to be open to new applications. Even however these
125
applications exist fundamentally to give services to end clients, this likewise makes
them a player in the application platform.
Fig 9.1: Basic building blocks of cloud platform
9.3 IBM Smart Cloud
The data in the IT industries and all other fields is increasing at a rapid growth. Therefore, a
strong architectural design is required to handle this data and response to the customers also
needs to be very fast in comparison to the other competitors.
IBM smart cloud is an example of this strong architectural design. IBM smart cloud
has following characteristics which are important in industries:
IBM smart cloud has a robust infrastructure which leads to very high availability to
the clients.
IBM smart cloud has fully fledged business and operation architecture.
IBM smart cloud has high tech management facilities this result in secure access and
high scalability and many more features.
IBM CCRA (Cloud Computing Reference Architecture) is an architectural design that gives
all the solutions to the problems in cloud computing. This model is an implementation of the
services given by the cloud computing to their customers. IBM CCRA is created to offer
126
answer for the cloud designs these are additionally know as cloud adoption patterns.
Basically IBM classified the adoption patterns into 4 types:
Cloud Service Provider: This adoption pattern shows that how the cloud services will
be provided to the service users or the clients. It includes all the terms and conditions
which a vendor would set while providing the services. It also contains the
information of services in an organized form which are to be provided to the
customers.
Infrastructure as a Service (IaaS): In this adoption pattern all the core infrastructure
which are to be used in cloud computing environment are defined. It also defines all
the operations performed by the IaaS and gives a detail about the IaaS services.
Infrastructure services may also include the details of hardware used in the cloud
computing environment.
Platform as a Service (PaaS): This adoption pattern gives the description of PaaS
environment used in cloud computing environment. These services are useful to a
client in the form they can build, test and deploy various cloud services. Two types of
PaaS services are:
PaaS provides the services to the customers to develop the applications used in
SaaS environment. In this service using the platforms provided by Pass
customers can develop the application.
Another service which a PaaS environment can provide is to let customers
deploy their application runtime over the cloud.
Business Process as Service: This service provides a platform to implement various
business functionalities such as payroll, timesheet and tax benefits.
Software as a Service (SaaS): This is a adoption pattern which provides a description
of SaaS environment, which may include the software over the cloud.
Figure 9.2 shows the IBM CCRA for cloud service provider adoption pattern.
127
Fig 9.2: Component Model for IBM CCRA Service Provider Adoption Pattern
This component model enables the cloud computing to give solution of every business and
other queries to the customers. Further if any changes to the services of the cloud is needed
then it can be done by adding additional component to the CCRA model.
9.3.1 Features provided by IBM CCRA are as follows:
Access Capabilities: There are number of points to access data from the cloud.
Therefore, the service provider should make sure that these access points should be
secure and properly authorized. So that no malicious user can take advantage of the
data. IBM CCRA has a five access points. All of the access points are made secure
and are also properly authorized and authenticated. Five access points are Customer
management, Storefront, Customer access, Partner management and Provider
management.
Support System Capabilities: These capabilities include all the business and
operational capabilities. They help in managing the critical applications of business
and operational environment.
Shared System Capabilities: These abilities guarantee security, accessibility and
execution of the cloud. Various types of shared system capabilities are External
access security, Internal access security, Service security, Availability, Performance
and Governance.
128
High Availability: This provides the high availability to both the ends where
interaction is going on. It also includes redirection of traffic, resumption of load after
recovery etc.
Interoperability: This makes interaction between both the parties i.e. user and the
provider. Most of the interaction between user and the provider are on Internet
Protocol.
9.4 Amazon Web Services Amazon is one of the websites which has maximum traffic all around the world. To manage
this peak time traffic of website Amazon various servers need to be installed at the same
time. Amazon.com was established in year 2006, it used to give web services to the user
which the basis of usage. The web service which Amazon provides is based on the Service
Oriented Architecture. To control or manage the traffic over the website Amazon has created
a lot of private virtual servers, which can be achieved by hardware virtualization on the Xen
hypervisor.
Amazon web services are built on the concept of Service Oriented Architecture. In
this architecture a user only pay for what it is using. This AWS is best in showing center of
cloud computing and about how virtual framework can be best taken advantage of.
Amazon.com is the world's biggest online retailer with net deals in $24.51 billion, as
indicated by their 2009 yearly report. To backing this business, Amazon.com has constructed
a gigantic system of IT frameworks to bolster normal, as well as crest client requests.
Amazon Web Services (AWS) takes what is basically unused framework limit on
Amazon.com's system and convert it into an outstanding productive business. Figure 9.3
demonstrates the Amazon Web Administrations home page
Check your Progress/ Self assessment questions
Q1) List various service by cloud platform.
Q2) Which feature of IBM cloud make it different from other clod platform?
Q3) If you are installing a cloud for business. Which cloud would you prefer?
129
Fig 9.3: Amazon Web Services Home Page
AWS is having gigantic effect in cloud computing. Actually, Amazon.com's organisations are
the biggest Infrastructure as a Service (IAAS) play in the commercial center today. It is
additionally one of the best illustrations of what is conceivable utilizing a Service Oriented
Architecture. The blueprint of Amazon.com's Amazon Web Services (AWS) is in this
manner exceptionally instructive in seeing exactly how problematic cloud computing can be
to customary altered resource IT organizations, how virtualization empowers an adaptable
way to deal with framework rightsizing, and how scattered frameworks can grant
dependability to mission critical systems.
9.4.1 Amazon Web Service Components and Services
Amazon Elastic Compute Cloud: This is the main application in AWS. This helps in
creation, use and managing the virtual machines which are implemented on various
operating systems.
Amazon Simple Queue Service: This is a queue for the messages which is
implemented in distributed systems which are based on internet.
130
Amazon Simple Notification Service: is a Web administration that can distribute
messages from an application and convey them to different applications or to
endorsers.SNS gives a strategy to activating activities, permitting customers or
applications to subscribe to data (like RSS), or surveying for new or changed data or
perform updates.
Amazon Simple Storage System: This is a backup system for cloud system which is
online so that everyone access it when required.
Amazon Elastic Block Store: This iis a system which creates the blocks and virtual
disks to store the data which is in tremendous amount.
Amazon Simple DB: This is the database used by the AWS, it is used to store the data
in a structured form and index the data so that queries can be successfully
implemented.
Amazon Relational Database Service: This service allows you to create a system
which is exactly like MySQL. This system helps to store the data properly and to
retrieve the data more functionally and faster when required.
Amazon Cloudfront: is an edge-stockpiling or content conveyance system that stores
information in various physical areas with the goal that client access to information is
upgraded through quicker information transfer speeds and lower latency. Cloudfront
is similar to infrastructures, such as, Akamai.com, but also it is strict to Amazon.com
and programmed up to work with Amazon Simple Storage Framework (Amazon S3).
Cloudfront is as of now in beta, yet has been generally welcomed in the trade press.
9.5 Google Cloud Platform
Google cloud platform is a platform which gives the user a special benefit to store the data
over the cloud. Although it is usual that user stores their data on computer systems. But when
your data grows really big then it will be problem to store it in the local computers. Therefore
in this situation data can be stored over the Google cloud. This cloud not only keeps your data
safe on the cloud. But also retrieve your data to you with rapid access and fast response time.
This is only possible due to the high speed network which Google cloud is using. Another
benefit with Google cloud is you pay for what you use there is no initial cost of using it.
Below in the figure 9.4 are shown some of the options for storing your data on the cloud
given by the cloud platform.
131
Fig 9.4: Options to store data over Google cloud platform
Google Drive: Google Drive empowers clients to get to and deal with all their
document content in the Google's cloud and have it open from anyplace. While
Google Drive gives an API for transferring documents and for seeking also,
recovering put away things, the UI is planned to be the essential system for
cooperation. On the off chance that your application is working with documents that
have verifiably been stored locally on a client's PC or telephone, Google Drive is a
better alternative.
Google Cloud Storage: It is an administration for putting away and getting to
information in Google's cloud. It is essentially proposed for automatic use inside of
applications. It has an intelligent UI, which is useful for finding out about the item,
how to utilize it, and rapidly transferring or erasing content.
132
Fig 9.5: A snapshot for Goole Drive start up page
Google Cloud Storage offers direct access to Google's adaptable storage and
organizing framework, and in addition capable verification and information sharing
systems. It lets you store documents of any size and oversee access to your
information on an individual or sharing premise. Information put away in Google
Cloud Storage can be assigned as open or private. Open information can be shared.
Getting Started with Google BigQuery with anybody, empowering you to utilize
Google Cloud Storage as a conductor to making chose parts of your information
accessible outside your organization.
Fig 9.6: Google Cloud Storage
133
Google Cloud SQL: Google Cloud SQL permits you to make, arrange, and utilize
MySQL databases that live in Google's cloud. It is a completely overseen service that
looks after, oversees, and directs your databases. Google Cloud SQL is principally
planned for automatic use inside of applications. It has an intuitive UI, which is useful
for finding out about the item, beginning utilizing it, examining the outline, and firing
random queries. MySQL is a full relational database framework that backings full
SQL sentence structure and table administration apparatuses. Google Cloud SQL
bolsters a subset of MySQL, which incorporates the greater part of the components of
MySQL.
Fig 9.7: Google Cloud SQL
Google BigQuery: Google BigQuery Service is an enormously parallel query
datastore that permits you to run SQL-like inquiries against huge datasets, with
conceivably billions of columns, in a matter of seconds. It is fundamentally planned
for automatic use applications present within. It gives an intuitive UI, which is useful
for finding out about the item and running interactive queries. BigQuery depends on
one of Google's core technologies, and has been utilized inside by Google for
different logical errands since 2006. BigQuery bolsters examination of datasets up to
many terabytes. To utilize BigQuery, you transfer your information into BigQuery
and afterward you can inquiry it intuitively or automatically. You can query freely
134
accessible datasets and additionally datasets that other individuals have imparted to
you.
Fig 9.8 Using BigQuery UI to upload data
Google App Engine: It provides Platform as a Service. Anyone can deploy their
application using Google App Engine. It provides platforms like Java and Python for
application development. It has the full SDK kit to develop any kind of application
Google Compute Engine: This provides Infrastructure as a Service. It runs
applications on the linux virtual machines which are hosted over the infrastructure of
Google.
9.6 Windows Azure Platform
Windows Azure Platform is an operating system of Microsoft cloud. Microsoft has a very
vast infrastructure for cloud. Microsoft approach is to not only develop cloud application as
software but also as a service provider.
Azure acts as Infrastructure as a Service for Microsoft web hosting services. Also, if
all the features are combined then Window Azure Platform is also called as Software as a
Service. Half of the people call azure Infrastructure as a Service and rest half may call it
Software as a Service. But fortunately, both of them are correct in one manner or another.
Both AWS and Google’s cloud are competitors of Azure. AWS is a competitor of Azure (the
service) and Google’s cloud is a competitor of Windows Azure Platform.
A developer can take benefits of Azure Platform by logging into the Azure home page
after clicking onto the sign up now button. Developer can create an account by supplying the
Window ID and create a host account.
135
Fig 9.9 Window Azure Platform Further, Microsoft has a different school of thought than both AWS and Google App Engine.
Amazon’s AWS is a purely Infrastructure as a Service. It will rent you the infrastructure and
you can use if freely. On the other hand Google’s GAE provides the services as Platform as a
Service. It will provide the developers a platform to develop applications most frequently on
the technologies like Java and Python.
Microsoft sees the cloud just like a complimentary stage to its various platforms. The
organization visualizes a situation where a Microsoft designer with an interest in an
application needs to expand that application's accessibility to the cloud. Maybe the
application keeps running on a server, desktop, or versatile gadget running some type of
Windows. Microsoft calls this methodology software plus services.
With Azure's construction modelling, an application can run privately, keep running
in the cloud, or some mix of both. Applications on Azure can be keep running as
applications, as background processes or services, or as both. The Windows Azure
administration itself is a cloud-based working framework with a fabric base of virtual
machines facilitated in Microsoft data centers.
Six main elements of Window Azure System are:
Application: This is the instance for run time application which is being run in the
cloud.
136
Compute: This is for balancing the load of Windows server computation and strategy
engine that permits you to make and oversee virtual machines that serve either in a
Web part and a Worker part.
Storage: Azure has a non relational storage system. It allows user to save the data,
manage it and can retrieve it later.
Fabric: This is the hypervisor of Window Azure Platform.
Config: This is a management service.
Virtual Machines: These are the machines which help in deployment of various
services.
9.7 A Comparison of Cloud Computing Platforms
Amazon platform is best suited when:
At the point when one needs a considerable measure of CPU force at eccentric
times, what's more, would prefer not to really store anything that is for high-
request web applications with numerous a great many clients, this platform is
most appropriate.
It has been found that on account of its versatility, adaptability furthermore,
adaptability, it is suited for interactive media preparing applications and
additionally parallel handling applications. The shopper industry of AWS itself
says it. Normal commercial enterprises right now utilizing AWS include: Federal
Government , Game Facilitating, Life Sciences, Media and Entertainment
For tolerably trafficked site, EC2 really costs more. Yet, EC2 doesn't accompany
the amicable control boards and simple site-administration devices that mutual
hosts have. You would likewise need to buy additional programming, download
an API usage.
Microsoft Azure is the platform which is best suited when:
When you need Paas with every one of the benefits of cloud computing that is
adaptability, flexibility and productive parallelism, Azure is the best alternative.
When money is no problem at all.
When .NET environment is the preferable one.
When you need to ensure that you can never utilize any non-Microsoft
technologies.
Google App Engine platform is best suited when:
At the point when one needs just constrained access to the basic operating system.
137
When application to be written is only allowed to be written in either Python or
Java.
When money is a problem and the user wants to spend less money.
This platform is not a good option when applications you are running require the
environment of parallel processing.
Google Apps
Best freeware for the functionalities such as Communication (Online Meetings,
Real-time archive altering/seeing, Data Collection-Forms and Spreadsheets),
Personal Administration (Integrated Tasks-Email, Calendar), Collaboration
(Intranet Sites-Projects/Teams, Company Info, Customer Entryways Secure,
Flexible)
Best to be incorporated in vast colleges or scholarly organizations at free of
expense for predetermined number of clients.
9.8 Summary
Cloud computing is a concept which can provide us three kinds of services i.e. IaaS, PaaS
and SaaS. Cloud computing has various platforms which are Amazon Web service, Google
cloud, Windows azure cloud and IBM smart cloud. Although every cloud is a successful
implementation and are being used worldwide. But still there are some situations where a
particular cloud fits on. Suppose if a fast response to the user is requires than IBM smart
cloud cloud is considered the best. For business purpose also IBM smart cloud is best suited.
Further, if number of clients who are using the cloud platform are very large then amazon
cloud platform is considered to be the best. In the same way, when money is not a problem
means all you want a reliable service and there is no need to think about expenditure then
Microsoft azure cloud is the best suited one. On the other hand if you want that everything
should be in budget means money consideration is important than Google cloud is the best
Check your progress/ Self assessment questions
Q4) All the cloud follow the service of what you use pay for that. True or
False.
Q5) What service window azure platform provides?
Q6) If more versatility and adaptability is needed then which cloud
platform would you prefer.
138
one. All these clouds provides the services like IaaS, PaaS and SaaS. A user can choose the
cloud according to the service it wants.
9.9 Glossary
IBM smart cloud- IBM smart cloud has a robust infrastructure which leads to very high
availability to the clients.
Windows Azure Platform- Windows Azure Platform is an operating system of Microsoft
cloud.
IaaS- Infrastructure as a Service
PaaS- Platform as a Service
SaaS- Software as a Service
Amazon Cloudfront: is an edge-stockpiling or content conveyance system that stores
information in various physical areas with the goal that client access to information is
upgraded through quicker information transfer speeds and lower latency.
9.10 Answers to check your progress/ self assessment questions
1. IaaS, PaaS and SaaS
2. Fast response to user.
3. IBM smart cloud.
4. True.
5. IaaS and SaaS.
6. Amazon Cloud.
9.11 Reference/ Suggested Readings
7. Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, Inc., Indianapolis, Indiana.
8. Cloud Architecture Patterns, Bill Wilder, O’ Reilly Media.
9. Cloud Computing, Pritam Dey.
9.12 Model Questions
Q1) Explain various building blocks of cloud computing platform.
Q2) Explain IBM smart cloud. What are its features and its limitations?
Q3) Explain AWS. What services it use? How it is differ from IBM cloud platform?
Q4) Give brief introduction of Windows Azure Platform.
Q5) Compare various platforms of cloud.
139
Chapter-10 Cloud computing and Integration of technologies
10.0 Objective 10.1 Introduction 10.2 Cloud Computing and mobile ad hoc networks
10.2.1 Vehicular Ad hoc Networks (VANETs) 10.3 Cloud Computing and Mobile devices
10.3.1 Feature Phones and Cloud Computing 10.3.2 Smart Phones and Cloud Computing
10.4 Summary 10.5 Glossary 10.6 Answers to check your progress/ self assessment questions 10.7 Reference/ Suggested Readings 10.8 Model Questions
10.0 Objective After studying this lesson the student will be able to:
Understand about ad hoc networks
Integrate an ad hoc network with a cloud
Understand about various types of mobile phone
Implement integration of cloud and ad hoc in real time traffic control
10.1 Introduction
The very new and versatile concept of cloud computing enables users and provides facility to
the companies to share the computing resources and the storage resources instead of working
on local or personal devices of their own. These computing features help to create a cloud
network which completely acts as mobile cloud network.
A mobile ad hoc network (MANET) is a self-designing network of cell phones joined
by remote connections. Every gadget in a MANET is allowed to move autonomously in any
bearing and will in this way much of the time change its connections to different gadgets.
Every gadget must forward movement random to its own particular use and consequently
could go about as a router.
An ad hoc network is a type of network which is made spontaneously. Whenever an
ad hoc network is created it is always created spontaneously and therefore it includes no
intervention of any person who is expert in this or no servers are required to make this
spontaneous network. This ad hoc network consists of several nodes which are present at
some same time and place so as to communicate with each other. For this kind of network
there is no boundaries on the nodes they can join the network and leave it according to their
choice. This concept of spontaneous network is a very versatile one. This spontaneous
140
network can be created when one node discovers another node near it and therefore network
is created immediately which is completely spontaneous and no human intervention required.
In mobile computing, there are some intrinsic issues, for example, asset lack,
continuous disengagements, and versatility that make misusing its maximum capacity
troublesome. Researchers propose to address these issues by executing versatile applications
on asset suppliers outside to the mobile devices. They give a broad review of portable cloud
computing research highlighting the inspiration for versatile distributed computing as the
predominant model for portable applications later on. On versatile cloud computing, gadgets
can go about as customers or asset suppliers. A few prerequisites, for example, flexibility,
versatility, accessibility, and mindfulness should be met in a cloud. They introduce a
scientific categorization of the issues found around there and the methodologies in which
these issues have been handled. They centred their study on operational level, end client
level, administration and application level, and security and setting mindfulness level. They
comment that albeit a hefty portion of the looked into systems specify the requirement for
security and trust, not very many of them have really executed it; they have left the usage for
future bearings.
In this sort of network, it is vital to decide the application in which the system will be
devoted to. As an element of this, factors, for example, size of the network, the kind of nodes,
the software applications, and the mutual services will be characterized. Another critical issue
is the routing protocols used to convey all hubs. The routing protocols utilized as a part of
spontaneous ad hoc and sensor wireless networks could be the same as consistent ones, so we
ought to consider the same imperatives, for example, bandwidth, vitality assets, data transfer
capacity, delay, hop count, and QoS. These elements will be influenced by issues, for
example, link stability or level of versatility in hubs, which, by one means or another, will
rely on upon the earth where the deployment of network has taken place.
It has been concluded over time that in spontaneous networks that there is a need of
improving the applications used in the spontaneous network due to the complexities of
spontaneous network management.
10.2 Cloud Computing and mobile ad hoc networks Ad hoc network or mobile ad hoc networks are frequently used in some areas for instance
military. But in real world the practice of mobile ad hoc networks are very rare. Also cloud
computing is an emerging technology of its features like scalability and various kinds of
services it provides such as IaaS, PaaS and SaaS.
141
Here, a model has been described which is for ad hoc network for mobile cloud
computing. The scenario being defined for the model has the following constraints:
Devices are mobile, they can move here and there in the area of range.
Every node present in the described network which will act as a router as well.
Every device or node present in the network will be differentiated by the IP addresses
assigned to them. Which will assigned by the network itself dynamically.
There is no centre for controlling things. Everything will be managed by the nodes
itself.
Devices are mobile they can join or leave a network according to their choice.
Nodes are responsible for providing the resources used in cloud computing network.
Whenever a new node joins the network, at first it broadcasts a hello packet to the nodes so as
to find the neighbours. For these kind of networks the discovery of efficient nodes which can
support the network well is really an important task. In accordance to these messages a nodes
will be able to find all its neighbours. When all the neighbours are discovered finally the node
will send the identity card to every neighbour. If the neighbour node who is receiving the
identity card send the message back to the node after verifying if the message that means
these two nodes are now trusted nodes. If in a network two nodes are trusted nodes then they
can send the messages directly to each other. On the other hand if two nodes are not trusted
then communication between them will not be possible. Further, in this system the
communication between two nodes is never commutative or associative. Means if node 1
trusts node 2 that doesn’t actually means that node 2 also trusts node 1. Further, if node1 and
node 2 both are trusted nodes and node 2 and node 3 are also trusted nodes, then this doesn’t
conclude that node 1 and node 3 are also trusted nodes. For this node 1 and node 3 have to
exchange their ID cards to exchange messages between them. If two untrusted nodes want to
exchange some messages between them, then it can be done by making a trusted node as
intermediate.
Therefore, the system will follow the following steps in a series:
Send the hello packet to all the nodes.
Send the identity card to all the nodes for trust making.
Receive a acknowledgment from the neighbours if the content of message is
correct and no acknowledgement will be sent if the content of message os not
correct.
142
Label the nodes on the basis of acknowledgement as trusted and non trusted
nodes.
This network is composed of two very important information, which are required to function
this network. Those are Identity card and the certificate. The identity card is composed of two
sections which are public and private. The public part consists of identity which makes every
node unique. It also contains the name of node, photograph and other fields to identify the
user uniquely. Further, it has the public key as well. On the other hand the private section has
the private key. All the fields of private part are not accessible by any node in the network.
They will remain private.
Trusted Network
The proposed model depends on the creation and administration of a trusted system. A node
will trust different nodes through individual perspective and criteria. That is, the trust
depends on the relationship of the clients instead of on a central certification authority. The
client of the gadget will distinguish alternate clients and will be accountable for setting up a
trust esteem (0 or 1) connected with every one of them. The parameters utilized for designing
this trust system are trust and legitimacy.
Trust alludes to the every person who affirm the key and its worth will be set up by
the relationship between the client that concedes it and the client that is allowed. It ought to
be conceded to dependable persons when their IDCs are traded. The trust can simply be
changed physically by the client later. Legitimacy shows that an endorsement has a place
with that individual/node.
Certification Authority The certification authority of a node is the node in which the number of nodes that this node
trusts. This framework lets us fabricate a disseminated affirmation power between trusted
nodes. At the point when a node needs to speak with different nodes and check whether it is a
legitimate node, it can ask for the testament of that node to its trusted nodes. Subsequent to
acquiring this testament, it will have the capacity to sign this node as a substantial node. All
nodes can be both, customer, asking for data or verification to different nodes, and server,
serving demands for data or validation from different nodes. Figure 1 demonstrates a sample.
Every node has its open key () and it private key () node 2 and 4 are trust nodes of node 1, yet
not of hub 3. In this way, hubs 2 and 4 could go about as an accreditation power of node 1.
143
Fig 10.1: Example of trusted nodes
10.2.1 Vehicular Ad hoc Networks (VANETs)
This network is an example of integration of cloud computing and ad hoc networks. This
VANET is somehow different from the ad hoc networks. As it include the not only ad hoc
networks but also wireless LAN and cellular technology. VANET can work by exchanging
messages between vehicle to vehicle and also between vehicles to infrastructure.
Fig 10.2: VANET architecture
The idea of cloud computing began from the from the thought that as opposed to putting
resources into framework, organizations might think that it’s will be useful to give the
144
infrastructure and when the software is required to run their applications. One noteworthy
point of preference of cloud computing is its adaptable access to computing resources. With
cloud processing designers needn't bother with extensive capital expenses in equipment to
send their service for web applications. Keeping the advantage of cloud computing, the
thought of Vehicular Cloud (V-Cloud) comes into light
Modern cars have all the facilities which can connect them to the internet. These cars
can actually sense the information and using internet can also take actions appropriately.
Therefore, all these mobile devices or cars act as a computer itself. Therefore, by combining
all of them to the cloud we can share the information and this scenario can be used in
controlling the traffic.
Cloud computing can give benefits in VANET by giving two services, one is NaaS
(Network as a Service) and another is SaaS (Storage as a Service). In SaaS also called
Storage as a Service if a vehicle is having ample amount of storage capacity, then it can share
it with other vehicles through cloud. There are lots of moving vehicles on the road, it is not
necessary that all the vehicles are having internet access. In such case vehicles which are
having internet access can share this with other vehicles on the road with the help cloud. The
car having internet access will share the internet through the cloud and will search the
vehicles running near its range of network. In this example the use of NaaS is prioritized.
For implementing this system every vehicle on the road is given with a wireless
device attached to it. The only fixed part in this network is the base stations. All the moving
vehicles will connect to the network using these fixed base stations. Suppose of at some time
situation arises that no base station is nearby to the vehicle. This situation will not at all create
a problem because all the vehicles are connected with each other. Therefore a vehicle which
is connected and is near to the base station can provide service to the vehicle which is not
connected through the service V2V network.
This V2V network will help in reducing the traffic over the road. Suppose if a car is
stuck in between the traffic jam, then this car will send a message to the nearest car through a
V2V network. This car will further send the message to the nearest base station. This will
result in rescheduling the traffic lights and resulting in less traffic on the roads. Further, the
cars will also send messages to the car behind it through V2V network. This can inform the
rear that at what distance it is present and what should be the speed. This process facilitates
the traffic police in limiting the speed of the cars so as to prevent accidents. Also, traffic
police can take advantage of this for taking legal actions and finding the faulty person on the
road.
145
All the cars on the road are connected with internet connection. All the devices are
also attached with a wireless device. This is quite obvious that every device or vehicle will be
having a unique IP address. Therefore, if any vehicle is making lot of pollution then through
internet connection the IP address of that vehicle will be uploaded to the cloud automatically
and appropriate actions can be taken by the traffic police. This internet connection also helps
in the functionality of GPS systems and many other applications which can function only on
internet.
It can also be seen as, if a traffic jam occurs somewhere then instead of getting stuck
in that traffic a vehicle can update the status of traffic jam on the cloud. Therefore, the
appropriate action can be taken by rescheduling the cloud.
This system works in a very simple way. All the vehicles present on the road will
make various clusters according to their location. Every cluster which is formed will be
having a cluster head. This cluster head is responsible for sending the messages to other
clusters and also for updating any information on the cloud. This cluster head will also find
the base station near the location so that a connection with rest of the devices can be made.
Further a V-cloud can provide three kinds of services i.e. IaaS, Paas and SaaS. All the
messages and information are send through the IaaS infrastructure to the SaaS infrastructure
via PaaS.
Fig 10.3: Implementation of cloud as VANET
SaaS
PaaS
IaaS
Information
from wireless
network
Information
from
Electronic
Equipments
Vehicle
146
10.3 Cloud Computing and Mobile devices
Cloud computing and mobile devices have a great impact on each other. Both these
technologies i.e. cloud computing and mobile technologies are integrated to provide the
service to the users with internet and many other services everywhere. A mobile device can
be a smart phone or can also be a featured device. Smart phone is assembled such has it has
already some built in applications which are deployed in the cloud. Also, it can have
applications which are made according to the mobile phone so that less consumption of
internet occurs. In smart phone some applications are also there which actually run on the
cloud but their display is on the user’s mobile screen.
Mobile cloud computing is a concept which is on fire now a days. Mobile devices
such as mobile phones have leaded the concept of cloud computing to a different path. Cloud
computing itself is a very vast concept and merging it with mobile devices will take it to
different heights. There are number of mobile devices which are present in a locality or near a
network. All these devices can be connected using an ad hoc network. The main issue of
mobile cloud computing is how these large number of nodes should remain connected. Also
another issue is how it is made possible to give the fast service and reliable network to
various nodes connecting in a network.
Generally, there are two types of mobile phone present. One is featured phone and
another one is smart phone.
10.3.1 Feature Phones and Cloud Computing
It is a type of phone which was more popular in 90’s. Feature phones are the phone having no
internet connections and graphics of the screen are quite poor in comparison to any smart
phone. These phones are more like text types they don’t support the graphics much as like
any other smart phone. In 90’s it was calculated that about 83% of the US market is using
these feature phone. These feature phones had many features such as long battery life, fast
processing, cheap and very easy to use interfaces. But over time smart phone with their
Check your progress/ Self assessment questions
Q1) State true or false
a)Ad hoc networks consist of mobile nodes.
b)Ad hoc networks are frequently used and easy to make.
c) For communication between two nodes in ad hoc network there is no need of
trust establishment.
147
functionalities like good graphics, connection with internet took over the market of feature
phones. Although with lots of features in smart phone, initially smart phones were expensive.
But over time smart phone got cheaper than it was expected. Therefore, to keep feature phone
in the market, very light operating systems were developed. So that feature phone can be
connected to the cloud. By connecting a feature phone with the cloud a user can use
applications like Google, Facebook and Gmail. All these applications are very light weight
and any feature phone having light weight operating system can handle it at ease.
Therefore, it can be said that smart phone are getting cheaper with every new day.
Therefore taking away the market for feature phone. Feature phone can again be get into the
market by installing a light weight operating system into it. After that the mobile will act as
mobile screen only and the processing and application will run on cloud.
10.3.2 Smart Phones and Cloud Computing
A smart phone is a device which has a processor, a ram, a touch screen, a screen with good
quality graphics, has the facility of sending messages, has the ability to make calls, and has
the ability to connect to a cloud. In short it can be said that a smart phone is a device which is
a total computer with an extra feature of making calls and sending messages.
A smart phone itself is complete device that can perform any task. But what if, a
smart phone is integrated with cloud. In this case actually there will be no need of any
computation power or any processing device. If a smart phone is integrated with a cloud then
all a user need is a high bandwidth network and HD display screen. Smart phones have made
their place in the market over feature phones by taking into account that applications attract
customers. Therefore below mention are some stores of various companies which provides a
pool for applications:
Android: Android is the cell phone working framework initially created by Android
Inc., obtained and advance created by Google, and bolstered by the business working
gathering called the Open Handset Alliance. Android depends on Linux what's more,
GNU programming. The product is authorized to OEMs under the Apache permit.
The present adaptation of the OS is 2.2 and is called Marshmallow.
Apple iPhone: The Apple iPhone is considered by numerous individuals to be the
main Internet-empowered cell phone in the advertisement today. The original of the
iPhone running the iPhone OS showed up in January 2007, and in each ensuing year,
Apple has discharged a cutting edge model. You can see a rundown of iOS gadgets at
148
http://en.wikipedia.org/wiki/List of BlackBerry items. The present era is the iPhone 6,
which runs the iOS working framework.
Research in Motion Blackberry: The Canadian organization Research In Motion
BlackBerry versatile email gadgets and cell phones are immensely prevalent with
numerous fans. BlackBerry possesses 21 percent of the world's cell phone market,
making it number 2 by and large. President Obama is a surely understood crackberry
someone who is addicted, as are numerous in government and expansive corporate
endeavors. A "crackberry" is somebody who is on their BlackBerry so much that it
influences their ordinary lives.
Symbian: Symbian alludes to the Symbian open-source working framework and the
Symbian stage that runs the working framework on highlight telephones and cell
phones made by different OEMs. Symbian is the main stage for mobile phones, with
41 percent of the world business sector, because of Nokia's predominance in the
business worldwide for such a large number of years. Nokia had an application store
10 years prior for its telephones, yet never augmented the idea.
Windows Mobile: Windows Mobile is the remainder of the four noteworthy cell
phone working frameworks that this part considers. The stage has experienced
ceaseless overhaul and corrections since it was initially presented in 2000 as the
Pocket PC 2000. The present variant of the working framework is Windows Mobile
6.5, with the new variant called Windows 8 slated to discharge about the time this
book shows up in the stores.
10.4 Summary
Cloud computing is a very vast concept. This concept has been used since last few years. Ad
hoc networks are being used even before the concept of cloud computing. In ad hoc networks
are the nodes are mobile nodes. This ad hoc network is made when number of mobile nodes
gathers in a particular place and they all are connected randomly with each other. These
mobile nodes need a base station which is the only fixed part in the whole network. All these
nodes are connected to each other via V2V network and nodes are connected to the base
station via V2I network. Therefore integration of this concept of ad hoc network with another
Check your progress/ Self assessment question
Q2) List the types of mobile phone available.
Q3) If a smart phone is collaborated with a cloud. What features you nedd for your smart phone.
149
vast concept i.e. cloud computing has solved a lot of problems in real time upto a great
extend. In real integration of these two concepts has solved the problems of traffic police in a
big way. As every vehicle is having a unique identity in the form of IP addresses they are
assigned. Therefore if any vehicle has any problem or any vehicle is breaking the traffic
rules, then IP address of that vehicle will be uploaded to the cloud automatically as all the
vehicles are connected with internet. After which action against that vehicle is taken
appropriately. Also this cloud can be integrated to the mobile devices such as mobile phones,
laptops, ipads as well. If these devices are integrated with the cloud than there is actually no
need of processing device inside the mobile devices. All you need id a HD display screen and
a network with high bandwidth. Therefore, it can be said that this concept of integration has
taken the technology altogether to a new level.
10.5 Glossary
Mobile ad hoc network- A mobile ad hoc network (MANET) is a self-designing network of
cell phones joined by remote connections.
VANET- This VANET is somehow different from the ad hoc networks. As it include the not
only ad hoc networks but also wireless LAN and cellular technology.
Featured Phone- Feature phones are the phone having no internet connections and graphics of
the screen are quite poor in comparison to any smart phone.
Smart Phone- A smart phone is a device which has a processor, a ram, a touch screen, a
screen with good quality graphics, has the facility of sending messages, has the ability to
make calls, and has the ability to connect to a cloud.
V2V- Vehicle to vehicle network
V2I- Vehicle to infrastructure
10.6 Answers to check your progress/ self assessment questions
1. a) True
b) False
c) False
2. Smart phone and Feature phones
3.HD display and high bandwidth network
10.7 Reference/ Suggested Readings
10. Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, Inc., Indianapolis, Indiana.
11. Cloud Architecture Patterns, Bill Wilder, O’ Reilly Media.
12. Cloud Computing, Pritam Dey.