155
Self Learning Material Cloud Computing (MCA-602) Course: Masters in Computer Applications Semester-VI Distance Education Programme I.K. Gujral Punjab Technical University Jalandhar

Self Learning Material Cloud Computing

  • 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.

150

10.8 Model Questions

Q1) What are ad hoc networks? Why they are not used frequently?

Q2) How ad hoc networks are integrated with cloud?

Q3) Give an example of integration of ad hoc network and cloud.

Q4) List the types of mobile devices available. Also explain their features.