Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Computer Networking: Submitted by Submitted To

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

COMPUTER NETWORKING

Submitted by Submitted to

RAHUL WALIA Mr. SONU MITTAL

7CS 60

VIIth Semester-C.S

SCHOOL OF ENGINEERING AND TECHNOLOGY


JAIPUR NATIONAL UNIVERSITY
ACKNOWLEDGEMENT

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."

The concept generally incorporates combinations of the following:


 Infrastructure as a service (IaaS)
 Platform as a service (PaaS)
 Software as a service (SaaS)

INCORPORATES COMBINATIONS

SaaS – Software as a Service


SaaS software vendors may host the application on their own web servers or download the
application to the consumer device, disabling it after use or after the on-demand contract expires.
PaaS– Platform as a Servic
A Place where Application is developed and execute without install.

IaaS – Infrastructure as a Service


Infrastructure as a Service (IaaS) is the delivery of computer infrastructure (typically a
platform virtualization environment) as a service
Table of Contents
Page No.

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

Cloud computing is a paradigm of computing in which dynamically scalable and often

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.

The concept generally incorporates combinations of the following:

 Infrastructure as a service (iaas)

 Platform as a service (paas)

 Software as a service (SaaS)

 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

are stored on the servers.

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 Application Architecture


This gives the basic architecture of a cloud computing application. We know that cloud computing is
the shift of computing to a host of hardware infrastructure that is distributed in the cloud. The
commodity hardware infrastructure consists of the various low cost data servers that are connected to
the system and provide their storage and processing and other computing resources to the application.
Cloud computing involves running applications on virtual servers that are allocated on this
distributed hardware infrastructure available in the cloud. These virtual servers are made in such a
way that the different service level agreements and reliability issues are met. There may be multiple
instances of the same virtual server accessing the different parts of the hardware infrastructure
available. This is to make sure that there are multiple copies of the applications which are ready to
take over on another one’s failure. The virtual server distributes the processing between the
infrastructure and the
computing is done and the result returned. There will be a workload distribution management system,
also known as the grid engine, for managing the different requests coming to the virtual servers. This
engine will take care of the creation of multiple copies and also the preservation of integrity of the
data that is stored in the infrastructure. This will also adjust itself such that even on heavier load, the
processing is completed as per the requirements. The different workload management systems are
hidden from the users. For the user, the processing is done and the results obtained. There is no
question of where it was done and how it was done. The users are billed based on the usage of the
system - as said before - the commodity is now cycles and bytes. The billing is usually on the basis of
usage per CPU per hour or GB
data transfer per hour.
Server Architecture
Cloud computing makes use of a large physical resource pool in the cloud. Asaid above, cloud
computing services and applications make use of virtual server instances built upon this resource
pool. There are two applications which help in managing the server instances, the resources and also
the management of the resources by these virtual server instances. One of these is the Xen hypervisor
which provides an abstraction layer between the hardware and the virtual OS so that the distribution
of the resources and the processing is well managed. Another application that is widely used is the
Enomalism server management system which is used for management of the infrastructure platform.
When Xen is used for virtualization of the servers over the infrastructure, a thin software layer
known as the Xen hypervisor is inserted between the server's hardware and the operating system.
This provides an abstraction layer that allows each physical server to run one or more "virtual
servers," effectively decoupling the operating system and its applications from the underlying
physical server. The Xenhypervisor is a unique open source technology, developed collaboratively
by the Xencommunity and engineers at over 20 of the most innovative data center solution vendors,
including AMD, Cisco, Dell, HP, IBM, Intel, Mellanox, Network Appliance,Novell, Red Hat, SGI,
Sun, Unisys, Veritas, Voltaire, and Citrix. Xen is licensedunder the GNU General Public License
(GPL2) and is available at no charge in bothsource and object format. The Xen hypervisor is also
exceptionally lean-- less than50,000 lines of code. That translates to extremely low overhead and
near-nativeperformance for guests. Xen re-uses existing device drivers (both closed and open
source)from Linux, making device management easy. Moreover Xen is robust to device driver failure
and protects both guests and the hypervisor from faulty or malicious drivers The Enomalism
virtualized server management system is a complete virtual server infrastructure platform.
Enomalism helps in an effective management of theresources. Enomalism can be used to tap into the
cloud just as you would into aremote server. It brings together all the features such as deployment
planning, loadbalancing, resource monitoring, etc. Enomalism is an open source application. It has a
very simple and easy to use web based user interface. It has a module architecturewhich allows for
the creation of additional system add-ons and plugins. It supportsone click deployment of distributed
or replicated applications on a global basis. Itsupports the management of various virtual
environments including KVM/Qemu,Amazon EC2 and Xen, OpenVZ, Linux Containers,
VirtualBox. It has fine graineduser permissions and access privileges.
Map Reduce
Map Reduce is a software framework developed at Google in 2003 to supportparallel computations
over large (multiple petabyte) data sets on clusters ofcommodity computers. This framework is
largely taken from ‘map’ and ‘reduce’functions commonly used in functional programming, although
the actual semanticsof the framework are not the same. It is a programming model and an associated
implementation for processing and generating large data sets. Many of the real world tasks are
expressible in this model. MapReduce implementations have been written in C++, Java and other
languages.Programs written in this functional style are automatically parallelized and executed on the
cloud. The run-time system takes care of the details of partitioningthe input data, scheduling the
program’s execution across a set of machines, handlingmachine failures, and managing the required
inter-machine communication. Thisallows programmers without any experience with parallel and
distributed systems toeasily utilize the resources of a largely distributed system.The computation
takes a set of input key/value pairs, and produces a set ofoutput key/value pairs. The user of the
MapReduce library expresses the computation as two functions: Map and Reduce.Map, written by
the user, takes an input pair and produces a set ofintermediate key/value pairs. The MapReduce
library groups together all intermediate values associated with the same intermediate key I and passes
them to the Reduce function.
The Reduce function, also written by the user, accepts an intermediate key Iand a set of values for
that key. It merges together these values to form a possiblysmaller set of values. Typically just zero
or one output value is produced per Reduceinvocation. The intermediate values are supplied to the
user's reduce function via aniterator. This allows us to handle lists of values that are too large to fit in
memory. MapReduce achieves reliability by parceling out a number of operations onthe set of data
to each node in the network; each node is expected to report backperiodically with completed work
and status updates. If a node falls silent for longerthan that interval, the master node records the node
as dead, and sends out the node'sassigned work to other nodes. Individual operations use atomic
operations for namingfile outputs as a double check to ensure that there are not parallel conflicting
threadsrunning; when files are renamed, it is possible to also copy them to another name in
addition to the name of the task (allowing for side-effects).
Google File System
Google File System (GFS) is a scalable distributed file system developed by Google for data
intensive applications. It is designed to provide efficient, reliableaccess to data using large clusters of
commodity hardware. It provides fault tolerancewhile running on inexpensive commodity hardware,
and it delivers high aggregate performance to a large number of clients. Files are divided into chunks
of 64 megabytes, which are only extremely rarelyoverwritten, or shrunk; files are usually appended
to or read. It is also designed andoptimized to run on computing clusters, the nodes of which consist
of cheap,
"commodity" computers, which means precautions must be taken against the high failure rate of
individual nodes and the subsequent data loss. Other design decisions select for high data
throughputs, even when it comes at the cost of latency.
The nodes are divided into two types: one Master node and a large number of Chunkservers. Chunk
servers store the data files, with each individual file broken up into fixed size chunks (hence the
name) of about 64 megabytes, similar to clusters or sectors in regular file systems. Each chunk is
assigned a unique 64-bit label, and logical mappings of files to constituent chunks are maintained.
Each chunk is replicated several times throughout the network, with the minimum being three, but
Even more for files that have high demand or need more redundancy. The Master server doesn't
usually store the actual chunks, but rather all the metadata associated with the chunks, such as the
tables mapping the 64-bit labels to chunk locations and the files they make up, the locations of the
copies of the chunks, what processes are reading or writing to a particular chunk, or taking a
"snapshot" of the chunk pursuant to replicating it (usually at the instigation of the Master server,
When, due to node failures, the number of copies of a chunk has fallen beneath the set number). All
this metadata is kept current by the Master server periodically receiving updates from each chunk
server ("Heart-beat messages").Permissions for modifications are handled by a system of time-
limited, expiring "leases", where the Master server grants permission to a process for a finite period
of time during which no other process will be granted permission by the Master server to modify the
chunk. The modified chunk server, which is always the primary chunk holder, then propagates the
changes to the chunk servers with the backup copies. The changes are not saved until all chunk
servers acknowledge, thus guaranteeing the completion and atomicity of the operation. Programs
access the chunks by first querying the Master server for the locations of the desired chunks; if the
chunks are not being operated on (if there are no outstanding leases), the Master replies with the
locations, and the program then contacts and receives the data from the chunk server directly. As
opposed to many file systems, it's not implemented in the kernel of an Operating System but
accessed through a library to avoid overhead.
Hadoop
Hadoop is a framework for running applications on large cluster built of commodity hardware. The
Hadoop framework transparently provides applications both reliability and data motion. Hadoop
implements the computation paradigm named Map Reduce which was explained above. The
application is divided into many small fragments of work, each of which may be executed or re-
executed on any node in the cluster. In addition, it provides a distributed file system that stores data
on the compute nodes, providing very high aggregate bandwidth across the cluster. Both Map
Reduce and the distributed file system are designed so that the node failures are automatically
handled by the framework. Hadoop has been implemented making use of Java. In Hadoop, the
combination of the entire JAR files and classed needed to runa Map Reduce program is called a job.
All of these components are themselves collected into a JAR which is usually referred to as the job
file. To execute a job, it is submitted to a job Tracker and then executed. Tasks in each phase are
executed in a fault-tolerant manner. If node(s) fail in the middle of a computation the tasks assigned
to them are re-distributed among the remaining nodes. Since we are using Map Reduce, having many
map and reduce tasks enables good load balancing and allows failed tasks to be re-run with smaller
runtime
Overhead. The Hadoop MapReduce framework has master/slave architecture. It has a single master
server or a jobTracker and several slave servers or task Trackers, one per node in the cluster. The job
Tracker is the point of interaction between the users and the framework. Users submit jobs to the job
Tracker, which puts them in a queue of pending jobs and executes them on a first-come first-serve
basis. The job Tracker manages the assignment of Map Reduce jobs to the task Trackers. The task
Trackers execute tasks upon instruction from the job Tracker and also handle data motion
Between the ‘map’ and ‘reduce’ phases of the Map Reduce job. Hardtop is a framework which has
received a wide industry adoption. Hadoop is used along with other cloud computing technologies
like the Amazon services so as to make better use of the resources. There are many instances where
Hadoop has been used. Amazon makes use of Hadoop for processing millions of sessions which it
uses for analytics. This is made use of in a cluster which has about 1 to 100 nodes. Facebook uses
Hadoop to store copies of internal logs and dimension data sources and use it as a source for
reporting/analytics and machine learning. The New York Times made use of Hadoop for large scale
image conversions. Yahoo uses Hadoop to support research for advertisement systems and web
searching tools. They also use it to do scaling tests to support development of Hadoop.

Cloud Computing Services


Even though cloud computing is a pretty new technology, there are many companies offering
cloud computing services. Different companies like Amazon, Google, Yahoo, IBM and
Microsoft are all players in the cloud computing services industry. But Amazon is the pioneer in
the cloud computing industry with services like EC2 (Elastic Compute Cloud) and S3 (Simple
Storage Service) dominating the industry. Amazon has an expertise in this industry and has a
small advantage over the others because of this. Microsoft has good knowledge of the
fundamentals of cloud science and is building massive data centers. IBM, the king of business
computing and traditional supercomputers, teams up with Google to get a foothold in the clouds.
Google is far and away the leader in cloud computing with the company itself built from the
ground up on hardware.

Amazon Web Services


The ‘Amazon Web Services’ is the set of cloud computing services offered by Amazon. It
involves four different services. They are Elastic Compute Cloud (EC2), Simple Storage Service
(S3), Simple Queue Service (SQS) and Simple Database Service (SDB).

1. Elastic Compute Cloud (EC2)


Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute
capacity in the cloud. It is designed to make web scale computing easier for developers. It
provides on-demand processing power. Amazon EC2's simple web service interface allows you
to obtain and configure capacity with minimal friction. It provides you with complete control of
your computing resources and lets you run on Amazon's proven computing environment.
Amazon EC2 reduces the time required to obtain and boot new server instances to minutes,
allowing you to quickly scale capacity, both up and down, as your computing requirements
change. Amazon EC2 changes the economics of computing by allowing you to pay only for
capacity that you actually use. Amazon EC2 provides developers the tools to build failure
resilient applications and isolate themselves from common failure scenarios. Amazon EC2
presents a true virtual computing environment, allowing you to use web service interfaces to
requisition machines for use, load them with your custom application environment, manage your
network's access permissions, and run your image using as many or few systems as you desire.
To set up an Amazon EC2 node we have to create an EC2 node configuration which consists of
all our applications, libraries, data and associated configuration settings. This configuration is
then saved as an AMI (Amazon Machine Image). There are also several stock instances of
Amazon AMIs available which can be customized and used. We can then start, terminate and
monitor as many instances of the AMI as needed. Amazon EC2 enables you to increase or
decrease capacity within minutes. You can commission one, hundreds or even thousands of
server instances simultaneously. Thus the applications can automatically scale itself up and down
depending on its needs. You have root access to each one, and you can interact with them as you
would any machine. You have the choice of several instance types, allowing you to select a
configuration of memory, CPU, and instance storage that is optimal for your application.
Amazon EC2 offers a highly reliable environment where replacement instances can be rapidly
and reliably commissioned. Amazon EC2 provides web service interfaces to configure firewall
settings that control network access to and between groups of instances. You will be charged at
the end of each month for your EC2 resources actually consumed. So charging will be based on
the actual usage of the resources.

2. Simple Storage Service (S3)


S3 or Simple Storage Service offers cloud computing storage service. It offers services for
storage of data in the cloud. It provides a high-availability large-store database. It provides a
simple SQL-like language. It has been designed for interactive online use. S3 is storage for the
Internet. It is design to make web-scale computing easier for developers. S3 provides a simple
web services interface that can be used to store and retrieve any amount of data, at any time,
from anywhere on the web. It gives any developer access to the same highly scalable, reliable,
fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of
web sites. Amazon S3 allows write, read and delete of objects containing from 1 byte to 5
gigabytes of data each. The number of objects that you can store is unlimited. Each object is
stored in a bucket and retrieved via a unique developer-assigned key. A bucket can be located
anywhere in Europe or the Americas but can be accessed from anywhere. Authentication
mechanisms are provided to ensure that the data is kept secure from unauthorized access. Objects
can be made private or public, and rights can be granted to specific users for particular objects.
Also the S3 service also works with a pay only for what you use method of payment.

3. Simple Queue Service (SQS)


Amazon Simple Queue Service (SQS) offers a reliable, highly scalable, hosted queue for storing
messages as they travel between computers. By using SQS, developers can simply move data
between distributed components of their applications that perform different tasks, without losing
messages or requiring each component to be always available. With SQS, developers can create
an unlimited number of SQS queues, each of which can send and receive an unlimited number of
messages. Messages can be retained in a queue for up to 4 days. It is simple, reliable,
secure and scalable.

4. Simple Database Service (SDB)


Amazon SimpleDB is a web service for running queries on structured data in real time. This
service works in close conjunction with the Amazon S3 and EC2, collectively providing the
ability to store, process and query data sets in the cloud. These services are designed to make
web-scale computing easier and more cost-effective to developers. Traditionally, this type of
functionality is accomplished with a clustered relational database, which requires a sizable
upfront investment and often requires a DBA to maintain and administer them. Amazon SDB
provides all these without the operational complexity. It requires no schema, automatically
indexes your data and provides a simple API for storage and access. Developers gain access to
the different functionalities from within the Amazon’s proven computing environment and are
able to scale instantly and need to pay only for what they use.
Conclusion

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

You might also like