The idea of delivering information technology through a utility model is very promising.
It has also started to become a reality with technology giants such as Amazon, Google
and Microsoft providing the infrastructure and the platform to develop cloud-aware
applications. Many enterprises have started to look into leveraging cloud computing
infrastructure. However, cloud computing is still evolving and IT managers need
to be aware of risks and challenges. This article explains the current status of
infrastructure and platform from all the three major providers. I will also discuss
ways to maximize the benefits of cloud computing while minimizing the risks.
Cloud computing is development and use of computer technology in which real-time
scalable resources are provided as a service over the Internet. Typically these
resources are provided as a pay-as-you-use model. Consumers do not own the infrastructure,
helping them avoid capital expenditure.
Cloud classification
Cloud computing services can be classified as Infrastructure as a Service (IaaS),
Platform as a Service (PaaS) and Software as a Service (SaaS).
Infrastructure as a Service (IaaS): IaaS providers make it affordable to provision
resources such as servers and storage. They also provide tools to monitor and manage
resource usage.
The most important benefit of IaaS is rapid provisioning. You can have a new server
up and running in minutes.
Platform as a Service (PaaS): PaaS providers make it easy for application developers
to build and deploy their applications. PaaS cloud tries to hide the complexity
of underlying IaaS cloud from developers.
The most important benefit of PaaS platform is that you can get started with cloud
application development with very small capital investment (sometimes free). Usually
the development effort is also less as the plumbing for scalability, storage, etc.
is provided by the platform.
Software as a Service(SaaS): SaaS providers make their application hosted as a service
provider to their customers on the Internet. Although the term SaaS predates cloud
computing, cloud computing is making the SaaS model even stronger. SaaS providers
can simply use PaaS and/or IaaS as the underlying technology, thus reducing their
internal expenses and development efforts.
The biggest advantage of SaaS is that it alleviates the customer's burden of software
installation and maintenance. Also, no additional hardware needs to be procured.
Leading providers
The number of cloud service providers is increasing each day. In this article, I
will introduce three well-recognized names: Amazon, Google and Microsoft. Some other
big names worth mentioning who also have an offering in the pipeline include IBM,
Sun, and HP.
Amazon
Amazon is an IaaS provider. Its cloud is called Amazon Web Services (AWS). Two core
services they provide are Simple Storage Services (S3) and Elastic Compute Cloud
(EC2). S3 provides data storage at a cost of about 15 cents per gigabyte per month.
EC2 provides computing power. Pricing is based on the type of computing power (measured
in terms of EC2 compute units) and the amount of memory (measured in gigabytes)
you need. A standard small instance, for example, is defined as 1.7G of memory,
1 EC2 compute unit, and 32-bit platform. A standard small instance, when used with
Linux OS, would cost 10 cents per hour of usage. Rates are different for the U.S.
and Europe. There are other pricing factors such as data transfers in and out of
the cloud, database server to use, etc. that you must also consider. The complete
price list, along with a pricing estimator, is available on Amazon.
Google
Google is a PaaS provider. Its cloud, named Google App Engine, provides a service
that lets developers write Python-based application and host them on Google infrastructure.
The platform provides dynamic web serving, data storage, and APIs to authenticate
users and send emails. Currently, there is no fee for using the App Engine. However,
there is a limit of 500MB of storage and up to 5 million page views a month. There
are some other quotas and limits that are explained at their website.
Microsoft
Microsoft is a PaaS and a SaaS provider. Its PaaS offering, named Azure, provides
an operating system (called Windows Azure) for application hosting, Microsoft SQL
services for data storage, and a set of building blocks for developers. In future,
Microsoft plans to offer Microsoft SharePoint services and Microsoft CRM services
as well. Applications can be developed using the familiar Microsoft Visual Studio
and deployed on Windows Azure. At present, services included in Azure are free.
After the preview period, the pricing will be based on consumption-based model that
includes factors such as compute time, bandwidth requirement, etc. Pricing has not
yet been disclosed.
As a SaaS provider, Microsoft intends to provide Dynamics CRM Online, Exchange Online,
Office Communications Online and SharePoint online.
Preparing for the cloud
Does cloud computing fits into your company’s strategy? Before you get on the bandwagon,
make sure that you evaluate the risks. Here are some issues that you may run into.
Feasibility
The architecture provided by the current cloud providers is dissimilar to common
architecture for enterprise applications. In many cases, the functionality provided
is very limited. It may not always be possible to migrate your existing enterprise
application into the cloud. Google App Engine limits development to Python. Microsoft
Azure provides a better set of development primitives. However, it is limited to
.NET applications only.
In terms of flexibility, Amazon is probably the best. It provides an empty image
that you can put anything into. It also supports Windows and Linux operating systems.
Cost effectiveness
No capital expenditure combined with pay-as-you-go model looks very enticing. However,
pricing varies based on many factors such as storage, computing power required,
etc. However, you need do your own estimations. How much average disk space you
require? What is the average processing power you need per month? How much is your
network activity? Don't believe in TCO numbers given by the cloud service providers.
Another thing to think about is the cost of migrating your existing applications
into the cloud.
Finally, one thing that almost everyone ignores is the cost of quitting. If you
are not happy with the current vendor and would like to move to a newer one, how
much will it cost to convert your existing application to run on the new vendor's
architecture?
Security
Security is probably one of the top issues for moving to cloud. What measures have
been taken by your vendor to ensure security of your vital business data -- when
stored in the cloud as well as when flowing over the Internet? What level of authentication
and authorization is built into the cloud services? What about data privacy, security
audits, and other regulatory requirements?
Quality of service
How does the vendor handle peak conditions? Is there an SLA to guarantee certain
expected peak load for CPU, memory, network, etc.? What measures are in place to
ensure scalability and performance? How well is the response from the support desk?
It is interesting to note that most cloud vendors today do not provide a strong
SLA.
Network availability
This issue is more so with your network provider than with your cloud vendor. As
your application and your data are not on premise, Internet disconnectivity may
harm your business. You network provider needs to ensure 99.9 percent network availability
during work hours.
Managing cloud applications
If you plan to deploy your application into the cloud, you also need to manage your
cloud resources such as creating a new computing unit or increasing the storage
for an instance. You should be able to monitor and load-balance operational metrics.
Amazon provides a web-based management console to monitor and manage your EC2 instances.
Conclusion
Like anything, the cloud brings with it a set of possibilities and challenges. Amazon,
Google and Microsoft are current providers of cloud services with IBM, Sun, HP and
others on their heels. The cost effective cloud computing is definitely coming of
age in a time where cutting costs is not just a good idea, but mandatory. The cloud
and the SaaS, IaaS, and Paas classifications will see continued growth in the years
to come and the challenges, like any, will be stepping stones of exploration and
growth. The cloud may not be feasible for many companies, as it stands today, but
as developments are made and hurdles are jumped it would be wise to keep a finger
on its pulse.