Three praises of cloud computing

This was, once again, a long winded comment that I decided to turn into a post. I really need to work on my verbal diarrhea.

In response to Nicholas Sinlock‘s Three critiques of cloud computing post yesterday, here is the opposite point of view. (Please check out the rest of his posts. They’re well worth your time.)

First, let me address some of your critiques…

I can certainly understand your reservations as well as Stallman’s. While the criticisms are valid, they also side-step a bit of our own history re: computing. That is to say all computing endeavours started out with abysmal reliability, questionable control, and imaginary security.

These are not excuses for lackluster performance today, but by relative comparison of the platforms of concern, specifically Gmail as in Stallman’s example, they are actually at a head start. However, the fact that this is merely emerging technology, these concerns may yet to be addressed to a degree computing experts will be satisfied. Give it a couple of years ;)

Addressing Gmail :
I don’t use a web browser to access my accounts. Considering I have a dozen or so email addresses and I’ve subscribed to dozens more newsgroups, I use Mozilla Thunderbird, an open source mail client, instead.

And specifically addressing Google’s ownership of Gmail :
Hey, they’re no worse than Hotmail, Yahoo! or Hushmail. It’s rather unrealistic and quite silly to expect everyone to run their own mail daemon if that was Stallman’s expectation. In this case many of us have no choice but to use a hosted service anyway. Besides, privacy is always relative on the Net when it comes to email.

The trap that wasn’t

I don’t view this as just more proprietary creep (a la feature creep) as Stallman does. The platforms offered today, as is the case with many icons in prolific use, are only the tip of the iceberg.

We have alternatives to proprietary software in quantities (and qualities) never dreamed of before. In fact there are several that are only available as OSS. As far as idea bins go, CC software is right up there with the Operating System in terms of developer magnetism.

I can see OSS alternatives to CC proprietary competitors today in as soon as 3-5 years. In the same spirit as Wikipedia and the Web Archive, it is only a matter of time when free alternatives are brought to light sponsored by good samaritans, if not idealistic ones. Where slogans like “knowledge should be free” reign all over these projects, it isn’t too much of a stretch to see even the likes of Ibibilo getting into this.

I see the proprietary and paid CC providers as a major motivator for the creation of free alternatives and may even bring about the end of vendor lock-in, in regard to desktop publishing and office software.

This isn’t 1997

… When browsing the Internet was a matter of clicking on one of those icons found on the desktop of a Windows PC that came bundled with Prodigy, Earthlink, AOL, MSN etc…

Considering the nosedive in bandwidth prices these days for hosts as well as the proliferation of higher speed networks for homes, access and reliability are quite a bit higher than they were back when I was in high school.

We’re already depending on machines run by someone else in day-to-day life. So much so that we barely notice. Every time we book a flight, or buy something online, or check into a hospital, or do something as mundane as check our email, we’re relying on systems run by someone else.

The reason why this magnificent ballet works isn’t because it’s perfect, but because it’s continually being perfected. In other words, since the first Internet node came online, we’ve done nothing but perfect the system. It’s the procedure and path of perfection that makes it all work, not “Perfection” as a destination.

Instead of driving across the country, we’re booking flights instead. We’re taking the chores related to working out of our hands so we can actually focus on the work. E.G. Looking for service stations, checking tyres, checking oil, checking maps etc… are all part of going to work if you live some distance from it. But by booking the flight, we can focus on the actual meeting.

All I’m doing in the cloud is just handing over the chores of work so I can focus on the work itself. The question, then, isn’t “do I hand over control?” It’s “do I need to control this aspect of it?”

Considering :
CC won’t be limited to the current providers.
And, not all CC providers will be run by incompetent nitwits.
And, not all CC servers will be located in the U.S. where court orders are optional for violations of privacy…

…I think it’s a reasonable choice given the alternatives. In fact, dare I say, it may be a safer alternative than storing all your content at home where it’s, potentially, easily available to anyone entering without your permission.

Redundancy is cheaper in bulk

Hardware and software failures are just a part of life for those of us who spend so much time on our computers. However, if I can have the option of datacenter calibre redundancy and storage capacity, I would certainly go for that.

Though the cost of computing hardware is always falling, it never seems to fall fast enough to keep up with my software. And I’m not even talking about games. OpenOffice, Gimp and Audacity in particular seem to balk at my 2Ghz 2.25Gb RAM Aspire 9200. Of course, I was listening to music, surfing and had all of those applications open at the same time and had Photoshop running for some reason… But that’s beside the point. *cough*

If I could get a raid 5 array and 7 – 10 drives, I certainly would.
If I could get failover in that array without lifting a finger, I certainly would.
If I could get all those drives in 1.5 TB increments, I certainly would.
If I could get unlimited replacements for them, I certainly would.
…But I can’t afford it.

But if I’m buying software and hardware for a company, then I certainly would be looking into a couple of raid arrays. Maybe not in those exact specs, but it’s something to look into. I would probably look into two arrays in fact. One for storage, and another for applications.

As I mentioned above, I think it’s only a matter of time before open source alternatives are available for CC platforms. And I think one of the biggest sellers is in the office and school arena where there are potentially dozens to hundreds, if not thousands, of computers all using the same set of applications.

I think CC software will find quite a nice market in the office and in school. Not to run over the Internet, but over the local network. I hope there are developers already implementing this as it seems like the next logical step to bulky, locally installed, software.

Imagine, if you can install a CC bundle on a local server for easy access… Considering the majority of processing takes place at the terminal and only save/backup operations take place at the server, you’re actually reducing the vulnerability by splitting the work between your terminal and the server.

If for some reason your terminal were to fail, and you had your work saved locally, it’s possible that some to most of it will never be recovered. After all, how many offices or schools do you know where each and every computer saves to a raid array?

But if you had a central server for applications and another server for saving, if there is a failure in either one, your options are far more varied. If the save server fails, your data will still be saved in the array. If not in the backups. It’s a lot easier to backup one or two servers than to backup an entire collection of computers. It’s also a lot easier to restore one or two servers than to restore an entire collection.

CC, as far as I’m concerned, is the next logical step after the diskless client. There are already implementations of “installed” software running on the server, but if the option of running the software locally via a browser is available, then I say go for it!

CC software has the potential to reduce costs by a huge margin. If only because we won’t have to rely so much on local storage for our files. Portability will also skyrocket, as a lot of energy and space is reserved for storage on mobile devices such as laptops. And with the advent of free alternatives, I’m sure, it will be well worth the wait.

Saint IGNUcius has sent me his blessings.

As I have finally managed to get Mono working on Debian.

I have blessed your cluster, my son

I have blessed your cluster, my son

Not being a spectacular PHP developer, my web programming efforts have primarily been focused on ASP.NET, ASP and Perl before that. I managed to get my C# Indexer app on Debian up and running and managed to pass the results to a mod_mono equipped Apache install. If all goes well, I may be able to finally setup a fully Open Source cluster capable of serving ASP.NET pages.

This just goes to prove, you don’t need to fight technology to get it to work. You just need to apply it correctly and have a little patience (and not use too much of it). Failing that, a willingness to start from scratch and go about it correctly from the beginning if all else fails. Either case, this was an interesting adventure and I’ve learned a lot.

Considering my previous post on getting a thought archive off the ground, I will hopefully be able to post a few ideas here using my new setup. If an XML database is not feasible, a MySQL or Postgresql DB with some form of O/R mapper may work, but I would rather not have this kind of added complexity and just stick with SQL. I’m leaning strongly toward Postgresql because of the clustering and replication advantages.

From a programming perspective, the “Everything is an Object” approach makes sense, but I’m not sure if that would be practical in this case. If worse comes to worse, I could always avoid reinventing the wheel and go with the muti-table category approach.  We shall see.

Hopefully St. IGNUcius will be pleased with my efforts.

Good reading: