Thursday, April 30, 2009

Cloud Computing

I attended a financial services industry forum on Cloud Computing today. This is a very interesting concept.

Since I have no actual work experience in implementing any production cloud computing application, I will list out some very general points.

What is cloud computing?
It varies by whom you talk to. One way for me to look at cloud computing is as a Platform-as-a-Service. It hides all the infrastructure details inside a cloud and let the application team focus on the business logic they need to address. The cloud can be located inside or outside of the company. If you decide to use a public cloud, you can think of outsourcing the infrastructure. Amazon's EC2, using virtualization to support a specific instance of a specific OS is one example of a popular public cloud.

Attractiveness of cloud computing
The capacity needs can be dynamic. If a company needs to run a computational intensive process once in a while, they can "rent" some CPU cycles from the computing farm once a month.

For the public cloud model, each company also needs to review whether a particular service level agreement is acceptable. For example, are you satisfied if you can get a refund of the service fee if a company does not meet its SLA of 99.95% uptime per year, or about 4 hours downtime per year? Can you afford even longer (however unlikely) outage without any direct control in fixing the problem? Will having a different backup cloud as a business continuity plan good enough? Is it justified for you to manage your own infrastructure?

Getting back to basics
We still need to address the same problems we have. What are the business use cases, processes, and data. What functions we should move to the "cloud" and why it will be a more effective solution. We also need to address the typical questions on data transfer throughput, latency, authentication, privacy etc... Having cloud computing framework can give you another tool as a means to an end. The end can be cost saving, reducing operating complexity or load balancing between multiple applications. The due diligence will be, what is the advantages of picking this technology over others.

I will discuss my view on this topic with more specific examples and technical details in a future blog.

No comments:

Post a Comment