Cloud Computing: Seminar Report
Cloud Computing: Seminar Report
Cloud Computing: Seminar Report
Seminar Report
by
Abstract
1
Acknowledgment
Abhirup Ghosh
IIT Bombay
Contents
1 Introduction
4
2 Cloud Computing Basics
2.1 Types of Cloud . . . . . . . . . . . . . . . . . . . . . . . . .
....
.6
5
2.2 Cloud Stakeholders . . . . . . . . . . . . . . . . . . . . . . .
....
.6
7
4 Cloud Architecture
4.1 Comparison between Cloud Computing and Grid Computing
....
.10
8
4.2 Relation between Cloud Computing and Utility Computing .
....
.10
4.3 Types of utility cloud services . . . . . . . . . . . . . . . . .
....
.10
13
7 Conclusion 25
1 Introduction
Cloud computing is a recently developing paradigm of distributed computing. Though it
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.
In brief cloud is essentially a bunch of commodity computers networked to-
gether in same or different geographical locations, operating together to serve a number
of customers with different need and workload on demand basis with the help of
virtualization. Cloud services are provided to the cloud users as utility ser- vices like
water, electricity, telephone using pay-as-you-use business model. These utility services
are generally described as XaaS (X as a Service) where X can be Software or Platform
or Infrastructure etc. Cloud users use these services provided by the cloud providers and
build their applications in the internet and thus deliver them to their end users. So the
cloud users don’t have to worry about installing, maintaining hardware and software
needed. And they also can afford these services as they have to pay as much they use.
So the cloud users can reduce their expen- diture and effort in the field of IT using cloud
services instead of establishing IT infrastructure themselves.
Cloud is essentially provided by large distributed data centers. These data
centers are often organized as grid and the cloud is built on top of the grid services.
Cloud users are provided with virtual images of the physical machines in the data
centers. This virtualization is one of the key concept of cloud computing as it essentially
builds the abstraction over the physical system. Many cloud applications are gaining
popularity day by day for their availability, reliability, scalability and utility model. These
applications made distributed computing easy as the critical
aspects are handled by the cloud provider itself.
Cloud computing is growing now-a-days in the interest of technical and busi-
ness organizations but this can also be beneficial for solving social issues. In the recent
time E-Governance is being implemented in developing countries to improve efficiency
and effectiveness of governance. This approach can be improved much by using cloud
computing instead of traditional ICT. In India, economy is agriculture based and most
of the citizens live in rural areas. The standard of living, agricul- tural productivity etc
can be enhanced by utilizing cloud computing in a proper way. Both of these
applications of cloud computing have technological as well as social challenges to
overcome.
In this report we would try to clarify some of the ideas – Why is cloud
computing a buzzword today? i.e. what are the benefits the provider and the users get
using cloud? Though its idea has come long back in 1990 but what situation made it
indispensable today? How is cloud built? What differentiates it from similar terms like
grid computing and utility computing? What are the different services are provided by
the cloud providers? Though cloud computing now-a-days talks about business
enterprises not the non-profit organizations; how can this new paradigm be used in the
services like e-governance and in social development issues of rural India?
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 experts consider
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.
4 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 underlying
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.
Figure 2: Basic Cloud Computing Architecture
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.
Figure 3: Virtualization basic [21]
• Elastic Compute Cloud: As the name implies EC2 rents cloud of computers to the
users with flexibility of choosing the configuration of the virtual machine like
RAM size, local disk size, processor speeds etc.
Machines that deliver EC2 services are actually virtual machines running on top
of XEN platform. Users can store a disk image inside S3 and create a virtual
machine in EC2 using tools provided by Amazon. This virtual machine can be
easily instantiated using a java program and can also be monitored. As EC2 is
based on XEN it supports any linux distribution as well as other OSs. Amazon
does not promise about reliability of the EC2 computers. Any machine can crash
at any moment and they are not backed up. Although these machine generally
don’t crash according to the experience of the users but it is safe to use S3 to store
information which is more reliable and replicated service. EC2 security model is
similar to that of S3. The only difference is that the commands are signed with an
X 509 private key. But this key is downloaded from AWS account so the security
depends fundamentally on the AWS username and password.
• The Compute Service: The primary goal of this platform is to support a large
number of simultaneous users. (Microsoft also said that they would use Azure to
build their SaaS applications which motivated many potential users.) To allow
applications to scale out Microsoft uses multiple instances of that appli- cations
on virtual machines provided by Hypervisor. Developers use Windows Azure
portal through Web browser, and use Windows live ID to sign in into his/her
hosting account or storage account or both.
Two different types of Azure instance is available: Web role instance and Worker
role instances.
– Web role instance: As the name implies this type of instance can accept
HTTP or HTTPS requests. For this facility Microsoft uses IIS (Internet
Information Services) as a web server inside the VM provided. Developers
can build applications using ASP.NET, Windows Communication Foun-
dation (WCF) or any other .NET technology or native codes also like C++.
PHP or java based technologies also supported in Azure. Azure scales
applications by running multiple instances without any affinity with a
particular Web role instance. So it is perfectly natural for an Azure
application to serve multiple requests from a single user by multiple in-
stances. So this requires to write the client state in the Azure storage after
each client request.
– Worker role instance: This type of instances are very similar to that of Web
role instances. But unlike the Web role instances these don’t have
Figure 5: Windows Azure component architecture
• The Fabric: All Windows Azure application and all of the data stored in Azure
Storage live are physically happen inside some of the data centers handled by
Microsoft. In the data centers the set of machines dedicated to Azure are
organized into a fabric. These machines are managed by fabric controller. These
are replicated in five to seven machines. These controllers are aware of every
Windows Azure application running in that fabric and also owns all the resources
like computers, switches, load balancers etc. Controllers monitors, decides which
resources to allocate to new applications looking at the configuration file with the
application. They also monitor the running applications.
6 Cloud Computing Application in Indian con- text
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 to the 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 in India 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 bases.
6.1 E-Governance
E-Governance is an interface between Government and public or this can be an interface
between two governments or between government and business organiza- tions [7].
Objectives are generally to improve efficiency and effectiveness to serve public demand
and to save costs for online services. This requires Government to have the will to
decentralize the responsibilities and processes and start to have faith on electronic and
internet systems. E-government is a form of e-business in gover- nance and refers to the
processes and structures needed to deliver electronic services to the public (citizens and
businesses), collaborate with business partners and to conduct electronic transactions
within an organizational entity. This E-Governance can be greatly improved by utility
computing [8].
Impact of Technology in E-governance -
• 24/7 Service Model – Systems and services require high availability. Get the
citizens feel that Government is always at their service.
• Need for Content – Web contents should be regularly updated and the infor-
mation provided to the public should be sufficient. Respective departments should
be responsible for providing the information.
Recently Government of India have taken initiative and launched several projects
to facilitate people with better mechanism of governance using IT as a tool. They have
launched projects like Gyan Ganga, e-Gram [17] to leverage the strength of
connectivity. Gyan Ganga is one of the initiatives of the Government of Gujrat to ensure
wireless Internet connectivity to 18000 villages in Gujrat. This project is based on
corDECT a technology based on Wireless Local Loop (WLL). Rural citizens are
provided with facilities like browsing emails, Internet, land records, rural job
opportunities, status of various government projects, information about local weather,
soil and consult with experts to increase productivity in agriculture, to have answer to
their queries about veterinary and health care. Gyan Ganga comes with other facilities
with on-line registration of various applications, on-line public grievance form,
information on Government projects etc.
Another Government of India initiative is E-Gram computerization of local
Gram panchayats. This is also now implemented in the villages of Gujrat. This E- Gram
provides the rural people services like birth and death certification, property assessment,
tax-collection, accounts of gram panchayats etc.
Why traditional systems are not sufficient? For maintaining traditional sys- tems
in e-government there are many more disadvantages.
• Software licensing – Software should be licensed for each and every depart- ment
terminal. This incurs a large amount of establishment cost.
• Scalability – Cloud computing by design supports scalability. The data cen- ters
have enough computing and storage capacity to cope up with the spike demand.
• Data logging – This central facility can be very useful for locating any fault in the
system. Logging can also be used for detecting unauthorized usage checking or
detecting compromization.
• Availability – Cloud services are well known for high availability. If any data
center is down for any reason there is hot backup ready to work immediately.
Virtual machine migration is used to great extend in this situation to facilitate load
balancing in case of failure of some systems.
• Reliability – Replication and migration of instances across data centers make the
reliability of the system very high in the cloud scenario.
• Physical disaster recovery – Backup policies can be very useful for physical
disaster avoidance and this is inherent to the cloud system. Data is stored in
different physical location so that hot backup can be provided whenever needed.
• Security Concern – Government works are highly security sensitive and the
policies sometimes must not be go into public. But in cloud computing scenario
security is not properly implemented today. So this is a big concern.
• Policy Concern – Government has certain policies but the third party cloud
provider may have contradicting policies.
• Lack of faith in networks – Many government departments don’t have that much
trust in networks and internet. So they would not jump into accepting cloud
computing.
• The villagers have to own a PC – To use traditional web services through in-
ternet the villagers need to own a PC which would increase their investment. Then
the issues of need for technical experts for software/hardware installa- tion and
maintenance are needed. But naturally the number of such experts is very less in
number in the remote village. Upgradation of software or hardware would be a
problem both economically and technically.
With the help of cloud computing this can be made possible. We’ll now discuss the
technological and economic advantages for using cloud.
• No upfront commitment – The villagers need not to invest too much to buy
computing system and commit. But instead they can have very low cost terminals
with basic functionality of I/O and have a network access.
• Upgraded version of hardware and software – The users always use the up- graded
version of software and hardware as maintained by the cloud provider. This
reduces the cost of up gradation.
• Utility computing model – The economic model used by the cloud is pay-as- you-
use. This enables the users handle the cost they have to pay.
• Share knowledge and build knowledge base – Most of the agriculture related
issues are generally local and they can’t be solved by general expertise. So it
happens many times that the so called experts are not the right person to answer
the problems but instead the local farmers are better in understanding.
So in these situations better solution can be given by the local experts. If these
local experts access a common space to share their knowledge then others
eventually come to know about the solution. Thus a knowledge base can be build
which would represent the issues in that local scenario. It is like building
Wikipedia.
• Health and medical services – In the developing countries like India one of the
concern of Rural health care is in spite of best intention from both the medical
professionals and patients a practical challenge is faced for difficulties of
communications among interested parties [15]. This issue can be solved using
cloud computing in an appropriate way. Consultation among doctors around the
world make sharing of knowledge possible and takes telemedicince to the next
level, creating a network that goes beyond the one-to-one, patient- to-patient,
patient-to-doctor or doctor-to-doctor interactions. In this way a patient suffering
from a particular disease can be better treated by consulting with doctors within
region and also outside who may have more experience with such a case.
• Education in remote areas – Education in rural areas can be enhanced with the
help of distance education. Education can be provided in different lan- guages and
with respect to different curriculum with the aid of e-learning components.
Students can be encouraged to build their own multimedia pre- sentations. These
can be hosted in the cloud. This type of approach encourage the students to
concentrate more on learning and representing the material and also that would
build the knowledge in the cloud for other students to refer. This is possible with
the aid of cloud computing with greater reliability and availability.
• Government decision making – Looking at the common knowledge base the
Government can have a fair knowledge of the local situation and take adoptive
steps.
• Access to Information hub – Government can provide relevant information such
as land revenue data, weather data, soil information etc. through these cloud
services to the people concerned.
All these things are possible with right initiative. These may need customiz- ing
the original cloud services. Some generally unpopular services like Desktop as a Service
may make sense in these scenario which essentially tells about providing the users a
virtual desktop environment. But deployment of cloud services in rural areas have some
issues associated with it.
• The first and foremost issue for the deployment of internet based services in rural
India is the availability of electricity and networks. Currently there are a number
of initiatives underway to explore alternative to wired Internet, in- cluding WiFi,
WiMax, satellite-based Internet connectivity. Such an effort is made by Midas
Communication technologies and Indian Institute of Madras in the name of
corDECT which is a wireless access system. It provides simul- taneously voice
and 35-70kbps Internet access to wireless subscriber. Another effort is [19] where
the authors modified traditional WiFi to make it efficiently work in long distance
suitable in the context of rural area.
• Optimization due to data locality – Store the data where it is mostly used is
known as the data locality. This is very helpful for optimization purpose. This can
be done by establishing data centers in rural India. But the cost of power and
bandwidth may not be cheap in many places. So for those places some efficiency
and economic trade off should be obeyed.
India is now world’s 2nd fastest growing economy. As per World Bank survey,
by this year the growth rate of India’s economy would be faster than currently fastest
economy China. In India there is very large scope of applying IT in domestic level and
that encouraged the cloud providers to establish cloud services in India. Today
companies like Reliance, TATA, Zenith Computers, Wipro Technologies, Netmagic
Solutions, and Reliance are providing cloud services in India successfully. These
companies can grasp the huge market in the rural India as well as making social
development.
7 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 is still in its
infancy but its clearly gaining momentum. Organizations like Google, Yahoo, Amazon
are already providing cloud services. The products like Google App-Engine, Amazon
EC2, Windows Azure are capturing the market with their ease of use, availability
aspects and utility computing model. Users don’t have to be worried about the hinges of
distributed programming as they are taken care of by the 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 research
issues in this domain like security aspect in the cloud, virtual machine migration,
dealing with large data for analysis purposes etc. In developing counties like India cloud
computing can be applied in the e-governance and rural development with great
success. Although as we have seen there are some crucial issues to be solved to
successfully deploy cloud computing for these social purposes. But they can be
addressed by detailed study in the subject.
References
[1] Google app engine. http://code.google.com/appengine/.
[2] Cloud computing for e-governance. White paper, IIIT-Hyderabad, January
2010. Available online (13 pages).
[3] Demographics of india. http://en.wikipedia.org/wiki/Demographics_of_
India, April 2010.
[4] Economy of india. http://en.wikipedia.org/wiki/Economy_of_India, April
2010.
[5] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H.
Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion
Stoica, and Matei Zaharia. Above the clouds: A berkeley view of cloud com-
puting. Technical Report UCB/EECS-2009-28, EECS Department, University of
California, Berkeley, Feb 2009.
[6]F.M. Aymerich, G. Fenu, and S. Surcis. An approach to a cloud comput- ing
network. Applications of Digital Information and Web Technologies, 2008.
ICADIWT 2008., pages 113 –118, August 2008.
[7]M. Backus. E-governance in Developing Countries. IICD Research Brief, 1,
2001.
[8]Jaijit Bhattacharya and Sushant Vashistha. Utility computing-based framework
for e-governance, pages 303–309. ACM, New York, NY, USA, 2008.
[9]D. Chappell. Introducing windows azure. http://go.microsoft.com/, De-
cember 2009.
[10] Vidyanand Choudhary. Software as a service: Implications for investment in
software development. In HICSS ’07: Proceedings of the 40th Annual Hawaii In-
ternational Conference on System Sciences, page 209a, Washington, DC, USA,
2007. IEEE Computer Society.
[11] Ritu Dangwal. Public Computing, Computer Literacy and Educational Out- come:
Children and Computers in Rural India, pages 59–66. IOS Press, Ams- terdam,
The Netherlands, 2005.
[12]I. Foster, Yong Zhao, I. Raicu, and S. Lu. Cloud computing and grid com- puting
360-degree compared. Technical report. Grid Computing Environments Workshop,
2008.
[13]Simson L. Garfinkel. An evaluation of amazon’s grid computing services: Ec2, s3
and sqs. Technical report, 2007.
[14]S.L. Garfinkel. Commodity grid computing with amazon’s S3 and
EC2.https://www.usenix.org/publications/login/2007-02/openpdfs/
garfinkel.pdf, 2007.
[15]K.I. Juster. Cloud Computing Can Close the Development Gap. http://www.
salesforce.com/assets/pdf/misc/IT-development-paper.pdf.
[16]Leonard Kleinrock. An internet vision: the invisible global infrastructure. Ad Hoc
Networks, 1(1):3 – 11, 2003.
[17]P. Kokil. SAP-LAP Analysis: Gyan Ganga, E-Gram and Communication Infor-
mation Centers (CIC). http://www.iceg.net/2007/books/3/29_290_3.pdf.
[18]Ralf L¨ammel. Google’s mapreduce programming model – revisited. Sci. Com- put.
Program., 70(1):1–30, 2008.
[19]R. Patra, S. Nedevschi, S. Surana, A. Sheth, L. Subramanian, and E. Brewer.
WiLDNet: Design and implementation of high performance wifi based long distance
networks. In USENIX NSDI, pages 87–100, 2007.
[20]Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of
cloud computing systems. Networked Computing and Advanced Information
Management, International Conference on, 0:44–51, 2009.
[21]J.E. Smith and R. Nair. An overview of virtual machine architectures. pages 1– 20,
October 2001. http://www.ece.wisc.edu/~jes/902/papers/intro.pdf.
[22]Persistent Systems. Google app engine. http://www.persistentsys.com/
newpspl/pdf/CMS_1741820566_Google 20Apps 20Engine_WP_010909.pdf,
2009.