Let me begin with a brief history lesson.
A long time ago, before this crazy interwubs thing caught on, there were these things called BBSes and Mainframes. A client would connect his computer (whether it be a actual dumb terminal or just acted like one) to an offsite server and do his work on said offsite computer. For a lot of reasons, this blew.
Then, Al Gore, toiling endlessly in his secret lab with Vint Cerf and Bob Kahn, created the internet and gave it to us. Combined with faster and faster computers, the standard dumb terminal model for computer networking died out. Now, personal computers were fast enough and good enough do their own work and used the internet to communicate between personal computers, decentralising data. It made things more equal, more egalitarian.
Now, some fuckwits somewhere decided that "Hey! Let's resurrect this ancient computing model that died out for good reason! Why? Why because we can slap a clever buzzword on it and convince the braindead sheep that this is new and awesome, when it is actually bullshit that will die out soon enough."
In my opinion, the whole concept of "Cloud" computing is antithetical to the direction the internet should be taking. The natural direction that we should be working towards is further blurring the line between server and client. Instead, we're taking a huge fucking step backwards.
Do you guys think there is a compelling reason to return to this "cloud computing" nonsense?
Posts
As far as true 'cloud' computing, though, would it's effectiveness hinge quite a bit on available bandwidth?
The idea isn't to go back to mainframes, the idea is variable amounts of processing power needed at various points. From wherever.
I crunch a lot of data. It comes in random (as in completely random, determined by customers I have no real control over) chunks. My options here are either:
A) possess enough computing power to process every customer's information at once, even if this never actually happens
possess enough computing power to process my average workload x2 or what have you for growth and buffer, and a cloud system behind it.
It's far more affordable for me to offload those sudden immense spikes of data processing to a third party who spins up my preformed VMs on demand and gives me sudden capacity without the expense of having another two rows of systems sitting hot on my datacenter floor and not doing anything.
Cloud computing as it is right now is more an extension of the logic of VMs: trying to get away from our old problem of the entire datacenter running at 3% capacity for most of it's life.
edit: hrm, what you all seem to be talking about are thin clients, which isn't how I've seen any major cloud computing services used yet. Thin clients make sense on a small scale or for simple apps (hospitals don't need Outlook on every patient's bedside, they need something small with access to CHCS or whathaveyou)
I know not of this heretical "cloud" computing though, and it sounds retarded.
I'm not seeing how client/server communication ever died off, dumb terminals just died. And those have stayed mostly dead. OnLIVE is off the top of my head the only crew trying to bring back the dumb terminal in any major way.
I think we need to sit down and define it. Cloud architecture isn't dumb terminal + big central server. At all. BitTorrent is an example of a cloud computing setup. So is SETI@Home. It's not "insert massive server here", it's "closer client/server relationships." Google Apps is technically cloud computing as well (on a SaaS level) as you're using their cloud to store you data and host the application. It's still not a dumb terminal for your system, it's just a platform and installation agnostic approach to data access. Also shockingly unpopular.
The idea behind google apps wasn't "replace your desktop with a brick", it was "access your documents from anywhere" and collaborative editing.
Client-server and on demand processing certainly have it's place, it's just not in every home, for every application.
I remember we had a thread on the same subject while ago as RMS had dropped a huge rant "Cloud == Evil".
Edit:
Yes, it's a dumb as fuck general term encompassing a zillion different technologies with pretty specific names. Every journalist would swallow it as hot bread.
Thin clients have their place, but barely in your home as a computing solution (great as things like a cable box and whatnot)
but they're listening to every word I say
SETI@Home isn't cloud computing, which is exactly the problem. SETI@Home and distributed processing is what we should be moving to, whereas "cloud computing" is a movement towards taking any processing off of your box and putting it on a centralised server somewhere.
Personally I don't really trust anyone that wants to hold my files for me somewhere and think that there's no chance that they'll loose any information or create fuck ups somewhere down the line.
but they're listening to every word I say
Edit: Well, unless it's a power failure or something like that, but at least then I know what's happened to my work.
Open vs Closed system and different levels of access to information you actually own.
I'd think everybody should weight that down for himself before deciding if he wishes to use "cloud" services.
Google apps are a cost effective solution for a lot of companies without much technological expertise.
I think you have neglected that data moves down the magic pipes a little faster this days.
Infinity Mog 21 and over Free Company Sargatanas Server. Recruitment currently closed.
but they're listening to every word I say
As well as for people who don't want to have to lug their computer around/files won't fit on a flash drive in their pocket.
Netbooks are cloud computing in the sense he means it. Dumb terminal with server processing giving you the service and programs that you need. I'm not seeing the downside here, except that you sometimes need a more 'smart' terminal to run certain programs. The fact that I can basically walk up to a random computer and plug in my username/password and it essentially becomes the same as my home PC is rather spectacular as far as I'm concerned.
Basically, I don't think enough people write apps which work on the model of keeping multiple replicated and synchronized copies of data across computers you work on.
On the black screen
I'd certainly agree that there is massive room for improvement, but this is basically new and unrefined. What geocities is to modern web pages. The philosophy behind it and where computing is headed is something that I find appealing though. And if we finally get the damn broadcast broadband created not being able to get online won't really be an issue outside of natural disasters/falling power lines. Which also screws you on a normal desktop anyway.
Sometimes it is nice to be able to have a text file or spreadsheet where you can just go to a webpage and muck around with it and share it with whoever, but sometimes you want a local copy or at least a place where it is specified. And sometimes you just want a straight up database. It just depends on what you are doing.
So yeah, I'd say cloud servers mixed with centralized mainframes are actually a pretty good idea.
So there's that.
Google is censoring negative publicity! Cabal!
No one writes software which really allows multiple edits to be merged easily (or provides a common interface for it - say, a program_name.exe /merge file1 file2 ability - which would work for things like unison) and there are no sync programs which make it particularly easy to have an automated and rigorous backup (I mean, I'd be content to run something which intercepted file calls and tracked edits so it always knew what state it was in, and then synced when it could up to a certain size).
Not really. Most urban areas (meaning a majority of the population) basically have omnipresent high speed internet access. Either via a wall jack and a cable company or wi-fi bleeding outwards from coffee shops and/or neighbors. In order to make sure that it is truly ubiquitous and available to anyone in the same way that electricity is we're a good ways off, but not terribly far and policy is heading in that direction. It would be nice if you could sync things up at home without a centralized Google platform as well, but when it comes to a lot of very basic programs that constitute the bulk of 'normal' computer use I don't really see the downsides.
OMG CENSORSHIP
no, honestly the reason is that no one bothered reporting on it because it was a total non-event for anyone other than the gross IT nerds who worked at the facility.
It's been used to describe everything from centralized ASPs to completely distributed Bittorrent networks.
I think it's poetic that the metaphor is fuzzy and amorphous, much like a cloud.
the "no true scotch man" fallacy.
For server-based computing, it's almost certainly the way basically every SMB our research lab encounters is wanting to go with their IT infrastructure.
Apart from HPC and, well, games I guess, a huge rift has been formed in between the server software and hardware markets. New and faster hardware is developed at a dizzying pace, while many companies prefer sticking to their old and proven software. Most SMB's don't really have time to do a lot of research into IT and larger companies don't really care a whole lot about hardware costs, so you end up with a printserver, a firewall, a mailserver, a fileserver, maybe a webserver, and of course database servers, etc. All of these running at about 5% of their hardware's capacities.
What with the current state of the economy (and the push to make IT greener), many of these SMB's (and large companies just as well) have been looking to somehow reduce the footprint of their IT infrastructures to only what is absolutely necessary (while still retaining the necessary availability of these services). If you know that on average, a dual socket server system that isn't being used optimally (think somewhere between 5-10% of its capabilities) still runs at about 330 Watts. Running 5 of these puts you at a usage of 1650 Watts, constantly.
So along came VMware with its barebone hypervisors, allowing consolidation of multiple software platforms onto a single server. Throwing together these theoretical 5 servers onto a single platform, than, when used efficiently, only consumes about 440 Watts.
The next step here is Cloud Computing. The whole idea behind cloud computing isn't just to put everything back into one big single machine, the idea is to break software loose from a single hardware platform. That's why we are now slowly but surely evolving to self-maintaining data centers, live migration of running virtual machines from one hardware platform to another, without the users even noticing. Servers are able to monitor eachother to minimize downtime due to hardware failures (look up VMware Fault Tolerance if you want to learn about something really cool). Yes, pretty soon we can start thinking of data centers as one big supercomputer, a huge resource pool, but the concept is infinitely improved from before. It is infinitely more flexible and maintainable, while still providing all the security of having separate hardware platforms handle things.
Cloud Computing is not a step backwards: it's a natural step forwards into a more efficient way of handling IT tasks. Amazon's Elastic Compute Cloud (EC2) and Google Applications are what they are because these companies have the IT infrastructure available to provide cloud services on a large scale.
It may not impact client-based computing users a whole lot to this day, but trust me, in the server world, this is HUGE.
EDIT: Just think about how much power the average desktop computer is sucking up while you're doing menial tasks like surfing the web and maybe listening to music. Personal computers are horribly bloated and are pretty much only ever running efficiently when playing video games (or something similar). Distributed computing is one way of trying to actually put all that wastefulness to use, cloud computing is a way to reduce it for companies.
Man that'd hardly negative publicity. A whole datacentre burned to the ground and it didn't disrupt services at all?
Google: Your data is immune to fire now.
*grumble*
Again, this is really how everything works Anyways.
Think about your office. Think really hard. How much of the stuff you use isn't actually doing more than temporary storage/rendering on your system? Of all the apps I have open right now, my notepad scratch file is the only entirely local application running. Email? Just a local cache and application, all the data is IMAP on the exchange server. Ton of putty windows, because it would be silly for me to run the data crunching applications off user desktops. Firefox windows, which are obviously just rendering the end result of code running somewhere else.
My machine here IS a dumb terminal, it's just got an awful lot of hardware behind it trying to pretend it's not. That said, local machines aren't going away barring very specific circumstances. But even then, centrally managed machines are useful. Enterprise backups of your desktop VM farm. No data loss on hardware failure. Give new box, plug in VM path, run. Run from anywhere capability (no assigned desk, just come in, sit down, log in, and your customized desktop is there). Honest dumb terminals are useful for hospitals and educational systems, but centralized storage and management is useful anywhere (and not having to buy bleeding edge desktops for everyone is a huge perk)
Cloud Computing isn't about replacing the world with dumb terminals. It's about reducing the massive waste inherent in the idea of overly fat machines on every desktop and in every server. It's an evolution of the idea of VMing things for resource reduction/cost reduction. Grid and Cloud computing aren't horribly different technologies, it's the application of such (and cloud being an overly broad marketing term). Grids tend to have a lot of machines, and you allocate the majority of them to working on one massive problem. Clouds are about allocating smaller blocks of processing to larger pools of varied requests. The EC2 cloud is just a fuckton of processing power, and you buy it by time chunk/number of processors you need for that time. It's pay by use burst processing that can integrate with your systems. And that should never go away, because the alternative is having to buy 30 new servers and rack space/power/cooling because you want to crunch your indexes for a client again this month and that goes beyond normal expected processing needs. I don't WANT a 300 server datacenter for a company that honestly only needs 150 on a regular basis. I'd rather replace it all with some seriously hardcore machines running any form of virtualization so I can get even more leverage out of the sliding windows of processing power required by certain systems. I loved when I worked at a company that went that route. We had specific processing times on a clock. Old method was to run dozens of machines that 95% of the day ran at 2% processor, and 5% ran at 80% doing all the math. New method was that their effective hardware could run the actual day to day operations until that 5% shows up, and they could steal some resources from trivial systems like the backup server for a few minutes that didn't need it at the time. Real time distribution of hardware resources to things that need it, instead of massively overspeccing a datacenter Just In Case. Efficiency!