Monday, March 30, 2009

Cloud Computing Follow-up

Ramsey replied via Twitter regarding my post on cloud computing: I think the new in cloud computing is the idea of a cloud OS that keeps most of the data intensive parts on a server. this would in theory allow someone with an old computer or a netbook to run a fast effiecent OS. The cool part comes when they starts shareing the load, as in all of the computers running that os make up the cloud in some small way. Speeds unimaginable! My response follows: When the data-intensive parts of computer operation reside on the Internet, everybody's speed slows down because...
  1. Even if there's a remotely operating OS, my netbook still needs a client OS to connect to what that server OS is outputting. My netbook runs perfectly quickly with a decent Linux OS on it. Windows 7 supposedly runs pretty quickly, too. But I don't want to have to pay for a licence to two operating systems just to use one computer. Windows is too pricey already, and that's a huge reason why Linux netbooks sell. A Windows licence makes up 20% of the cost of a Windows netbook. It makes up more than 50% of the cost of a cheap-ass E-Machine. And you'd like to raise that even higher just so I can make my data vulnerable and out of my control?
  2. If the data resides locally on my computer, then all of that data must be transferred across the net to get to a server where the data can be processed. Considering the generally atrocious upload speeds offered by most ISPs (and hopefully I'm not on some kind of cellular network doing this), my computing speed will decrease drastically, and that's the opposite of what you propose, and the opposite of the direction technology should be heading.
  3. If the data resides on the net, on some server in the cloud, and it can be processed on the same server that my data and the data of hundreds of other people is being processed, then my data must wait until its place comes up in the queue of data processing. It would take some pretty powerful equipment to make that happen. I'm not saying it's impossible, just that I don't want to have to pay for that service when I'm perfectly capable of making it happen on my own.
And there are a plethora of reasons why cloud computing is either bad or not viable.
  • In 2008, 61.5 million users in the United States were connecting to the Internet via some type of broadband access. That sounds like a big number until you consider that 248.2 million users are online. That means that the rest of these computers connect via dial-up or some other slow connection. Translation: less than 25% of Internet users are connecting via broadband, and that's not even considering the number of people who are not online at all, but still use a computer at home. Generalized cloud computing is not viable, at least not in the sense that it's mandatory.
  • In the setup that I described in my previous post, my data is still being passed through the cloud of the Internet, but resides on hardware that I own and control. In the popular cloud computing concept, it's on hardware that I have zero control over, and which other folks' data is also residing. This makes it an immediate target for data miners who want my data. Nothing technological is impermeable, not even my setup. But with my setup, there is less likelihood of an attack because I am only one person. This is the same reason why Mac OS X, while proven to be less secure technologically than Windows, is still a safe alternative to Windows. There are fewer people to attack. A successful general attack for Windows will yield a higher success rate than the same type of attack for Mac. If, say, Google were to have a cloud computing service with millions of users, that's a better place to attack than my single-user setup on my personal hardware. Someone would practically need a personal vendetta to even bother with mine.
  • Even with broadband access, cloud computing is still slow. X forwarding is fast enough to use, but not fast enough to be my ideal method of using a computer. I use it because it's convenient, because I can manage a web server from my cell phone or from work. Because I can write documents or stream music or move my files around on my home computer even when I'm not there. But do I dare try to browse the web using a remotely operating browser? Do I try to do any amount of image editing remotely? Do I game? Of course not! Because even though my server has a 2 Mbps upload speed (roughly 250 KBps), that's still not fast enough to transfer that much visual data back and forth at a constant rate, much less all of my input. Cloud computing will take a very long time to be able to catch up to that.
We have a long way to go before cloud computing becomes a viable option. I'd rather just stick to a configuration where it's a possibility for me when I need it, my data is as secure as I make it, where I have total control over it, and where I do not try to exceed its limitations. I can't let my computer usage slow me down. When I'm thinking faster than my computer is, isn't my comuter made unneccessary?

Friday, March 27, 2009

Cloud Computing - IT'S NOT NEW!

Cloud Computing - It's the new buzzword that profiteering hopefuls like Google and Microsoft have been using lately to sell products and services on the Internet that they have not fully developed. Cloud computing is the concept that your data will be kept on some server or set thereof somewhere in the "cloud." The "cloud" is meant to mean "somewhere in the Internet where you have restricted access, but can use certain portions of on your personal computer, provided you can supply proper credentials." An example of this that is already implemented: Google Docs. Also: Zoho. These are web-based pieces of software that let you work on various types of documents that you might ordinarily use MS Office or OpenOffice to work on. Your data is stored on their server, and when you log in, you can access the stuff that belongs to you. It can be edited, printed, exported locally, or imported from a local file. This is pretty cool, and I've used both of these services before. Still, I have my reservations about agreeing to malleable terms of service and then storing whatever personal information online. It just seems like a really good opportunity for data miners. Nothing is uncrackable. You need only look as far as a decent computer security blog to see that what we perceive as impenetrable is really completely insecure when under the influence of the right people. The other thing that bothers me is that, like "Web 2.0," the terminology has become a marketing buzzword meant to indicate something like "the way of the future." It's intended to arouse and excite. I have no doubt that some people jump onto this concept like nothing else when it becomes more popular simply because it matches a definition for "cloud computing" that they never had to begin with. And the truth of the matter is that cloud computing is not a new idea. It's been around for years. Offhand, I couldn't give you a number of years, but it's been in use for longer than I've been using it. That's right. I've been using cloud computing for some time now, and it's a pretty cool thing. A friend of mine turned me on to a little thing called X forwarding. Perhaps this terminology requires some explanation. I run Linux at home as my primary operating system. My particular distro uses the X window system, which is pretty common. X is what allows windows to appear on my desktop in various forms, in accordance with the description provided by whatever software is using those windows. X treats the relationship between computer and monitor as a server/client relationship. And it supports "server" forwarding. That is, it will send the graphical definition for what a window is supposed to look like to any other X server with proper credentials. What this means I can do is be on my laptop, or be on the computer at work, or head over to a friend's house, or go to the library (assuming I can install some basic software on it), and run some free and open source software called XMing. It's an X server for Windows, Mac, and Linux. Then I establish a connection between that computer and my server through SSH (easily done with another FOSS app called Putty), and then I type the name of the program that I want to bring across the Internet. Voila! I am running a program on a remote processor, accessing my remote drives, and working with my own remote data. I have cloud computing. The best thing? All FOSS. Doesn't cost me a thing. Microsoft is talking about introducing a paid-for service like this called Azure, and while I haven't done extensive research into it, it seems likely and plausible that you'll be locked into their software when using it. That is to say, the whole reason "cloud computing" has become a marketing buzzword is that it really does have profit potential. If Microsoft or Google can get you paying for their specialized "cloud" service, then you get stuck into using their software, fearing transistion into another format or service. I'm glad I already operate more or less on the fringe of this stuff. Oh, and I know what most people will think when they read this. It's too difficult for Joe the Plumber to use. Well, it might currently be too difficult for Joe to set up for the first time, but if someone were to set this up properly for Joe to begin with (for a small fee, I'm sure), he could use it just fine.