Computer Networking: Submitted by Submitted To
Computer Networking: Submitted by Submitted To
Computer Networking: Submitted by Submitted To
Submitted by Submitted to
7CS 60
VIIth Semester-C.S
I thank my seminar guide Mr Sonu Mittal Lecturer, for his proper guidance, and valuable
suggestions. I am indebted to Mr.Prashant Saxena the HOD, Computer Science division & other
faculty members for giving me an opportunity to learn and present the seminar. If not for the
above mentioned people my seminar would never have been completed successfully. I once
again extend my sincere thanks to all of them. I am grateful to all our friends for providing
critical feedback & support whenever required. I regret any inadvertent omissions.
ABSTRACT
“Cloud computing is an emerging computing technology that uses the internet and central remote
servers to maintain data and applications. Cloud computing allows consumers and businesses to
use applications without installation and access their personal files at any computer with internet
access. This technology allows for much more efficient computing by centralizing storage and
processing Cloud computing is broken down into three segments: "applications," "platforms,"
and "infrastructure."
INCORPORATES COMBINATIONS
1 Introduction 5
2 Characteristics of cloud computing 7
2.1 Self healing 7
2.2 multi tenancy 7
2.3 linearly scalable 8
2.4 Service oriented 8
2.5 SLA driven 8
2.6 virtualized 8
2.7 flexible 9
3 Concept of cloud computing 9
4 How it works 10
5 Need for cloud Computing 11
6 Enabling technologies 12
6.1 Cloud computing application arhitecture 13
6.2 Server architecture 13
6.3 Map reduce 14
6.4 Google file system 14
6.5 Hadoop 15
7 Cloud computing services 16
8 Cloud Computing providers 19
9 Conclusion 20
10 Refrences 21
INTRODUCTION
virtualized resources are provided as a service over the Internet. Users need not have knowledge
of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.
Other recent (ca. 2007–09) technologies that rely on the Internet to satisfy the
computing needs of users. Cloud computing services often provide common business
applications online that are accessed from a web browser, while the software and data
The term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in
computer network diagrams and is an abstraction for the complex infrastructure it conceals
A definition for cloud computing can be given as an emerging computer paradigm where data
and services reside in massively scalable data centers in the cloud and can be accessed from any
connected devices over the internet. Cloud computing is a way of providing various services on
virtual machines allocated on top of a large physical machine pool which resides in the cloud.
Cloud computing comes into focus only when we think about what IT has always wanted – a
way to increase capacity or add different capabilities to the current setting on the fly without
investing in new infrastructure, training new personnel or licensing new software. Here ‘on the
fly’ and ‘without investing or training’ becomes the keywords in the current situation. But cloud
computing offers a better solution. We have lots of compute power and storage capabilities
residing in the distributed environment of the cloud. What cloud computing does is to harness the
capabilities of these resources and make available these resources as a single entity which can be
changed to meet the current needs of the user. The basis of cloud computing is to create a set of
virtual servers on the available vast resource pool and give it to the clients. Any web enabled
device can be used to access the resources through the virtual servers. Based on the computing
needs of the client, the infrastructure allotted to the client can be scaled up or down.
From a business point of view, cloud computing is a method to address the scalability and
availability concerns for large scale applications which involves lesser overhead. Since the
resource allocated to the client can be varied based on the needs of the client and can be done
without any fuss, the overhead is very low.One of the key concepts of cloud computing is that
processing of 1000 times the data need not be 1000 times harder. As and when the amount of
data increases, the cloud computing services can be used to manage the load effectively and
make the processing tasks easier. In the era of enterprise servers and personal computers,
hardware was the commodity as the main criteria for the processing capabilities depended on the
hardware configuration of the server. But with the advent of cloud computing, the commodity
has changed to cycles and bytes - i.e. in cloud computing services, the users are charged based on
the number of cycles of execution performed or the number of bytes transferred. The hardware or
the machines on which the applications run are hidden from the user. The amount of hardware
needed for computing is taken care of by the management and the client is charged based on how
the application uses these resources.
2.1. Characteristics of Cloud Computing
1. Self Healing
Any application or any service running in a cloud computing environment has the property of
self healing. In case of failure of the application, there is always a hot backup of the application
ready to take over without disruption. There are multiple copies of the same application - each
copy updating itself regularly so that at times of failure there is at least one copy of the
application which can take over without even the slightest change in its running state.
2. Multi-tenancy
With cloud computing, any application supports multi-tenancy - that is multiple tenants at the
same instant of time. The system allows several customers to share the infrastructure allotted to
them without any of them being aware of the sharing. This is done by virtualizing the servers on
the available machine pool and then allotting the servers to multiple users. This is done in such a
way that the privacy of the users or the security of their data is not compromised.
3. Linearly Scalable
Cloud computing services are linearly scalable. The system is able to break down the workloads
into pieces and service it across the infrastructure. An exact idea of linear scalability can be
obtained from the fact that if one server is able to process say 1000 transactions per second, then
two servers can process 2000 transactions per second.
4. Service-oriented
Cloud computing systems are all service oriented - i.e. the systems are such that they are created
out of other discrete services. This allows re-use of the different services that are available and
that are being created. Using the services that were just created, other such services can be
created.
5. SLA Driven
Usually businesses have agreements on the amount of services. Scalability and availability issues
cause clients to break these agreements. But cloud computing services are SLA driven such that
when the system experiences peaks of load, it will automatically adjust itself so as to comply
with the service-level agreements. The services will create additional instances of the
applications on more servers so that the load can be easily managed.
6. Virtualized
The applications in cloud computing are fully decoupled from the underlying hardware. The
cloud computing environment is a fully virtualized environment.
7. Flexible
Another feature of the cloud computing services is that they are flexible. They can be used to
serve a large variety of workload types - varying from small loads of a small consumer
application to very heavy loads of a commercial application.
CONCEPT
The Cloud is a term that borrows from telephony. Up to the 1990’s Telephone companies were
able to offer VPN-based services. In the early 2000s, Microsoft extended the concept of SaaS
through the development of web services. In 2001, IBM detailed these concepts the Autonomic
Computing Manifesto. In 2007, Google, IBM, and a number of universities embarked on a large
scale cloud computing research project.By mid-2008, Gartner saw an opportunity for cloud
computing “to shape the relationship among consumers of IT services”.
How It Works
The basic cloud computing foundation is comprised of a data center (servers, network switches,
Internet connectivity, etc.), virtualization software (used to segment physical resources between
users), operating system (Windows, Linux, etc.) and applications (Apache, MySQL, etc.).
Together, these components "power the cloud" for millions of people using popular services such
as Google's GMail.
Need for Cloud Computing
What could we do with 1000 times more data and CPU power? One simple question. That’s all it
took the interviewers to bewilder the confident job applicants at Google. This is a question of
relevance because the amount of data that an applicationhandles is increasing day by day and so
is the CPU power that one can harness.
There are many answers to this question. With this much CPU power, we could scale our
businesses to 1000 times more users. Right now we are gathering statistics about every user
using an application. With such CPU power at hand, we could monitor every single user click
and every user interaction such that we can gather all the statistics about the user. We could
improve the recommendation systems of users. We could model better price plan choices. With
this CPU power we could simulate the case where we have say 1,00,000 users in the system
without any glitches.
There are lots of other things we could do with so much CPU power and data capabilities. But
what is keeping us back. One of the reasons is the large scale architecture which comes with
these are difficult to manage. There may be many different problems with the architecture we
have to support. The machines may start failing, the hard drives may crash, the network may go
down and many other such hardware problems. The hardware has to be designed such that the
architecture is reliable and scalable. This large scale architecture has a very expensive upfront
and has high maintenance costs. It requires different resources like machines, power, cooling,
etc. The system also cannot scale as and when needed and so is not easily reconfigurable.
The resources are also constrained by the resources. As the applications become large, they
become I/O bound. The hard drive access speed becomes a limiting factor. Though the raw CPU
power available may not be a factor, the amount of RAM available clearly becomes a factor.
This is also limited in this context. If at all the hardware problems are managed very well, there
arises the software problems. There may be bugs in the software using this much of data. The
workload also demands two important tasks for two completely different people. The software
has to be such that it is bug free and has good data processing algorithms to manage all the
data.
The cloud computing works on the cloud - so there are large groups of often low-cost servers
with specialized connections to spread the data-processing chores among them. Since there are a
lot of low-cost servers connected together, there are large pools of resources available. So these
offer almost unlimited computing resources. This makes the availability of resources a lesser
issue. The data of the application can also be stored in the cloud. Storage of data in the cloud has
many distinct advantages over other storages. One thing is that data is spread evenly through the
cloud in such a way that there are multiple copies of the data and there are ways by which failure
can be detected and the data can be rebalanced on the fly. The I/O operations become simpler in
the cloud such that browsing and searching for something in 25GB or more of data becomes
simpler in the cloud, which is nearly impossible to do on a desktop. The cloud computing
applications also provide automatic reconfiguration of the resources based on the service level
agreements. When we are using applications out of the cloud, to scale the application with
respect to the load is a mundane task because the resources have to be gathered and then
provided to the users. If the load on the application is such that it is present only for a small
amount of time as compared to the time its working out of the load, but occurs frequently, then
scaling of the resources becomes tedious. But when the application is in the cloud, the load can
be managed by spreading it to other available nodes by making a copy of the application on to
them. This can be reverted once the load goes down. It can be done as and when needed. All
these are done automatically such that the resources maintain and manage themselves.
ENABLING TECHNOLOGIES
Cloud computing is a powerful new abstraction for large scale data processing
systems which is scalable, reliable and available. In cloud computing, there are large
self-managed server pools available which reduces the overhead and eliminates
management headache. Cloud computing services can also grow and shrink according
to need. Cloud computing is particularly valuable to small and medium businesses,
where effective and affordable IT tools are critical to helping them become more
productive without spending lots of money on in-house resources and technical
equipment. Also it is a new emerging architecture needed to expand the Internet to
become the computing platform of the future.
References
1. http://www.infoworld.com/article/08/04/07/15FE-cloud-computing-reality_1.html,
“What Cloud Computing Really Means”
2. http://www.spinnakerlabs.com/CloudComputing.pdf
“Welcome to the new era of cloud computing PPT”
3. http://www.johnmwillis.com/
“Demystifying Clouds” - discusses many players in the cloud space