e-PG Pathshala Subject: Computer Science Paper: Cloud Computing Module 2: Utility Computing Module No: CS/CC/2 Quadrant 1 - E-Text

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

e-PG Pathshala

Subject: Computer Science


Paper: Cloud Computing
Module 2: Utility Computing
Module No: CS/CC/2
Quadrant 1—e-text
1. Introduction

We are in a new age of computing. Earlier models and methodologies are changing fast to
give way to this new era, which sees an unprecedented growth, both in advancement of
technology as well as in adoption by the industry, as discussed in the earlier module. To
understand the workings and the complexities of the new technology, we have to understand
the new age in computing that has become part of our lives. As shown in Figure 1 below,
various factors are responsible to bring in this new computing method.

Perhaps the first point is the increase in the domain applications. With technology becoming
part of our daily lives, there is an explosion of newer applications for every domain. This is
aided by the invention of newer, more powerful devices,having more storage, faster speed,
more capabilities in all respects. The advent in devices and applications necessitated the
improvement in the software methodologies that helped and supported the development of
these applications. A fundamental need for all these growth and proliferation is in the support
of communication and wider, hitherto unseen availability of bandwidth for communication
allowed these devices to be connected and exchange information. Also the improvement in
the graphics processors helped the applications to provide a better implementation.
Virtualization technique and its widespread usage helped the hardware to be utilized to their
maximum. Advent of multi-core processors paved the way to of the advent by providing
underlying support. As is shown in the diagram below, all the above-mentioned development
together gave rise to the new age in computing.

Figure 1: New Age Computing


However, before we explore this new computing agefurther, first let us see how all these
came about.

2. Learning Outcome

In this second chapter of the course Cloud Computing, understanding the fundamental
concepts of this new phenomenon will be provided. At the end of this module, students will be
able to:

1. Understand and appreciate what is meant by the term utility Computing.


2. Learn aboutthe various definitions of cloud that exist in the literature.
3. Explore the evolution of distributed computing that led to cloud.
4. Understand and appreciate the different entities that form cloud.
5. Gather knowledge about various components of resource requirements in a cloud
computing facility with a focus about data centers.

3. Utility Computing

The idea of computing in a ―cloud‖ traces back to the origins of utility computing, a concept
that computer scientist John McCarthy publicly proposed in 1961:

―If computers of the kind I have advocated become the computers of the future, then
computing may someday be organized as a public utility just as the telephone system
is a public utility. ... The computer utility could become the basis of a new and
important industry.‖

Let us look at what exactly is meant by computer utility. To understand the meaning of the
term ―utility computing‖ or computer utility, we have to first understand what is meant by a
utility service. Any public service is called a utility service that is offered and managed byan
individual/organization for the users, often at a certain cost payable based on the usage. The
user only has to be aware of the method in which to acquire the service and how to make the
requisite payments for the consumed items, without knowing any detail about how and from
where the service is being offered, what kind of environment does it require for the
organization providing the service to have and any other such details. Some examples of
such service are:

 Telephone service
 Newspaper service
 Electricity service.

If we consider, for example, the electricity service, a consumer consumes the amount of
electricity required without being aware of the power station where electricity is being
generated, from where and how it is being delivered to the point of consumption or any other
such detail. The payment by the consumer is also purely on the basis of consumed units only.
This has the implication that a consumer is free to use any amount or not at all without any
prior consent of the service provider and this will not affect the service.

In a similar manner, if we can just obtain computing service as and when we need it without
spending effort or money to acquire, installor maintain the required hardware and software,
we call it a utility computing service. And this service should be available for any and all
amount as required by the consumer without any prior intimation.

In 1969, Leonard Kleinrock, a chief scientist of the Advanced Research Projects Agency
Network or ARPANET project that started the Internet, stated:
―As of now, computer networks are still in their infancy, but as they grow up and become
sophisticated, we will probably see the spread of ‗computer utilities‘ ...‖.

With these visions, slowly the concept of computing utility came into being. The term
Utilitycomputing is defined by Wikipedia as follows:

―A service provisioning model in which a service provider makes computing resources


and infrastructure management available to the customer as needed, and charges
them for specific usage rather than a flat rate‖.

The beginning of this era perhaps started since the mid-1990s with a form of Internet-based
computer utilities through various incarnations of search engines (Yahoo!, Google), e-mail
services (Hotmail, Gmail), open publishing platforms (MySpace, Facebook, YouTube), and
other types of social media (Twitter, LinkedIn)etc. These are the services that not only
validated but also popularized the core concepts,which are the foundation of cloud today.

Salesforce, one of the largest modern-day cloud titans, emerged as the forerunner in the late
1990s, by bringing the remotely provisioned services into the enterprise. Other titans such as
Amazon.com followed quickly starting in 2002 with the Amazon Web Services (AWS)
platform. The AWS largely offered services that are suitable for the enterprise-based
consumers. All resources such as computing, storage as well as specific functionality suitable
to the users were included in their service offerings.

However, the term ―cloud computing‖ emerged around 2006. Also during this timeElastic
Compute Cloud (EC2) by Amazon and Google Apps started providing browser-based
enterprise applications, which offered the true services defined as cloud. The famous and
popular Google App Engine came three years later.

With the advent of cloud computing, the concept of computing is becoming a bunch of
commoditized services delivered likea normal standardized utility service as found in
telephony service or gas service. Thus now information technology can be accessed from
anywhere having the minimum requisite of an internet connectivity without any concern of
where the services are hosted.The users are being charged according to their usage. While
other computing paradigms have promised utility vision, none were as successful or as close
as cloud computing to actually delivering ―computing utilities‖ in reality.

With this short description on the evolution of cloud computing from the dream of utility
computing, let us look at the various definitions that are available for the term ‗cloud‘.

4. Definitions of Cloud Computing

There have been many ways that the term cloud has been defined. We will explore some of
these in this section.We start with the widely accepted definition by the National Institute of
Standards and Technology (NIST). It says:

―Cloud computing is a model for enabling ubiquitous, convenient, on-demand network


access to a shared pool of configurable computing resources (e.g., networks, servers,
storage, applications, and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction. This cloud model is
composed of five essential characteristics, three service models, and four deployment
models.‖

Gartner, Inc., which was formerly known as the Gartner Group, Inc., was founded in 1979. It
is an American information technology research and advisorycompany providing technology
related insight.
Although according to Wikipedia, research provided by Gartner is targeted at CIOs and senior
IT leaders in industries and government agencies, and many more, their research is also a
rich source of information for the academia and research community to understand trend in
the information technology field. Gartner reports cloud computing to be at the top of its
strategic technology areas. According to Gartner, cloud is defined as follows:
―...a style of computing in which scalable and elastic IT-enabled capabilities are
delivered as a service to external customers using Internet technologies.‖

As per Forrester Research, the definition of cloud computing is:

―...a standardized IT capability (services, software, or infrastructure) delivered via


Internet technologies in a pay-per-use, self-service way.‖

IBM, a frontrunner in the modern cloud solutions, reiterates as follows:

―An emerging IT delivery model — cloud computing — can significantly reduce IT


costs & complexities while improving workload optimization and service delivery.
Cloud computing is massively scalable, provides a superior user experience, and is
characterized by new, internet-driven economics‖

Courtesy: Rajkumar Buyaa et al. [1]

Figure 2: Confusion in Cloud Computing

Professor Rajkumar Buyaa, a well-known researcher in cloud provides the following


definition:

―A Cloud is a type of parallel and distributed system consisting of a collection of inter-


connected and virtualized computers that are dynamically provisioned and presented
as one or more unified computing resource(s) based on service-level agreements
established through negotiation between the service provider and consumers.‖

While cloud computing has become a popular buzzword, there seems to exist confusion
around it since it has been widely used to refer to a plethora of different notions including
different technologies, services, and concepts. Figure 2 above depicts this confusion
appropriately.

5. Evolution of Cloud Computing

In this section, we would take a look at the evolution of the technology that is instrumental to
the growth of cloud – distributed computing. Computing initially started with very large
computersas shown in the Figure 3 below. ENIAC, perhaps the most popular one, and also
other computers such as the ORDVAC and the ILLIAC, which were built in the 1940s and
50s, are all examples of this era. These are called the first computers since the architecture
of thesecomputers are similar tothe modern day architecture.

Figure 3: Evolution of cloud

It is said that these are actually the first datacenters since they resemble our modern day
data centers to quite an extent. These computers occupied large halls and large laboratories.
They used to consume an enormous amount of power and generate large amount of heat.
And also these computers were the major, or rather sole resources for computing! From this it
is easily conceivable why these computers are compared with modern day data centers. In
the 1960s and 70s when the computers became smaller in size, the size of the data started
growing and this gave rise to the evolution of the industry called timesharingand data
processing industry. The companies ruled the world at that time and the industry grew in that
period from $70 million to a whopping $3.15 billion industry. Although the data size perhaps
were in kilobytes or at best megabytes, it was large for the available technology and
processing them and giving the outputs was a serious task, especially considering that, inputs
and outputsweretypically given in the form of punchcards. However, these companies started
declining during the 1980s with the advent of personal computers or PCs. While growth of
data continued, the concept of clusters and networks of workstations was brought in thereby
causing the evolution of the distributed computing. While cluster computing, in some form,
continued to form the base of many technologies, grid ruled the computing world for its
capability of churning large amount of data in a secured environment. In the 1990s and 2000s
large-scale systems like peer-to-peer systems evolved due to the necessity of handling and
sharing very large data. With the growth of large-scale data continuing, the need to build even
larger storage has led to the evolution of large data centers. With the advent of these data
centers came the need of handling software in these data centers and hence the evolution of
Software-as-a-Service. And now perhaps we have completed a full circle by arriving back to
the era of large-scale timesharing, although this time it is really massive in scale. The data
processing industry are building very large-scale clusters, albeitwith very different set of
capabilities than those of the 60s and 70s. These data centers are capable of storing and
processingvery large amounts of data and are the clouds of this date.
From the above discussion, we understand that grid, cluster and peer to peer are the
precursors of cloud computing.

5.1Forms of Distributed Computing

The precursors of cloud viz., cluster, grid and peer-to-peer systemsare characterized as
highly scalable massive systems thatuse web-scale connectivity, either physically or logically
and are built over a large number of autonomous computer nodes.These nodes/machines
work collectively, cooperatively, or collaboratively at various levels and these are typically
interconnected by SANs, LANs, or WANs in a hierarchical manner. With today‘s networking
technology, while a few LAN switches can easily connect hundreds of machines as a working
cluster, a WAN can connect many local clusters to form a very large cluster of clusters
thereby building a massive system with millions of computers connected to networks.It is
interesting to compare and contrast the various characteristics of these four types of systems,
cluster, Peer-to-Peer, Grids and clouds to obtain a better insight. Table 2.1 below compares
these four groups of systems.

The table entries characterize these four systemswith respect to various technical and
application aspects.

Table 1: Distributed Systems

Functionalities Computer Peer-to-Peer Data/ Cloud


/Applications Clusters Networks Computational Platforms
Grids

Architecture, Network of Flexible network Heterogeneous Virtualized


Network compute of client machines clusters cluster of
Connectivitya nodes logically interconnected servers over
nd Size interconnected connected by an by high-speed data centers
by SAN, overlay network network links via SLA
LAN, or over selected
WAN resource sites
hierarchically

Control and Homogeneous Autonomous Centralized Dynamic


Resources nodes with client nodes, free control, server- resource
Management distributed in and out, with oriented with provisioning
control, self-organization authenticated of servers,
running UNIX security storage, and
or Linux networks

Applications High- Most appealing to Distributed Upgraded web


and Network- performance business file supercomputing, search, utility
centric computing, sharing, content global problem computing,
Services search delivery, and solving, and and
engines, and social networking data center outsourced
web services, services computing
etc. services

Representative Google search Gnutella, eMule, TeraGrid, 
 Google App


Operational engine, BitTorrent, GriPhyN, UK Engine, IBM
Systems SunBlade, Napster, KaZaA, EGEE, D-Grid, Bluecloud,
IBM Road Skype, JXTA ChinaGrid, etc. AWS, and
Runner, Cray Microsoft
XT4, etc. Azure

5.1.1Dimensions of Scalability

In general, a distributed system is expected to achieve scalable performance.A typical


characteristic of scalable systems is that resource upgrades in such systems should be
backward compatible with existing hardware and software resources. Many practical factors
influence system scaling, increasing or decreasing resources accordingly. The following
dimensions of scalability are characterized in distributed systems:

• Size scalability: This refers to achieving higher performance or more functionality by


increasing the machine size. The word ―size‖ refers to adding processors, cache,
memory, storage, or I/O channels. The most obvious way to determine size
scalability is to simply count the number of processors installed in a system.
Obviously, not all distributed architectures are equally size-scalable. For example,
the IBM S2 was scaled up to 512 processors in 1997. But in 2008, the IBM
BlueGene/L system scaled up to 65,000 processors. 


• Software scalability: This refers to upgrades in the OS or compilers, adding


mathematical and engineering libraries, porting new application software, and
installing more user-friendly programming environments. Some software upgrades
may not work with large system configurations. Testing and fine-tuning of new
software on larger systems is a nontrivial job. 


• Application scalability: This refers to matching problem size scalability with machine
size scalability. Problem size affects the size of the data set or the workload
increase. Instead of increasing machine size, users can enlarge the problem size to
enhance system efficiency or cost-effectiveness. 


• Technology scalability: This refers to a system that can adapt to changes in building
technologies, such as the component and networking technologies. When scaling a
system design with new technology one must consider three aspects: time, space,
and heterogeneity. Time refers to generation scalability. When changing to new-
generation processors, one must consider the impact to the motherboard, power
supply, packaging and cooling, and so forth. Based on past experience, most
systems upgrade their commodity processors every three to five years. Space is
related to packaging and energy concerns. Technology scalability demands harmony
and portability among suppliers. Heterogeneity refers to the use of hardware
components or software packages from different vendors. Heterogeneity may limit
the scalability. 


The scalability issue in a distributed computing environment has been a very important driver
for growth and invention. Today, cloud is considered to be inherently highly scalable and is
expected to grow and shrink easily, exhibiting the property of elasticity. This helps us to
understand why cloud is thought to be the ultimate invention in the field of distributed
systems.

From the above discussion, now we understand that cloud is a scalable distributed computing
with specific characteristics. In the following section we will explore the characteristics that
has made cloud a special distributed system.
6.Different Entities of Cloud

Cloud is a large and complex systemwith many parameters, the understanding of which
demands knowledge from various perspectives. Let us start by looking at the various
parameters that need to be considered to understand the massive system called cloud.
Although according to NIST cloud consists of five attributes, four deployment models and
three delivery models, some researchers consider two more parameters to fully realize the
complexity of cloud, viz., the infrastructure needed by cloud and the resources utilized
therein. These five aspects are critical to understand the concept of cloud as shown in Figure
4 below.According to this, cloud is built with the help of various resources, it has a set of
infrastructures, and typical attributes that separate a cloud computing environment from
others, cloud is deployed for specific users using specific characteristics and it delivers
various services using different delivery models. We will understand these aspects first.

Curtsey: Dan C. Marinescue[2]

Figure 4: Cloud Computing Components

6.1.Cloud Resources

Resources form the backbone of the cloud system. Typical cloud resources are:

 Compute servers, where all the computations take place.


 Storage servers, where all the data are stored.
 Networks, without which data centers cannot be connected and also users cannot
access these data centers.
 Services, due to which cloud is called as utility computing.
 Applications, running of which is the backbone of Software as a Service or SaaS and
also Platform.

The compute, storage and network hardware that power all cloud services and applications
ultimately must reside in a facility, connected by the network for accessibility, called a data
center.

6.1.1Data Centers

A data center is such a facility that is used to house computer systems and associated
components, such as telecommunications and storage systems. Typically, it includes
redundant or backup power supplies, redundant data communications connections,
environmental controls (e.g., air conditioning, fire suppression) and various security devices.
Figure 5 and 6 below show typical data center from outside and from inside respectively.

Curtsey: Wikipedia[3]

Figure 5: A Data Center

A data center may be as large as a shopping mall (11 times the size of a football field) under
one roof, which can house 400,000 to 1 million servers. The larger the data center, the lower
is the operational cost and hence there is obvious reason to build larger data centers.
Curtsey: Wikipedia[3]

Figure 6: Inside a Data Center

Perhaps the largest problem about running a data center successfully is two power related
issues: powersupply and power consumption. Computers and networks necessarily need
power to operate but, no matter how reliable electric grid one may use, there would always be
the possibility of power outage. To avoid problems such as data loss, quality data centers will
have to be equipped with UPS and generators.

This is the power supply related issue of data centers. The other side of this issue is the
excessive power consumption by data centers and hence the carbon emission problem of
such large facilities.

The Power Usage Effectiveness(PUE) metric is defined as the ratio of the total power
consumed by a data center to the power consumed by the IT equipment that populates the
facility. PUE is a standard way to estimate power consumption. It is obvious that the larger a
data center the higher is its PUE and hence the higher is the carbon footprint. All cloud
service providers are concerned about their excessive power consumption and take
necessary actions to reduce their power consumption with respect to PUE. For example, in
October 2008, Google's data center was noted to have a ratio of 1.21 PUE across all 6 of its
centers, which at the time was considered as close to perfect as possible. A recent report by
Google claims their current PUE to be lesser at 1.12 making Google data centers to be the most
energy efficient.

Another factor of data centers is the cost. It is expensive to build and maintain a data center.
Network and datacenter cloud services represent significant capital investments. While
expensive and power consuming, data centers are the nerve center for cloud services and
utilizing datacenter services, the next layer of the cloud stack provides compute and storage
cloud services.

7. Summary

In this module we started with a discussion of the new age that has arrived in the computing
scenario and the various factors responsible for this. Then we explored the concept of utility
computing, where the hardware and software resources are concentrated in large data
centers and users can pay as they consume computing, storage, and communication
resources. This discussion led to the understanding thatcloud, with its data centers and large
facilities, is a perfect environment to realize the dream called utility computing and indeed has
been embraced by major IT companies to achieve utility computing. The module then
continued to define and understand various definitions provided in the literature about cloud.
The root of cloud computing is based on distributed systems and its various incarnations and
the next section explores this origin and evolution from the origin of computers till the
evolution of cloud computing. Cloud is not a single mechanism but is an amalgamation of
different technologies and hence has various aspects around it. The next section identifies
five aspects of cloud that need to be learnt in order to gather enough knowledge in cloud.
This module discusses in detail the first of these aspects, viz., the resources. The nerve
center of cloud computing is the data centers and the last sub-section of this module
discusses about this very important aspect of cloud computing.

In the next module, we‘ll investigate the other characteristics of cloud computing.

References

1. Rajkumar Buyya, Christian Vecchiola, S. Thamarai Selvi, ―Mastering Cloud Computing


Foundations and Applications Programming‖, Elsevier Morgan Kaufmann, 2013.
2. Dan C. Marinescu, ―Cloud Computing: Theory and Practice‖, First Edition, Morgan
Kaufmann, 2013.
3. http://en.wikipedia.org/wiki/Data_center
4. D. Gannon, ―The Client+Cloud: Changing the Paradigm for Scientific Research‖, Keynote
address, 
 CloudCom 2010, Indianapolis, 2010. 

5. Kai Hwang, Jack Dongarra, Geoffrey C., ―Distributed and Cloud Computing: From
Parallel Processing to the Internet of Things‖, Morgan Kaufmann, 2011.
6. https://www.gartner.com
7. https://www.forrester.com
8. Timothy Chou, ―Introduction to Cloud Computing –Business and Technology‖, Second
Edition, Active Book Press, 2011.
9. Natural Resources Defense Counsel (NRDC), ―America's Data Centers Consuming and
Wasting Growing Amounts of Energy‖, A Report, August 2014,
http://www.nrdc.org/energy/files/data-center-efficiency-assessment-IB.pdf
10. Thomas Erl, Ricardo Puttini, Zaigham Mahmood, ―Cloud Computing: Concepts,
Technology & Architecture‖, Prentice Hall, 2013.

You might also like