0% found this document useful (0 votes)
42 views17 pages

Cloudcomputing Notes-1 (1) - 230710 - 201038

cloud computing

Uploaded by

Mahesh Bisoi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views17 pages

Cloudcomputing Notes-1 (1) - 230710 - 201038

cloud computing

Uploaded by

Mahesh Bisoi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

OVERVIEW OF THE

CHAPTER

1
COMPUTING PARADIGM

Automatic computing has changed the way humans can solve problems
and the different ways in which problems can be solved. Computing has
changed the perception and even the world more than any other innovation
in the recent past. Still, a lot of revolution is going to happen in computing.
Understanding computing provides deep insights and generates reasoning
in our minds about our universe.
Over the last couple of years, there has been an increased interest in
reducing computing processors’ powers. This chapter aims to understand
different distributed computing technologies like peer to peer, cluster, utility,
grid, cloud, fog and jungle computing, and make comparisons between them.

1.1 RECENT TRENDS IN DISTRIBUTED COMPUTING


A method of computer processing in which different parts of a program are
executed simultaneously on two or more computers that are communicating
with each other over a network is termed distributed computing. In dis-
tributed computing, the processing requires that a program be segmented
into sections that can run simultaneously; it is also required that the division
of the program should consider different environments on which the differ-
ent sections of the program will be executing. Three significant characteris-
tics of distributed systems are concurrency of components, lack of a global
clock and independent failure of components.
Dr. Bidush Kumar Sahoo
2 • CLOUD COMPUTING

A program that runs in a distributed system is called a distributed


program, and distributed programming is the process of writing such pro-
grams. Distributed computing also refers to solving computational problems
using the distributed systems. Distributed computing is a model in which
resources of a system are shared among multiple computers to improve effi-
ciency and performance as shown in Figure 1.1.

FIGURE 1.1 Workflow of distributed systems

A distributed computing system has the following characteristics:


🞍 It consists of several independent computers connected via a communi-
cation network.
🞍 The message is being exchanged over the network for communication.
🞍 Each computer has its own memory and clock and runs its own operat-
ing system.
🞍 Remote resources are accessed through the network.
Various classes of distributed computing are shown in Figure 1.2 and will be
discussed further in the subsequent sections.

FIGURE 1.2 Taxonomy of distributed computing

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 3

1.1.1 Peer to Peer Computing


When computers moved into mainstream use, personal computers (PCs)
were connected together through LANs (Local Area Networks) to central
servers. These central servers were much more powerful than the PCs, so
any large data processing can take place on these servers. PCs have now
become much more powerful, and capable enough to handle the data pro-
cessing locally rather than on central servers. Due to this, peer-to-peer (P2P)
computing can now occur when individual computers bypass central servers
to connect and collaborate directly with each other.
A peer is a computer that behaves as a client in the client/server model.
It also contains an additional layer of software that allows it to perform server
functions. The peer computer can respond to requests from other peers by
communicating a message over the network.
P2P computing refers to a class of systems and applications that employ
distributed resources to perform a critical function in a decentralized man-
ner. The resources encompass computing power, data (storage and content),
network bandwidth, and presence
(computers, humans and other
resources) [3]. P2P computing is a
network-based computing model
for applications where comput-
ers share resources and services
via direct exchange as shown in
Figure 1.3.
Technically, P2P provides the
opportunity to make use of vast
untapped resources that go unused FIGURE 1.3 Peer to peer network
without it. These resources include
processing power for large-scale computations and enormous storage poten-
tial. The P2P mechanism can also be used to eliminate the risk of a single
point of failure. When P2P is used within the enterprise, it may be able to
replace some costly data center functions with distributed services between
clients. Storage, for data retrieval and backup, can be placed on clients. P2P
applications build up functions such as storage, computations, messaging,
security, and file distribution through direct exchanges between peers.

1.1.2 Cluster Computing


Cluster computing consists of a collection of interconnected standalone
computers cooperatively working together as a single integrated comput-
ing resource to take advantage of the parallel processing power of those

Dr. Bidush Kumar Sahoo


4 • CLOUD COMPUTING

standalone computers. Computer clusters have each node set to carry out
the same tasks, controlled and scheduled by software. The components of
a cluster are connected to each other through fast local area networks as
shown in Figure 1.4. Clustered computer systems have proven to be effec-
tive in handling a heavy workload with large datasets. Deploying a cluster
increases performance and fault tolerance.

FIGURE 1.4 Cluster computing

Some major advantages of cluster computing are manageability, single


system image and high availability. In the cluster software is automatically
installed and configured, and the nodes of the cluster can be added and
managed easily. So, it is an open system that is very easy to deploy and cost-
effective to acquire and manage. Cluster computing contains some disad-
vantages also. It is hard to manage cluster computing without experience.
When the size of the cluster is large, it is difficult to find out if something
fails. Its programming environment is hard to be improved when software
on some node is different from the other.
The use of clusters as a computing platform is not just limited to scien-
tific and engineering applications; there are many business applications that
benefit from the use of clusters. This technology improves the performance
of applications by using parallel computing on different machines and also
enables the shared use of distributed resources.

1.1.3 Utility Computing


Utility computing is a service provisioning model in which a service provider
makes computing resources and infrastructure management available to the

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 5

customer as per the need, and charges them for specific usage rather than
a fixed rate. It has an advantage of being low cost with no initial setup cost
to afford the computer resources. This repackaging of computing services is
the foundation of the shift to on-demand computing, software as a service,
and cloud computing models.
The customers need not to buy all the hardware, software, and licenses
to do business. Instead, the customer relies on another party to provide these
services. Utility computing is one of the most popular IT service models pri-
marily because of the flexibility and economy it provides. This model is based
on that used by conventional utilities such as telephone services, electricity,
and gas. Customers have access to
a virtually unlimited supply of com-
puting solutions over the Internet
or a virtual private network (VPN),
which can be used whenever, wher-
ever required. The back-end infra-
structure and computing resources
management and delivery are gov-
erned by the provider. Utility com-
puting solutions can include virtual
software, virtual servers, virtual
storage, backup, and many more IT
solutions. Multiplexing, multitask-
ing, and virtual multitenancy have
brought us to the utility computing
business as shown in Figure 1.5. FIGURE 1.5 Utility computing

1.1.4 Grid Computing


A scientist studying proteins logs into a computer using an entire network of
computers to analyze data. A businessman accesses his company’s network
through a Personal Digital Assistant in order to forecast the future of a par-
ticular stock. An army official accesses and coordinates computer resources
on three different military networks to formulate a battle strategy. All these
scenarios have one thing in common: they rely on a concept called grid com-
puting. At its most basic level, grid computing is a computer network in
which each computer’s resources are shared with every other computer in
the system. Processing power, memory and data storage are all community
resources that authorized consumers can tap into and leverage for specific
tasks. A grid computing system can be as simple as a collection of similar
computers running on the same operating system or as complex as Internet
worked systems comprised of every computer platform you can think of.

Dr. Bidush Kumar Sahoo


6 • CLOUD COMPUTING

Grid computing is basically a way to execute jobs across a distributed set


of processors. Grid computing offers sharing of resources over geograph-
ically distributed locations. The collaborative nature of these grids leads
to the concept of virtual organizations consisting of a dynamic set of data
and resources to solve a specific task. The architecture of grid computing
is shown in Figure 1.6. Grid computing divides a large program into sub-
programs and assigns each sub-program to an individual processor. Each
processor now processes the sub-program and returns the end result. Even
if one processor fails, the result will not get affected because the task will
be reassigned to another processor. A variety of resources may be shared
including computers, storage devices, network, data, software, sensors, or
scientific instruments. Grid behaves like an independent entity and has
its own control and administration. Grids can further be categorized into
computational grids—these are grids that primarily focus on intensive and
complex computations and data grids—grids for management and control of
sharing of vast amounts of data.

FIGURE 1.6 Grid computing

One of the advantages of grid computing is that enterprises don’t need


to buy large servers for applications that can be split up and farmed out to
smaller commodity type servers. Secondly, it’s more efficient in the use of
resources. Grid environments are much more modular, and policies in the
grid can be managed by the grid software.

1.1.5 Cloud Computing


Cloud computing is a computing paradigm where computing is moved away
from personal computers or an individual application server to a cloud of

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 7

computers. Consumers of the cloud only need to be concerned with their


computing needs, as all the underlying details are hidden to the consumer.
Cloud computing provides a large pool of dynamically scalable and virtual
resources as a service on demand.
The services of a cloud are not limited to using web applications, but can
also be IT management services such as requesting software stack, system
or a specific web appliance. A cloud is a collection of resources that includes
storage, servers, databases, networks, software, etc. Thus, cloud computing
as shown in Figure 1.7 is the delivery of applications, infrastructure and plat-
forms as a service over the Internet. These applications are on a pay-per-use
basis and are accessible from the web browser and desktop with the cus-
tomers not worrying about the service providing system as well as where the
software and data are residing on the servers. There are a lot of reasons that
make cloud computing very popular, like it offers storage capacity beyond
the usual limit and lowers computer costs.

FIGURE 1.7 Cloud computing

1.1.6 Fog Computing


Fog computing or fogging is a distributed computing infrastructure in which
some application services are handled on a smart device, and some are han-
dled in a remote data center—on the cloud. The main objectives of fogging
are to improve computing efficiency and reduce the amount of data that
needs to be transferred to the cloud for storage, processing, and analysis.

Dr. Bidush Kumar Sahoo


8 • CLOUD COMPUTING

FIGURE 1.8 Fog computing

In a fog computing environment as shown in Figure 1.8, the major pro-


cessing takes place in a data hub on a smart mobile device or on a network in a
router or other gateway device. This distributed approach is growing in popu-
larity because of the Internet of Things (IoT) and the immense amount of data
that is generated by sensors. It is inefficient to transfer all the data to the cloud
for processing and analysis, as it requires a great deal of bandwidth and all the
communication between the sensors and the cloud can reduce efficiency.

1.1.7 Jungle Computing


Jungle computing is a combination of heterogeneous, hierarchical, and dis-
tributed computing resources. Domain experts concurrently use multiple
clusters, grids, clouds, desktop grids, independent computers, and more in
many realistic scientific research areas. Jungle computing refers to the use
of diverse, distributed and highly non-uniform high-performance computer
systems to achieve maximum performance. A collection of resources like
standalone machines, cluster systems, grids, clouds, etc. as shown in the
Figure 1.9 are termed jungle computing.

FIGURE 1.9 Jungle computing

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 9

1.1.8 Comparison of Various Computing Technologies


Various classes of distributed computing have been discussed in the previous
sub section, and each has its own special feature which makes it different
from others. In this section the comparison of utility, cluster, grid, and cloud
computing is done in Table 1.1 which helps the reader to conclude these
computing paradigms.

TABLE 1.1 Comparison table of computing classes


Feature Utility Cluster Grid Cloud
computing computing computing computing
Virtualization Some form of Half Half Essential
virtualization
Scalability Yes No Half: Nodes & Yes
Sites
Standardization Standardization Virtual interface Open grid Web services
and of backup architecture forum
interoperability policies based standards
User Centralized Centralized Decentralized Centralized or
management by third party
Size 100s 100s 1000s 100s to 1000s
Pricing Utility pricing Limited Dominated by Utility pricing
public good discounted
or privately for larger
assigned customers
Resource Distributed Centralized Distributed Centralized or
management distributed
Capability Based on service Stable and Varies but high On demand
provisioning guarantee
Control Centralized Centralized Decentralized Centralized
Ownership Single Single Multiple Single
Privacy Service level Medium level Medium level High level
Transparency Yes Yes No, low Yes, high but
optional
Applications Business model Science, Collaborative, Web application
business and scientific and and content
data centers HPC delivery
Examples Google, ARCnet, GIMPS, SET1 Amazon EC2
Amazon 2008 VAXcluster

Dr. Bidush Kumar Sahoo


10 • CLOUD COMPUTING

1.2 VISION OF CLOUD COMPUTING


The vision of cloud computing is that IT services are utilized as utilities in
an open marketplace, without any technological and legal barriers. In this
cloud marketplace, cloud service providers and consumers play a central
role. Different stakeholders adopt cloud computing for a variety of services.
The need for ubiquitous storage, computing power, on demand and pay per
use are the most common reasons to adopt cloud computing. It is especially
attractive to developers who do not have the infrastructure or cannot afford
any further expansion of their existing infrastructure. The capability for web-
based access to documents and their processing using sophisticated applica-
tions is one of the appealing factors for users.
Cloud infrastructure is very robust and is always available at any time.
Computing services need to be highly reliable, scalable and capable of sup-
porting ubiquitous access. We have seen great progress of cloud computing
in a very short time. Now let’s have a look at what may become of cloud
computing technology in the future.
🞍 Cloud computing will become even more outstanding in the coming
years with rapid, continued growth of major global cloud data centers.
🞍 Approximately 50% of all IT will be on the cloud within the next five to

ten years.
🞍 There will be a greater use of cloud technology in emerging markets

such as in the BRIC countries (Brazil, Russia, India, and China) as they
are developing and adopting new technologies rapidly. Particularly in
Asia, there is already a trend to stay on the edge of the latest technology.
🞍 Data on the cloud will be available from everywhere in standardized

formats. The security and reliability of cloud computing will continue


to evolve, ensuring that data will be even more secure with numerous
techniques employed.
🞍 Cloud technology with the Internet of Things (IOT) may develop wear-

ables and bring your own device (BYOD) will become a part of our
personal and working lives.
The future of the cloud is more than what can be thought of. However, it can
be said that ultimately the cloud is growing exponentially and will continue
to do so for some time to come.

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 11

1.3 CLOUD APPLICATION


Nowadays many organizations are taking advantage of Cloud computing in
day to day applications. Cloud helps the consumers to develop and deploy
applications without spending money on expensive computer parts, software,
and IT specialists. To be able to easily understand the true benefits of cloud
computing, it’s always best to see some examples of it. The following are just
a few examples of cloud applications.

1.3.1 ECG Analysis on the Cloud


The overall functionality of an ECG monitoring and analysis system involves
the following steps and also shown in Figure 1.10.

FIGURE 1.10 ECG analysis

🞍 A patient is equipped with a wireless ECG sensor attached to the body


and a mobile device that is capable of communicating to the Internet.

Dr. Bidush Kumar Sahoo


12 • CLOUD COMPUTING

🞍 All the patient data is collected by the wireless ECG sensor which then
forwards it to the mobile device via Bluetooth without user intervention.
🞍 Client software on the mobile device transmits the data to the ECG anal-

ysis web service, which is hosted by a cloud computing-based software


stack. This communication can happen with a home wireless gateway or
directly via the mobile’s data connectivity (e.g. mobile 3G network).
🞍 The analysis software carries out numerous computations on the received

data taking the reference from the existing demographic data and the
patient’s historic data. Computations concern comparison, classification
and systematic diagnosis of heartbeats, which can be time-consuming
when done for long time periods for a large number of consumers.
🞍 The software then appends the latest results to the patient’s historic

record maintained in private and secure cloud-based storage so that


authenticated users can access it anytime from anywhere. Physicians
will later interpret the features extracted from the ECG waveform and
decide whether the heartbeat belongs to the normal (healthy) sinus
rhythm or to an appropriate class of arrhythmia.
🞍 The diagnosis results are sent to the patient’s mobile device and/or moni-

tor, the doctor and/or emergency services at predefined intervals.


🞍 The monitoring and computing processes are repeated according to

user’s preferences, which may be hourly or daily over a long period of


time.

1.3.2 Protein Structure Prediction Applications in Biology


Protein structure prediction applications often require high computing
capabilities and often operate on large datasets that cause extensive I/O
operations. Owing to these requirements, biology applications have often
made extensive use of supercomputing and cluster computing infrastruc-
ture. Similar capabilities can be leveraged on demand using cloud comput-
ing technologies in a more dynamic fashion, thus opening new opportunities
for bioinformatics applications. Protein structure prediction is a computa-
tionally intensive task that is fundamental to different types of research in
life sciences such as in the design of new drugs for the treatment of diseases.
The geometric structure of a protein cannot be directly inferred from the
sequence of genes. The structure of the protein is the result of complex
computations aimed at identifying the structure that minimizes the required
energy. This task requires the investigation of a space with a massive number
of states, consequently creating a large number of computations for each
of these states. The computational power required for protein structure

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 13

prediction can now be acquired on demand, without owning a cluster or nav-


igating the bureaucracy to get access to parallel and distributed computing
facilities. Cloud computing grants access to such capacity on a pay-per-use
basis. One project that investigates the use of cloud technologies for protein
structure prediction is Jeeva—an integrated web portal that enables scien-
tists to offload the prediction task to a computing cloud based on Aneka. The
prediction task uses machine learning techniques (support vector machines)
for determining the secondary structure of proteins. These techniques trans-
late the problem into one of pattern recognition, where a sequence has to be
classified into one of three possible classes (E, H, and C). A popular imple-
mentation based on support vector machines divides the pattern recognition
problem into three phases: initialization, classification, and a final phase.
Even though these three phases have to be executed in sequence, it is possi-
ble to take advantage of parallel execution in the classification phase where
multiple classifiers are executed concurrently. This creates the opportunity
to sensibly reduce the computational time of the prediction. The prediction
algorithm is then translated into a task graph that is submitted to Aneka as
shown in Figure 1.11.

FIGURE 1.11 Architecture of JEEVA portal

Once the task is completed, the middleware makes the results available
for visualization through the portal. The advantage of using cloud technol-
ogies (i.e., Aneka as scalable cloud middleware) versus conventional grid
infrastructures is the capability to leverage a scalable computing infrastruc-
ture that can be grown and shrunk on demand.

Dr. Bidush Kumar Sahoo


14 • CLOUD COMPUTING

1.3.3 CRM
The distinctive traits of cloud computing are its efforts at providing
value-added trustee services, maximizing flexible integration of computing
resources, and advancing cost-saving IT services. To provide value-added
trustee services, the cloud should be capable of identifying the customer
relationship communities and answering for users’ innovation strategies. To
maximize flexible integration of computing resources, the clouds should be
in both human computing resources and electronic computing resources.
Many computing tasks are usually more suitable for humans to process than
for electronic computing machines. Integrating the human computing abil-
ity or crowd computing ability into the cloud can enhance its processing
capabilities with the help of vast human brains dispersed on the Internet.
This means that the cloud should be competent enough to track cus-
tomer information and understand the ways its users interact. Social CRM
plays an important role in supporting a value-added trustee service and
exploiting human computing resources in cloud computing. CRM involves
attracting new profitable customers and forming tighter bonds with existing
ones. Since online social communities and conversations carry heavy con-
sequences for companies, social CRM integrates social networks into the
traditional CRM capabilities. Information gained through social CRM ini-
tiatives can support the development of marketing strategies by developing
the organization’s knowledge in areas such as identifying a customer rela-
tionship community, improving customer retention, and improving product
offerings by better understanding customer needs. Customer relationship
(CR) network as a kind of social network uses a vertex for a customer and
a link for the relationship between two vertexes. Many online cloud com-
puting services rely on virtual communities that spontaneously emerge and
continuously evolve. So, clarifying the explicit boundaries of these commu-
nities is quite essential to ensure service qualification. Communities with
overlapping features or prominent vertexes are typically irregular commu-
nities. The traditional community identification algorithms cannot identify
these irregular topologies. Customer Relationship plays a very important
role network in CRM. With an uneven shape, these communities usually
play a prominent role in finding prominent customers who are usually
ignored in social CRM.

1.3.4 ERP
Cloud computing is a service that offers reliable IT infrastructure and soft-
ware services off the user premises, thereby saving the cost of hardware,

Dr. Bidush Kumar Sahoo


OVERVIEW OF THE COMPUTING PARADIGM • 15

software, power, and labor. Cloud computing enables organizations to


reduce their total cost of ownership (TCO) of IT infrastructure. It is a new
paradigm shift that includes computing resource services, soft applications
of distributed systems, and data storage. The term enterprise resource plan-
ning (ERP) dates back to 1990 when Gartner used it for the first time. ERP
is a cross-functional information system which is considered as a process-
oriented and legacy system, as it integrates management of information
across the entire enterprise and serves the information needs of the entire
enterprise. The ERP system is the backbone of information systems in an
enterprise or financial and government institution and is referred to as the set
of activities that managers use to run the important parts of an organization
such as purchasing, human resources, accounting, productions, and sales.
The ERP system can be deployed in three forms; on-premises, hosted,
and on the cloud. Cloud computing has influenced a new way of thinking
about ERP software deployments. Companies have the option to purchase
an ERP license or purchase a cloud-hosted solution. When companies
acquire a license, they own the software and have the rights to deploy it on
their own data centers (on-premises) or outsource operations to an external
provider (hosting). When enterprises purchase software as a service (SaaS)
solutions, they rent a complete turnkey package that includes software and
the entire delivery mechanism. There are many obstacles involved in cloud
hosted ERP such as security risks, that the CSP might declare bankruptcy or
might fail to deliver according to service level agreement (SLA).
A company might require an information system that will allow them
to perform accounts payable, accounts receivable, inventory management,
supplier logistics, sales order processing, e-commerce, and customer rela-
tionship management (CRM) activities. By making use of cloud hosted infra-
structure, the component relevant to their business may be brought to them
on a pay-and-go basis without the need to purchase an entire ERP, finance,
or CRM suites and the hardware to host such enterprise applications.
If a company is short of spare IT infrastructure, servers, OS licenses,
and database licenses, the cost of hiring an expert should also be considered
because it can be too high. In addition, even if companies justify the cost,
it is probably not worth the hassle of developing internal expertise or taking
on the responsibility of providing (24×7) operations. Other factors that are
important while choosing an ERP deployment scenario are company size,
compliance with law and potential security risks.
Cloud hosted ERP presents an opportunity to transform how an organi-
zation and its people work if properly deployed and built around the people,
not the other way round.

Dr. Bidush Kumar Sahoo


16 • CLOUD COMPUTING

1.3.5 Social Networking


Opinions on where social networking fits with cloud computing vary widely.
Most of the people who work in enterprises, IT or not, leverage some sort
of social networking system, and most look at it at least once a day during
work hours. To figure out the opportunities or risks involved with social net-
working, enterprises must first define the reasons that people leverage social
networking:
🞍 To communicate, both passively and actively, in an ongoing manner and
through various media with people in whom they are interested—usually
with friends and family, but in some cases the activity is all work related.
🞍 To learn more about areas of interest, for example SOA, Web 2.0, and

enterprise architecture.
🞍 To leverage social networking within the context of the SOA using cloud

computing architecture, such as allowing core enterprise systems, on-


premises or cloud-based, to exchange information; for instance, social
networking can be used to view a customer’s Facebook friends list to find
new leads, and thus new business opportunities, by integrating Facebook
with your sales force management system.
However, there are risks involved in online social networking. People can
lose their jobs because of a posting on a social networking site that puts their
company at risk. People can be publically embarrassed by posting pictures,
videos, or other information they thought would be private. In addition,
there are many cases of criminal activity using social networking as a mech-
anism to commit a crime.
Social networking, in one form or another, is always going to be around.
So companies involved in enterprise IT, including cloud computing, might as
well accept it and learn to govern it through education, policies, and perhaps
some technology.

Dr. Bidush Kumar Sahoo

You might also like