views:

309

answers:

6

It seems that SaaS and Cloud computing are old concepts with new names, and I am curious if I am wrong.

For cloud computing you can look at: http://stackoverflow.com/questions/1349894/difference-between-cloud-computing-and-distributed-computing

Basically, it seems that when we have been hosting that that is cloud computing, it is just that now some companies have put in much great resources to ensure better uptime than my local ISP. But, it seems that there is nothing really new here.

For REST, it seems that it is what we have been doing with cgis for 15 years.

Here is a question on REST: http://stackoverflow.com/questions/343288/what-am-i-not-understanding-about-rest

It appears that REST is an old concept, and I am curious how it is different than has been done since the early days of the web, and, to a large extent, the early days of using telnet (which http is on top of).

Am I mistaken in my simplification of these? I try to see how what is new is like what I know so I can see what more has to be learned in that topic, but for cloud computing and REST it seems that very little needs to be learned.

+1  A: 

I'm in agreement on what you've posted. You might consider making this community wiki since it's likely to garner many answers based on opinion. Cloud computing seems to have taken off as a buzzword, and this is largely due to a decrease in cost for mass quantities of hardware. And then there is REST which is really just a formal name and definition for something that has been in place for a long time. Some people like to encapsulate ideas with buzzwords and acronyms. Sometimes it's useful to put a name to an idea though.

byte
A: 

Not only this, the concept of things being old concepts with new names is old. It's hard to be original these days :P

Noon Silk
+2  A: 

You are both right and wrong. You are right in the sense that new ideas are normally similar to old ideas, and indeed cloud computing is based significantly on distributed computing.

What is new in cloud computing is

  1. virtualization
  2. self-service

With virtualization, you can run multiple operating systems on a single hardware. While that, in itself, isn't new, either, it was never considered in distributed systems as a relevant piece of the architecture. Using virtualization allows self-service: users can create their own clusters of nodes without the administrator of the hardware taking any action. This allows a significant acceleration of deployment, and a significant reduction of cost.

For ReST, what you are missing is the client API. It is true that on the server side, a ReST service can be implemented with CGI. What is new here is that it is not an end user which retrieves the URL, but a program.

Saying that HTTP is on top of telnet ignores realities; this is like saying that we made no progress since the introduction of copper wires for communication. Strictly speaking, HTTP is not in top of telnet, but on top of TCP (which telnet is also on top of, these days).

Martin v. Löwis
+1 for the distributed server explanation, but the REST explanation is lacking. Its more than just a client; its using HTTP to its full intent as it was defined years ago (status code, headers, mimetypes, etc etc)
Richard Levasseur
+2  A: 

Considering Roy's dissertation coined the term REST back in 2000, you can definitely argue that there is nothing new about REST. Additionally, the REST architectural style was synthesized from successful existing practices, so REST implementations pre-date the definition. Having said that, there is nothing simple about designing REST interfaces. Ever since Netscape first abused cookies to allow servers to maintain session state people have been swimming upstream against the web.

REST's recent resurrection has come mainly from people becoming disillusioned with SOAP based Web Services. SOAP tried to hide HTTP instead of embracing it and I think people are starting to realize how effective HTTP can be as an distributed application protocol that can do more than just deliver HTML to web browsers.

RESTful web applications don't use session state, so one could argue that by that virtue alone it is different than most web applications in existence at the moment.

As for Cloud Computing, I find myself agreeing with Larry Ellison for once in my life.

Darrel Miller
A: 

In a few more years we will have come full circle and be back to where we were 30 years ago. Instead of your data being "on the mainframe" it will be "in the cloud".

Dan
We have already passed that - remember when the app and the data were on the mainframe and you just used terminals that sent some markup coded ascii text back over the (serial) wire ?
Martin Beckett
Today that "markup coded ASCII text" is HTML instead of putting a terminal to "forms" mode.
Dan
A: 

You are right about REST -- its mostly old concepts with a lot of added pedantry and not much added substance.

Cloud computing has a small but fundamental difference from distributed computing. In distributed computing you had servers dedicated to particular functions, and usually some sort of directory service to locate the correct server. In cloud computing any server is capable of any task and usually the servers queue up for work which is distributed from a central point.

James Anderson