But where is the program actually running? Where is the
data? Where are the servers? They’re somewhere out there, somewhere in some data
center, somewhere in the world. You don’t know where, and more importantly, you
don’t care; there’s absolutely no reason for you to care. What matters to you is
that you can get to the program and the datavwhenever you need to.
Let’s look at a simple example. A few years ago, I
started writing a blog.v(The blog has since moved, but it’s still a good
example.) When I gotvstarted, I used Google’s Blogger service to write it.
Every day, I wouldvopen up my web browser, go to http://goodmath.blogspot.com/admin,
andvstart writing. When I finished, I’d click on the Post button, and the blogvpost
would appear to all of my readers. From my point of view, it justvworked. All I
needed was my web browser and the URL, and I could write my blog.
Behind the scenes, Blogger is a complex piece of software
run by Google in one of its data centers. It hosts hundreds of thousands of
blogs, and those blogs are read by millions of users every day. When you look
at it this way, it’s obvious that the software behind Blogger is running on lots
of computers. How many? We don’t know. In fact, it’s probably not even a fixed
number—when not many people are accessing it, it doesn’t need to be running on
as many machines; when more people start using it, it needs more machines. The
number of machines running it varies. But from the user’s point of view—whether
that user is a blog author or a blog reader—none of that matters. Blogger is a
service, and it works. When I want to write a post, I can go to Blogger and
write it, and when people go to my blog’s web page, they can read it.
That’s the fundamental idea of the cloud: programs and
data are on a computer somewhere out there, and you neither know nor care where
that computer is.
Why call this collection of resources a cloud? A cloud is
a huge collection of tiny droplets of water. Some of those droplets fall on my
yard, providing the trees and the lawn with water; some run off into the
reservoir from which my drinking water comes. And the clouds themselves grow
from evaporated water, which comes from all over the place. All I want is
enough water in my yard to keep the plants alive and enough in the reservoir so
that I have something to drink. I don’t care which cloud brings the rain; it’s
all the same to me. I don’t care where on earth that water came from. It’s all
just water—the particular drops are pretty much exactly the same, and I can’t
tell the difference. As long as I get enough, I’m happy.
So think about the various data centers around the world
where companies have swarms of computers—as clouds. Lots of the biggest players
in network computing, including Google, Amazon, Microsoft, IBM, and Yahoo, all
have thousands of machines connected to networks running all sorts of software.
Each of those centers is a cloud, and each processor, each disk drive, is a
droplet of water in that cloud. In the cloud world, when you write a program,
you don’t know what computer it’s going to run on. You don’t know where the
disks that store the data are, and you don’t need to care. You just need to
know how many droplets you need.
Source of Information : Pragmatic - Code in the Cloud Programming Google App Engine 2011
No comments:
Post a Comment