Wednesday, October 28, 2009

Is cloud computing ready?

I recently read Infoworld's coverage of Cloud Computing (link here). I think the description is overly complex, futuristic and not clear. The cloud is too new to bed considered as a stack. Let me try to simplify the cloud.

IMO, there are 3 types of cloud services:-
1) SaaS (i.e., email outsourced, etc.)
2) Web services (i.e. google maps, facebook connect, XML APIs, ProgrammableWeb, etc.)
3) Infrastructure (i.e. Amazon EC2). This is what I think of when I say "the cloud"

SaaS is relatively easy, either do it or don't, depending on whether SaaS product provides the features you need. Web services is also easy, really just a web API. (NOTE: I am making the assumption that security issues in the cloud meet appropriate standards for you applications. This is different in different industries and applications).

Infrastructure is hard. The main barrier is with existing applications that are two or more years old, and not cloud compatible. I've not seen nor heard of any CTOs moving an existing application to the cloud. I've only seen it done for new application frameworks which are cloud-friendly, typically PHP, Ruby-On-Rails and other open source frameworks. Many startups are using these open source frameworks and the cloud for infrastructure, and having great success.

The other "unspoken" barrier is that deploying in the cloud invalidates existing corporate data center investments. Oops! You would think a private cloud would solve this investment dilemma, but I have not seen large corporations move this way. I was completely surprised when I discovered that most very large corporations have no intentions of building a private cloud.

Question: how is a CTO to move to the cloud?
Answer: by replacing existing application with a brand-new application which is cloud-friendly

This is tough, who has time, budget or inclination to completely replace existing applications? This is way harder than internet-enabling applications, which CTOs have been doing or completed in the last 5+ years. How long will it take for us to completely replace all our application frameworks?

In the meantime, we'll continue to watch with envy as startups make full use of the cloud.


Saqib Ali said...
This comment has been removed by the author.
Saqib Ali said...

moving existing apps to the Google Apps Engine will not be easy. today the most applications are RDBMS driven. In the Google Apps Engine world there is no concept of RDBMS.

Google Secure Data Connector (SDC) allows applications running on Google App Engine (in Cloud) access to RDBMS behind a firewall.

Things to consider:

1. Apps that you develop in Google App Engine can not directly talk to the Databases behind a firewall.

2. Google App Engine does not support regular SQL (RDBMS) queries. You need to install Feed Server behind the firewall that converts the query result sets to ATOM (gData). The SDC then talks to the Feed Server. And the applications running on the App Engine talk to the SDC.

3. This is an excellent architecture, as it provides multiple levels of security - at the DB Level, at the Feed server level, and at the Secure Data Connector Level. And most importantly No firewall re-configuration is required.

4. Having said this, I don't see the current RDBMS application moving to Google App Engine anytime soon. There is a lot of re-work involved. But for future applications based on an existing RDBMS, Google App Engine with Secure Data Connector should be considered an option.

Merge-join, Lists and fuzzy query are some of keys benefits of Google Apps Engine

Dennis H™ said...

hi there...i've been contemplating about converting my existing web-based business software that has been in existence for about 7 years already from traditional license software to saas model. i hope the answer to your blog title is yes...