Cloud computing means creating an information system whereby the users do not need to have sophisticated computers, instead they are accessing data and programs which are stored and run on a powerful central computer. The idea is not new; in fact in computer science there's been trends going back and forth, from spread-out to centralized paradigms.
I'm thinking about the future of cloud computing. The issue can be illuminated by taking several slices:
- benefits to the user
- ease of administration
- cost issues
Security is a first major issue. What might come to mind is that cloud computing
must be inherently insecure: since the data is stored on a central computer's
memory, then simply the subversion of this single computer would yield data
of several thousands of users - or even more.
But then again, in reality it might be exactly the opposite: instead of having
data spread over thousands of insecure amateur's computers, why not use a
well-designed security architecture on a single computer which can be definitely
Usability depends on basically three things: local computer performance,
the network connecting the local and central computer, and the performance of
the central computer.
If you have all these things in order, usability will not be an issue. So
have a well-designed, ergonomic local computer; a fast, lossless and low-lag
network; and finally a supercomputer which can churn out data even when there's
a lot of load.
If any of these 3 lags behind the standards, then we're going through the lowest
common denominator and usability is trashed.
Benefits to the user are probably in three key areas: costs, availability of
information, and performance. Costs can hopefully be cut by using a central
computer. This is not obvious, since the computer costs will probably be
divided by user count, and thus it requires a certain amount of users to
support a computer economically.
Availability of information plays a great part: the cloud computing should
mean that information processing would be available 24hrs a day, 365 days a year.
No matter where or what kind of equipment the user was running, he would have
the data and tools available everywhere. Availability also includes data redundancy,
or the fact that the central computer has a good set of backups of all the data.
Redundancy would be ideally totally transparent to the user, so that even when
there would have been physical loss of data at some point, the redundancy mechanism
would automatically repair any loss and the user would not even notice.
Performance in an interesting area. The central computer would have to split its
computing power by the number of users running programs. But as usual, not everyone
is needing 100% of power all the time, and thus this time sharing of the power
can be viable option. In fact, multitasking operating systems have been around
for quite some time.
There are good reasons to believe that cloud computing is on its way to making
into the use at home and office. As to how much and in what kinds of solutions,
I'm still out there to look for it.
We're already seeing a lot of examples of cloudish style computing. Take all the
portals on World Wide Web: there's email providers like Gmail, social networks
like Facebook, instant messaging portals, sites for discussion, all kinds of
interactive web pages. And we're free to use (most of them) anywhere in the world.
You can live in Finland, but log on to your Facebook account in Thailand to show
off some nice pictures and greetings from the trip. Just right now, I'm writing
this blog entry in the library, a couple of kilometers away from home. Even though the hardware is far from identical, there's usually couple of things that smooth out the unevenness: the operating system, and the web browser. It really makes information processing a lot smoother to have these "toys of the DARPA origin". For more information on what DARPA is, see DARPA article on Wikipedia.