Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

They both can be seen as centralized processing, but from a developer's perspective is it returning us to the days when access to computers you could program yourself were limited and expensive? To me that was the problem the PC solved.

Heard this on http://thisdeveloperslife.com/ 1.0.6 Abstraction.

share|improve this question
1  
Are you talking about mainframes in the sense of the dinosaur pens where you have to get the operators to run any program, or in the sense of the time-sharing systems that were prevalent in schools before home computers became common? There wasn't that much difference, in practice, between good time-sharing systems and home computers. –  David Thornley Oct 27 '10 at 16:11
    
@David Thornley - Refering to 'going back to mainframes' as an arguement against something is probably only considering the negative aspects you mentioned. There were claims that net books/pcs were like dumb terminals. –  JeffO Oct 27 '10 at 18:13

5 Answers 5

up vote 7 down vote accepted

Computing is constantly swinging back and forth between centralized and decentralized architectures. I think it is simply a case of "The grass is always greener".

However, I don't think that the centralized model (IaaS) is necessarily going to make access to computing power more expensive. That, in my opinion, was more a factor of how expensive the computing equipment was and not so much the purchasing model of computing power.

share|improve this answer

Actually, I think that the effect of Cloud Computing will be quite the opposite: it will democratize the building of large web applications by making the required infrastructure available to nearly anyone.

Yes, we will have to be able to pay for the services provided by the cloud providers, but it will be immensely more practical for a single developer or a small team to have viral-level success with a web application than if they had to provide the hardware, co-lo, configuration and maintenance themselves.

Similarly, IaaS provides a marked advantage over traditional hosting in that it accounts for sudden, low-effort scalability. If my application runs on Google AppEngine and goes viral, I have to do nothing; it will scale without any effort on my part. However, if my PHP/MySQL app is on GoDaddy and needs to scale, I will have a good amount of work ahead of me.

share|improve this answer
    
Sorry to ask: What is co-lo? –  user1041 Jan 24 '11 at 8:51
    
@Gorgen: co-lo is colocation, and I meant that it generally costs a lot of money to host your servers in a colocation hosting facility. –  Adam Crossland Jan 24 '11 at 14:59

Disclaimer: I do not work for IBM. I also can't stand Mainframe salesfolks who have repeatedly blown me off when I try to bring them in on some accounts. I am no IBM fan for many reasons, BUT:

The beauty of Mainframe is that it can act as a big cloud with centralized management or it can act in a highly-scale-up system as well.

The ability to run literally thousands of Linux instances with a physical (energy, rack space) and support footprint in the fractions of what it would cost to manage several hundred VMWare boxen.

Workload management and on-demand ergonomics of CP(U) and memory resources is simply decades ahead of anything else. This is very important when you are overcommitting computing resources, and running any cloud services company, this would be crucial to your margin.

Stepping down from Mainframe, even AIX can run circles in vertical and management scalability around other computing

Remember the cloud is no different from colocating some slabs, just at an extreme price point for the consumer to adopt as well as the ability to remove the liability of most systems management. Ask yourself this, if you were to create a new Amazon AWS-style service, what architecture would you choose from the context of your P&L?

share|improve this answer

The whole thing about the cloud is that it should be decentralised- one datacentre goes down? No problem, the app is running in five other places too. It really doesn't care about physical hardware.

The "traditional" model for serving websites is that you pay for a server or a bunch of servers in a datacentre somewhere. You give the hosting company money and they give your computers a home and/or provide some maintenance. Every user who accesses your site does so by going to that server.

That is a fairly centralised situation right there.

The advantage of a cloud setup is that your site or service is now hosted on virtual machines wherever you need them to be. To me that is less centralised. Admittedly the code isn't running on your local machine and the data isn't being stored on your local machine, but if that is the only place you're running code or storing data then that's a kind centralisation too.

The way it is perhaps more like mainframes is the pay-as-you-use approach. Again if you compare that with traditional web hosting approach you aren't paying the background running and rental costs of having a server at someone's server farm, so actually relative to that it can represent fairly good value.

On the whole I would say that the cloud is neither centralising nor particularly similar to a mainframe. Maybe the approach of storing your data on a server far from your own machine is more mainframe-like, but that isn't really something to do with cloud computing, that's more to do with how developers design applications now. They could be doing that with a few physical servers of their own as easily as using one of the cloud storage services.

share|improve this answer
    
I looked at centralized more from the user's perspective of the cloud as a single entity to connect to regardless of the hardware and operating system virtualization behind the scenes. –  JeffO Oct 27 '10 at 18:15
    
I guess the idea that Jo User has her computer and there is the internet is a little old fashioned now. One advantage of the cloud is that Jo User has her laptop and her ipad and her iphone and her work computer and if her data is on any one of those she's constantly having to pass it around. If it's out on the cloud then she can access it from any of them. –  glenatron Oct 28 '10 at 9:42

It is similar in the standpoint of cloud computing is implemented using virtual machines and Mainframes have been doing that for thirty years or longer. Mainframes also can be physically distributed while supporting a single logical instance.

One thing that strikes me as very different, is that real cloud solutions provide computing resources on demand. Now, not every cloud environment really supports this but the biggest ones all do in some way. So whether its just seamlessly replicating the application to more app servers as Google does, or by providing API's to add new virtual machines like Amazon does, either way you can immediately get more computing resources. Mainframes you can increase allocations to existing LPARs but bringing on a new LPAR is not trivial and neither is adding more processing power to the system (depends very much though on what you want to add and the system you are using).

Clouds are not centralized in the sense of having one large system support all these VMs, they are usually built on a distributed architecture even at the local level (lots of blade servers for example).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.