Saturday, September 17, 2011

The Cloud. What is it good for?

Ah, the good old days of dumb terminals hooked to a mainframe. Your environment was defined by that mainframe and without that sweet RS232 connection you had nothing but a really boring tv set. Then, with a little help from Moore’s Law, the pendulum swung and every user became an army of one with their “personal” computer hooked to just the wall outlet and maybe a printer. Then came the network and the web and the demands on that little box started to grow. Not only that, but the demands on the people who maintained the little box started to grow. Maybe if we make the little box more generic and put the good stuff in a central place, it will be easier to maintain. So, what was once a necessity becomes a conscious choice and the pendulum swings back to centralized computing via the Cloud.

The same arguments are used now as they were then: cost, maintainability, and consistency. For clerical applications with low bandwidth and minimal instantaneous processing requirements, the cloud is probably a win, and there are entire industries full of people that don’t need anything more. There are issues with security and availability (a single backhoe can take down your entire business because there is no hot backup of your staff) unless you run your own internal cloud. Unfortunately, the laws of conservation of infrastructure say all you might save that way is the cost of upgrading your desktop machines and low-resource-need industries don’t spend that much on tech refresh anyway.

For everyone else, the people who actually run into the limits of their hardware on a regular basis, the cloud as it exists now is of questionable value. For an engineering group that needs a flexible pool of resources to do things like run simulations, the cloud is a perfect mechanism for creating that pool of resources. For users that don’t have jobs they can fork into the cloud, the cloud is at best no help, and if they are doing high bandwidth things, like video, the cloud is a net loss. The model of the cloud as a replacement for your current machine is a very limited concept.

So, where is cloud computing headed? The cloud implies two powerful concepts with the right architecture: force multiplication, and offloading. Before I get to defining those concepts, a critical architectural development will be required. The coarse granularity of “distant virtual machine I communicate with” will have to become the fine grained “continuous compute fabric that happens to include distant resources”. Think of it as a kind of very sexy additional layer of caching that includes not only storage caching, but compute caching. Now, I will have force multiplication because processes and even threads will be able to run on the most effective part of the fabric, either locally or remotely, and migrate back and forth as necessary. My available processing power is only limited by my current bandwidth availability and the horsepower available at the other end. Similarly, as soon as I reach the limits of my local processing power, I will begin to offload processing to the remote resource.

Once I have this true cloud (as opposed to the rather lumpy version we have now), mobile devices quickly overcome the limitations imposed by power-hungry, heat generating processing. My phone or tablet have all the horsepower I want as long as I can meet my bandwidth needs. With improvements in wifi, including introduction of 802.22, mobile devices will live in a soup of connectivity, storage, and processing power. My home cloud and office cloud merge with my mobile devices to provide ubiquitous presence and persistent storage and processing. The devices themselves become optimized as interface enablers without the burden of heavy processing. That will reduce cost and increase battery life. That will be cool.

Friday, September 16, 2011

What's this?

I've had this blog for years and haven't put up a single post. Like the name implies, I have opinions, lots of opinions. So, why not write them down? Well, who else will care about my opinions? You know what people say about opinions, "opinions are like...". Well, you know the joke.
Anyway, I finally had an idea (as opposed to an opinion). One of the things I do is watch the technology horizon. I spend at least a couple of hours a day paying attention to developments in science, hardware, software, sociology, etc. I like to think about the implications of these developments.


Back in the late 80s, someone asked me what the next big thing would be. Those were the days of the protoweb when finding a starting link was difficult and there wasn't much content to begin with. I replied that "as web content grows, the biggest problem will be finding stuff. Solve that problem and the web will change the world." Archie would be created in 1990 and the rest, as they say, is history. Obvious, right? Back then, the few people that were even aware of "the web" were still trying to figure out what it was good for, much less how to make it easier to use.

So, I'm going to use this space to put down my occasional "visions" and maybe someone will take note and care. Not "someday there will be a white iPhone" visions (yawn) but things with a bit more scope. At least if I call something correctly, this time there will be evidence. ;)