Professional Documents
Culture Documents
e-PG Pathshala Subject: Computer Science Paper: Cloud Computing Module 2: Utility Computing Module No: CS/CC/2 Quadrant 1 - E-Text
e-PG Pathshala Subject: Computer Science Paper: Cloud Computing Module 2: Utility Computing Module No: CS/CC/2 Quadrant 1 - E-Text
e-PG Pathshala Subject: Computer Science Paper: Cloud Computing Module 2: Utility Computing Module No: CS/CC/2 Quadrant 1 - E-Text
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.
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:
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:
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‘.
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:
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.‖
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.
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.
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.
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.
5.1.1Dimensions of Scalability
• 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.
6.1.Cloud Resources
Resources form the backbone of the cloud system. Typical cloud resources are:
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]
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]
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