Eti Micro Project

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Abstract

The term “cloud computing” is a recent buzzword in the IT world. Behind this
fancy poetic phrase there lies a true picture of the future of computing for both in
technical perspective and social perspective. Though the term “Cloud Computing”
is recent but the idea of centralizing computation and storage in distributed data
centers maintained by third party companies is not new but it came in way back
in 1990s along with distributed computing approaches like grid computing. Cloud
computing is aimed at providing IT as a service to the cloud users on-demand
basis with greater flexibility, availability, reliability and scalability with utility
computing model. This new paradigm of computingnhas an immense potential in
it to be used in the field of e-governance and in rural development perspective in
developing countries like India.
Introduction :
Cloud computing is a recently developing paradigm of distributed computing.
Thoughit is not a new idea that emerged just recently. In 1969 [16] L. Kleinrock
anticipated,“As of now, computer networks are still in their infancy. But as they
grow up and become more sophisticated, we will probably see the spread of
’computer utilities’ which, like present electric and telephone utilities, will service
individual homes and offices across the country.” His vision was the true
indication of today’s utility based computing paradigm. One of the giant steps
towards this world was taken in mid 1990s when grid computing was first coined
to allow consumers to obtain computing power on demand. The origin of cloud
computing can be seen as an evolution of grid computing technologies. The term
Cloud computing was given prominence first by Google’s CEO Eric Schmidt in late
2006 (may be he coined the term) [6]. So the birth of cloud computing is very
recent phenomena although its root belongs to some old ideas with new
business, technical and social perspectives. From the archi-tectural point of view
cloud is naturally build on an existing grid based architecture and uses the grid
services and adds some technologies like virtualization and some business
models.

Cloud Computing Basics :


Cloud computing is a paradigm of distributed computing to provide the customers
on-demand, utility based computing services. Cloud users can provide more reli-
able, available and updated services to their clients in turn. Cloud itself consistsof
physical machines in the data centers of cloud providers. Virtualization is pro-
vided on top of these physical machines. These virtual machines are provided to
the cloud users. Different cloud provider provides cloud services of different
abstraction level. E.g. Amazon EC2 enables the users to handle very low level
details where Google App-Engine provides a development platform for the
developers to develop their applications. So the cloud services are divided into
many types like Software as a Service, Platform as a Service or Infrastructure as a
Service. These services are available over the Internet in the whole world where
the cloud acts as the single Are of access for serving all customers. Cloud
Types of Cloud
Cloud can be of three types
1. Private Cloud – This type of cloud is maintained within an organization and
used solely for their internal purpose. So the utility model is not a big term in this
scenario. Many companies are moving towards this setting and expertsconsider
this is the 1st step for an organization to move into cloud. Security,network
bandwidth are not critical issues for private cloud.
2. Public Cloud – In this type an organization rents cloud services from cloud
providers on-demand basis. Services provided to the users using utility com-
puting model.
3. Hybrid Cloud – This type of cloud is composed of multiple internal or exter-nal
cloud. This is the scenario when an organization moves to public cloud computing
domain from its internal private cloud.

Cloud Stakeholders :
To know why cloud computing is used let’s first concentrate on who use it. And
then we would discuss what advantages they get using cloud. There are three
types of stakeholders cloud providers, cloud users and the end users [Figure 1].
Cloud providers provide cloud services to the cloud users. These cloud services
are of the form of utility computing i.e. the cloud users uses these services pay-as-
you-go model. The cloud users develop their product using these services and
deliver the product to the end users.

Advantages of using Cloud


The advantages for using cloud services can be of technical, architectural,business
etc
1. Cloud Providers’ point of view
(a) Most of the data centers today are under utilized. They are mostly 15%
utilized. These data centers need spare capacity just to cope with the huge spikes
that sometimes get in the server usage. Large companies having those data
centers can easily rent those computing power to otherborganizations and get
profit out of it and also make the resources needed for running data center (like
power) utilized properly.
(b) Companies having large data centers have already deployed the resources and
to provide cloud services they would need very little investment and the cost
would be incremental.
2. Cloud Users’ point of view
(a) Cloud users need not to take care about the hardware and software they use
and also they don’t have to be worried about maintenance. The users are no
longer tied to some one traditional system.
(b) Virtualization technology gives the illusion to the users that they are having all
the resources available.
(c) Cloud users can use the resources on demand basis and pay as much asthey
use. So the users can plan well for reducing their usage to minimizetheir
expenditure.
(d) Scalability is one of the major advantages to cloud users. Scalability is
dynamically to the users. Users get as much resources as theyneed. Thus this
model perfectly fits in the management of rare spikes in the demand.
Motivation towards Cloud in recent time :
1. High demand of interactive applications – Applications with real
time response and with capability of providing information either by
other users or by non-human sensors gaining more and more
popularity today. These are generally attracted to cloud not only
because of high availability but also because these services are
generally data intensive and require analyzing data across different
sources.
2. Parallel batch processing – Cloud inherently supports batch-
processing and analyzing tera-bytes of data very efficiently.
Programming models like Google’s map-reduce [18] and Yahoo!’s open
source counter part Hadoop can be used to do these hiding operational
complexity of parallel processing of hundreds of cloud computing
servers.
3. New trend in business world and scientific community – In recent
times the business enterprises are interested in discovering customers
needs, buying pat-terns, supply chains to take top management
decisions. These require analysis of very large amount of online data.
This can be done with the help of cloud very easily. Yahoo! Homepage
is a very good example of such thing. In the homepage they show the
hottest news in the country. And according to the users’ interest they
change the ads and other sections in the page. Other than these many
scientific experiments need very time consuming data processing jobs
like LHC (Large Hadron Collider). Those can be done by cloud.
4. Extensive desktop application – Some desktop applications like
Matlab, Math-ematica are becoming so compute intensive that a single
desktop machine is no longer enough to run them. So they are
developed to be capable of using cloud computing to perform extensive
evaluations.
Cloud Architecture
The cloud providers actually have the physical data centers to provide virtualized
services to their users through Internet. The cloud providers often provide separa-
tion between application and data. This scenario is shown in the Figure 2. The
physical machines are generally organized in grids and they are usu-ally
geographically distributed. Virtualization plays an important role in the cloud
scenario. The data center hosts provide the physical hardware on which virtual
ma-chines resides. User potentially can use any OS supported by the virtual
machines used.
Operating systems are designed for specific hardware and software. It results in
the lack of portability of operating system and software from one machine to
another machine which uses different instruction set architecture. The concept of
virtual machine solves this problem by acting as an interface between the
hardware and the operating system called as system VMs [21]. Another category
of virtual machine is called process virtual machine which acts as an abstract layer
between the operating system and applications. Virtualization can be very roughly
said to be as software translating the hardware instructions generated by
conventional soft-ware to the understandable format for the physical hardware.
Virtualization also includes the mapping of virtual resources like registers and
memory to real hard-ware resources. The underlying platform in virtualization is
generally referred to as host and the software that runs in the VM environment is
called as the guest. The Figure 3 shows very basics of virtualization. Here the
virtualization layer cov-ers the physical hardware. Operating System accesses
physical hardware through virtualization layer. Applications can issue instruction
by using OS interface as well as directly using virtualizing layer interface. This
design enables the users to use applications not compatible with the operating
system
Virtualization enables the migration of the virtual image from one
physical machine to another and this feature is useful for cloud as by data locality
lots of optimization is possible and also this feature is helpful for taking back up in
different locations. This feature also enables the provider to shut down some of
the data center physical machines to reduce power consumption.

Comparison between Cloud Computing and Grid Computing :


Most of the cloud architectures are built on Grid architecture and utilizes its ser-
vice. Grid is also a form of distributed computing architecture where
organizations owning data centers collaborate with each other to have mutual
benefit. Although if apparently seen it seems that cloud computing is no different
from its originator in the first look but there are substantial difference between
them in spite of so many similarities [12]. The relation between Grid and cloud
computing is discussed in Table 1.

Relation between Cloud Computing and Utility Computing :


The cloud users enjoy utility computing model for interacting with cloud service
providers. This Utility computing is essentially not same as cloud computing.
Utility computing is the aggregation of computing resources, such as computation
and storage, as a metered service similar to a traditional public utility like
electricity, water or telephone network. This service might be provided by a
dedicated computer cluster specifically built for the purpose of being rented out,
or even an under-utilized supercomputer. And cloud is one of such option of
providing utility computing to the users.

Types of utility cloud services :


Utility computing services provided by the cloud provider can be classified by
thetype of the services. These services are typically represented as XaaS where
we can replace X by Infrastructure or Platform or Hardware or Software or
Desktop or Data etc. There are three main types of services most widely accepted
- Softwareas a Service, Platform as a Service and Infrastructure as a Service. These
services different levels of abstraction and flexibility to the cloud users. This is
shownin the Figure 4.
1. SaaS (Software as a service) – Delivers a single application through the web
browser to thousands of customers using a multitenant architecture. On the
customer side, it means no upfront investment in servers or software licens- ing;
on the provider side, with just one application to maintain, cost is low compared
to conventional hosting. Under SaaS, the software publisher (seller) runs and
maintains all necessary hardware and software. The customer of SaaS accesses
the applications through Internet. For example Salesforce.com with yearly
revenues of over $300M, offers on-demand Customer Relationship Management
software solutions. This application runs on Salesforce.com’s own infrastructure
and delivered directly to the users over the Internet. Salesforce does not sell
perpetual licenses but it charges a monthly subscription fee start-ing at
$65/user/month [10]. Google docs is also a very nice example of SaaS where the
users can create, edit, delete and share their documents, spread-sheets or
presentations whereas Google have the responsibility to maintain the software
and hardware.
E.g. - Google Apps, Zoho Office.
2. PaaS (Platform as a service) – Delivers development environment as a ser-vice.
One can build his/her own applications that run on the provider’s infras-tructure
that support transactions, uniform authentication, robust scalabilityand
availability. The applications built using PaaS are offered as SaaS andconsumed
directly from the end users’ web browsers. This gives the ability tointegrate or
consume third-party web-services from other service platforms.
E.g. - Google App Engine.
3. IaaS (Infrastructure as a Service) – IaaS service provides the users of the
cloudgreater flexibility to lower level than other services. It gives even CPU
clockswith OS level control to the developers.
E.g. - Amazon EC2 and S3

Popular Cloud Applications:


Applications using cloud computing are gaining popularity day by day for their
highavailability, reliability and utility service model. Today many cloud providers
are in the IT market. Of those Google App-Engine, Windows Azure and Amazon
EC2, S3 are prominent ones for their popularity and technical perspective.

Amazon EC2 and S3 Services


Amazon Elastic Computing (EC2) [13] is one of the biggest organizations to pro-
vide Infrastructure as a Service. They provide the computer architecture with XEN
virtual machine. Amazon EC2 is one of the biggest deployment of XEN architec-
ture to date. The clients can install their suitable operating system on the
virtualmachine. EC2 uses Simple Storage Service (S3) for storage of data. Users
can hire suitable amount CPU power, storage, and memory without any upfront
com-mitment. Users can control the entire software stack from kernel upwards.
The architecture has two components one is the EC2 for computing purposes and
S3 isfor storage purposes
Google App-Engine
Google App-Engine [1] is a platform for developing and deploying web
applications in Google’s architecture. This provides Platform as a Service to the
cloud users. In 2008 Google App-Engine was first released as beta version.
Languages supported by Google App-Engine are python, java and any extension of
JVM languages. App-Engine requires developers to use only languages which are
supported by it and this is also applied with APIs and frameworks. Now Google
App-Engine allows storing and retrieving data from a BigTable non-relational
database.

Windows Azure
Windows Azure [9] is an intermediate in the spectrum of flexibility vs programmer
convenience. These systems use .NET libraries to facilitate language independent
managed environment. This service falls under the category of Platform as a Ser-
vice. Though it is actually in between complete application framework like Google
App-Engine and hardware virtual machines like EC2. Azure applications run on
machines in Microsoft data centers. By using this service customers can use it to
run applications and store data on internet accessible machines owned by
Microsoft. windows Azure platform provides three fundamental components -
compute com-ponent, storage component and fabric component. Basic
components of Windows Azure are shown in Figure 5.
Cloud Computing Application in Indian context :
Today most of the studies in cloud computing is related to commercial
benefits.But this idea can also be successfully applied to non-profit organizations
and tothe social benefit. In the developing countries like India Cloud computing
can bring about a revolution in the field of low cost computing with greater
efficiency, availability and reliability. Recently in these countries e-governance has
started to flourish. Experts envisioned that utility based computing has a great
future in e-governance. Cloud computing can also be applied to the development
of rural life inIndia by building information hubs to help the concerned people
with greater access to required information and enable them to share their
experiences to build new knowledge base.
Conclusion :
Cloud computing is a newly developing paradigm of distributed computing. Vir-
tualization in combination with utility computing model can make a difference in
the IT industry and as well as in social perspective. Though cloud computing isstill
in its infancy but its clearly gaining momentum. Organizations like Google,Yahoo,
Amazon are already providing cloud services. The products like GoogleApp-
Engine, Amazon EC2, Windows Azure are capturing the market with theirease of
use, availability aspects and utility computing model. Users don’t have to
beworried about the hinges of distributed programming as they are taken care of
bythe cloud providers. They can devote more on their own domain work rather
than these administrative works. Business organizations are also showing
increasing in-terest to indulge themselves into using cloud services. There are
many open researc

You might also like