Friday, November 14, 2008

Cloud Computing: Software as a Service?

Microsoft is selling it Azure Services Platform to corporate costumers. Competing with rivals, Amazon and Google, in this growing business.

The up for cloud computing is: Corporates do not need to maintain its own data centers. And corporate users shall be able to access from anywhere, instantly, and from any device. If I were right, this idea is not new.

Despite it is an old idea, it was never possible before the web services succeeded. It seems now is the right time for it. But is it so?

I'd to recall one thing: Computers start as huge things. With terminals, it becomes a centered service platform, which is accessible from limited distance. Then PC is developed to be small and powerful constantly. Then Internet becomes a really success. Services on the Internet gets harder to be supported by a few big servers because there are more and more users. Boom, modern cloud computing is here!

What is the catch? To me, the catch is API.

In the old days, at mainframes age, when you got a system developed on an IBM mainframe, you can hardly get it off from an IBM mainframe. It is highly possible you can't see it before you retire (the millennium bug is your only hope.). Why is that? Because systems from other companies (sometime same computer has dramatic differences) were designed so differently that you can't (don't) want to port a live system.

Fortunately, even Microsoft is not following POSIX well, it is possible to write some wrapping functions to make your software portable among different OSes.

And now the catch: It would be impossible to port from one cloud computing environment to another.

What I want to say is, we need a POSIX-extension, to provide an open API for cloud computing. Otherwise, we soon will see over-charge happening again like what it did in the mainframe age. Again, customers would be trapped and not able to get away from its vendor because of non-compatible API.

No comments: