Cloud Computing
Cloud Computing
SEMINAR REPORT ON
“CLOUD COMPUTING”
SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY IN THE
PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD OF THE
DEGREE
OF
DEPARTMENT OF IT ENGINEERING
SKN SINHGAD INSTITUTE OF TECHNOLOGY AND SCIENCE,
LONAVALA-410401
CERTIFICATE
“CLOUD COMPUTING”
Submitted by
2
CLOUD COMPUTING
ACKNOWLEDGEMENT
I would like to thank Prof. Priyanka S. Patil for helping me out in selecting the
topic and contents, giving valuable suggestions in preparation of Seminar report and
presentation.
Thanks to all the colleagues for their extended support and valuable guidance .I
would like to be grateful to all my friends for their consistent support, help and guidance.
3
CLOUD COMPUTING
Contents
1 .Introduction . . . ... ... ... ... 5
4 .Cloud Architecture . . . . . . . . . . . . . . . 11
4.1 Comparison between Cloud Computing and Grid
Computing . . . . . . . . . . . . . . . . . . 13
4.2 Relation between Cloud Computing and Utility
Computing . . . . . . . . . . . . . . . . . 13
4.3 Types of utility cloud services . . . . . . . . . . . .13
7 .Conclusion … … … … … … … …22
8 .Reference … … … … … … … …23
4
CLOUD COMPUTING
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
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) . 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 architectural 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 together 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 services 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
expenditure and effort in the field of IT using cloud services instead of
establishing IT infrastructure themselves.
5
CLOUD COMPUTING
6
CLOUD COMPUTING
7
CLOUD COMPUTING
8
CLOUD COMPUTING
2.3 Advantages of using Cloud Computing
The advantages for using cloud services can be of technical, architectural,
business etc .
(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 other organizations 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.
(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 as they use. So the users can plan well for reducing their usage to
minimize their expenditure.
(d) Scalability is one of the major advantages to cloud users.
Scalability is provided dynamically to the users. Users get as much resources
as they need. Thus this model perfectly fits in the management of rare spikes
in the demand.
9
CLOUD COMPUTING
10
CLOUD COMPUTING
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 separation between application and data. This scenario is shown in
the Figure 2. The underlying physical machines are generally organized in
grids and they are usually geographically distributed. Virtualization plays an
important role in the cloud scenario. The data center hosts provide the
physical hardware on which virtual machines 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.
Another category of virtual machine is called process virtual machine which
acts as an abstract layer between the operating system and applications.
11
CLOUD COMPUTING
Virtualization can be very roughly said to be as software
translating the hardware instructions generated by conventional
software to the understandable format for the physical
hardware.Virtualization also includes the mapping of virtual resources like
registers and memory to real hardware 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 covers 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.
12
CLOUD COMPUTING
13
CLOUD COMPUTING
14
CLOUD COMPUTING
15
CLOUD COMPUTING
2. PaaS (Platform as a service) – Delivers development environment as
a service. One can build his/her own applications that run on the
provider’s infrastructure that support transactions, uniform
authentication, robust scalability and availability. The applications
built using PaaS are offered as SaaS and consumed directly from the
end users’ web browsers. This gives the ability to integrate 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 cloud greater flexibility to lower level than other services. It
gives even CPU clocks with OS level control to the developers. E.g. -
Amazon EC2 and S3.
16
CLOUD COMPUTING
5 Popular Cloud Applications:
A Case study Applications using cloud computing are gaining
popularity day by day for their high availability, 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.
5.1 Amazon EC2 and S3 Services :
Amazon Elastic Computing (EC2) is one of the biggest
organizations to provide Infrastructure as a Service. They provide the
computer architecture with XEN virtual machine. Amazon EC2 is one
of the biggest deployment of XEN architecture to date. The clients can
install their suitable operating system on the virtual machine. EC2
uses Simple Storage Service (S3) for storage of data. Users can hire
suitable amount CPU power, storage, and memory without any
upfront commitment. Users can control the entire software stack from
kernel upwards. The architecture has two components one is the EC2
for computing purposes and S3 is for storage purposes .
• Simple Storage Service:
S3 can be thought as a globally available distributed hash table
with high-level access control. Data is stored in name/value pairs.
Names are like UNIX file names and the value can be object having
size up-to 5 GB with up-to 4K of metadata for each object. All objects
in Amazon’s S3 must fit into the global namespace. This namespace
consists of a “bucket name” and an “object name”. Bucket names are
like user names in traditional email account and provided by Amazon
on first come first serve basis. An AWS (Amazon Web Services)
account can have maximum of 100 buckets. Data to S3 can be sent by
SOAP based API or with raw HTTP “PUT” commands. Data can be
retrieved using SOAP HTTP or BitTorrent. While using BitTorrent the
S3 system operates as both tracker and the initial seeder. There are
also some tools available which enables the users to view S3 as a
remote file system. Upload download rate from and to S3 is not that
much exiting. One developer from Germany reported experiencing
10-100 KBps. This rate can go up-to 1-2 MBps on the higher side
depending on the time of the day. Although the speed is not that much
fascinating it is good enough for delivering web objects and for
backup purposes although for doing computation it is not suitable.
17
CLOUD COMPUTING
• 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.
5.2 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.
AppEngine 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.
AppEngine applications are expected to be request-reply based.
Google Appengine provides automatic scalability, persistent data
storage service. Data store features a query engine and transaction
capabilities. These applications are easy to scale as traffic and data
storage need to grow so the cloud user doesn’t have to worry about the
spikes in the traffic or data. These applications are generally suitable
for social networking start-ups, event-based websites catering to
seasonal
events or institutions (schools, colleges, universities, government
agencies) etc.
18
CLOUD COMPUTING
19
CLOUD COMPUTING
• Security – Sensitive Government data is to be highly secured.
Policies are to be taken seriously maintained and designed.
• Privacy – Personal data should be given sufficient privacy. It
can be a difficult issue if data is stored across different departments
and computer systems.
20
CLOUD COMPUTING
• 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.
• Policy management – Polices can be managed in a
centralized fashion. This is helpful for introducing Government
policies readily unlike the present scenario.
• Legacy software – An already developed software can be
moved to cloud with minor changes some times. So the Government
doesn’t incur cost for developing applications which it already has.
• Pay model – Cloud providers’ pay-as-you-use model enables
the customer (Government) to reduce cost of deployment and control
the usage.
• Reduce power consumption – Adaptation of cloud reduces
power consumption in different offices and usage of power is
concentrated in the data center only.
6.2 Rural development
In the context of rural development cloud computing can also
be used to success for its centralized storage and computing facility
and utility based pay model. As per 72.2% of total Indian population
resides in rural areas. According to the survey conducted by “Hole in
the Wall project” computer literacy among boys and girls of age
group 8-14 in rural area varies across the regions of India. It is 40-
50% in most of the regions. So the computer literacy is not a concern
in rural India and also in it shown that learning rate is pretty high for
computer literacy. Agriculture is India’s biggest employment source,
accounting for 52% employment in India . And agricultural sector
contributes to 20% of country’s total GDP. So it is very important to
make a serious attempt to develop rural India.
Rural development can be in the form of education, agriculture,
health, culture or in any other fields. Now a days most of the villages
have some access to electricity and cellular phone. So there is
technical feasibility of establishing computer systems. But the
mentality of the people haven’t been changed that much and that’s
why the spread of personal computer is not that much significant in
the villages.
21
CLOUD COMPUTING
7 .Conclusion
Cloud computing is a newly developing paradigm of distributed
computing. Virtualization 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 interest 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.
22
CLOUD COMPUTING
8.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 computing. 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
computing 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/,
December 2009. 26
23