In traditional network diagrams, the cloud always represented a fairly static
view of an intermediary virtual area on the Internet. It basically had no real
function other than passing data from one point to the other between servers on
the Internet and clients. Hosting companies would host servers on the Internet
where you could setup your applications to run.
The Cloud Computing model changes this slightly. Instead of providing just a
medium for messages to pass through between clients and servers, it tries to
provide a number of services within the Internet “cloud” itself. These services
can range from storage, computation, applications and even complete operating
systems — all available as a service on the Internet — which you can go ahead
and use directly. The “Software-as-a-Service” or SaaS concept is one of the
major driving forces of Cloud Computing along with other concepts such as Web
2.0, the Web browser and mobile applications.
Amazon
Amazon has a number of Cloud offerings. The Amazon EC2 (Elastic Compute Cloud)
is an offering that allows users to request “virtual machines” in the cloud.
Once the request is met, the user can “provision” these virtual cloud servers to
run any software they want. This is completely dynamic in the sense that the
user has control over how many virtual instances he wants to provision and run
at a particular point in time. The servers can run anything from OpenSolaris,
Linux to Windows Server 2003.
Other services that Amazon has include S3 (Simple Storage Service) — a
service that lets users or applications use unlimited storage for their files
and SimpleDB - a distributed database system that can be used in conjunction
with S3 and EC2. All of these services are available through programming models
to enable end users the ability to use them in their own applications as well.
The traditional computing model over the internet | The Cloud Computing model where the service layer provides access to the services in the cloud. |
Google
Google provides two different sets of services in the cloud computing world. The
first is the famous Google Apps — a combination of services that users can use
as part of their own domain to enable common functionality. The different parts
of the Google network — Gmail, Calendar, Talk, Sites and Docs — are combined
into a packaged offering that users can subscribe to in an enterprise. This
enables users to have their entire organization's data stored up in Google's
“cloud” and make it accessible almost anywhere.
The other service that Google offers is the Google App Engine. This is an
online application framework where users can host their own applications.
However, the Google App Engine only supports a limited version of Python as
their programming framework. It also has a database-like construct with an
SQL-like language to be able to use to program applications.
Microsoft
One of the biggest criticisms of the Cloud Computing model is about offline
availability of data. For instance, what happens when the Internet connection is
down, you're travelling in a plane or the service itself is down for some
reason? Do you have access to your data at that time — in traditional SaaS
models, you do not. This is where Microsoft pitches the “Software + Services”
model over the “Software as a Service” model. According to Microsoft, services
in the cloud must be rich but also be able to sync with a software in the user's
enterprise (desktop/network) seamlessly to provide an offline experience as
well. Microsoft — although a slightly late entrant — have probably the largest
set of offerings in the Cloud Computing space and are heavily invested into it
for the future as well.
Windows Live:
This is a set of services offer consumer centric services — such as blogs, photo
galleries, online storage, messaging, mail, calendars and more. End users also
get a bunch of tools that allow them to work with these services offline. For
instance, to write and manage your Blog, you can use Live Writer. To work with
images and upload them, the Live Photo Gallery is a Windows application that
lets you process the images on your machine.
Microsoft Online Services:
Also called the Business Productivity Online Suite (BPOS), this set targets
enterprise customers with hosted Exchange, SharePoint, Office Communications
Server, Live Meeting and Dynamics CRM. Enterprises can subscribe to these
services and users can use them in both online and offline modes. No more
worrying about being unable to access a mail, a CRM contact details or an
important document when offline.
Windows Azure, SSDS and Live Mesh:
Microsoft recently announced the availability of a new set of services under the
name of Windows Azure. This is for almost all practical purposes a online
version of Windows that allows developers to use the hosted Windows platform to
create and host their own applications. The SQL Server Data Services (SSDS)
provides well knows SQL Server 2008 based database storage engines and Live Mesh
allows for data and application synchronization between desktops and even mobile
devices.
The future
There are many other companies in this playing field as well — IBM, HP,
SalesForce — to name just a few, who are heavily investing in this model of
computing. Since Cloud computing reduces the infrastructure requirements and
budgets that an enterprise needs to host their applications or data, this model
seems to be getting more popular. One doesn't need to worry about purchasing and
provisioning hardware and software, integrating it into the network and other
headaches. Simply request the service or upgrade you want and it gets done for
you transparently. Cloud computing can help you cut or at least manage your
infrastructure costs better and allow availability of your application and data
over the Internet. However, one must be able to ensure that data is available
anytime one needs it and having a good software and a seamless connectivity to
the service is essential in this regard.