where customers might handle transactions through the touch interface. Other applications might be GIS-related or even, heretofore unimagined document management software.
Cloud Computing: Is Software the New Hardware?
Surface is all about making the user computer experience more personal and tangible. Cloud computing, on the other hand, seeks to do the opposite by taking what we do further into the digital ether.
You've probably heard all the terms - grid computing, distributed computing, utility computing, cluster computing and on-demand computing. Although they don't mean the same thing, fundamentally the terms describe something similar: the concept of using another entity's infrastructure to enhance your own capability.
In June 2005, Government Technology published a story on utility and grid computing titled Witnessing an Evolution. The grid is a theoretical network of devices, most of which use only a fraction of their computing power at any time. The idea - that's often practiced many times - is to concentrate that excess processing power and focus it on a large problem.
Put another way, a major problem is "distributed" across a network of capacity. Stanford University's Folding@home project is one of the finest examples of distributed computing. Windows PC, Linux and Mac users, as well as Sony PlayStation 3 owners, can participate in the initiative by leaving their Internet-connected machines on standby mode when unused. Folding@home co-ops the machines' collective computing muscle to help solve the genetic riddles that plague efforts to cure diseases.
Utility computing is similar in some ways and dissimilar in others. In the utility computing model, rather than randomly dispersed machines working on a single problem, randomly dispersed people access computer farms to solve their own problems. It's called utility computing because it operates like an everyday utility, such as electricity, gas, water, etc.
Regardless of the exact strategy or definition in play, it all comes down to the cloud concept, which is the transformation of infrastructure to software. The machines themselves become less about performing a task and more about accessing computational power. If there was ever a philosophical goal underlying the creation of the Internet, cloud computing may be it - an infinite number of machines using an infinite number of resources to perform a task.
As the Information Age rushes onward, more data is continually created. IT professionals in the public sector routinely confront the challenges associated with maintaining this data onslaught. What if, instead of routinely investing in new infrastructure, an agency could instead access a global cloud of machines to process data? Google and other industry heavyweights are already preparing for the cloud-computing era.
Like Microsoft and IBM, Google has tens of thousands of machines that sit around the world. Accessing these machines unused computing power these machines would be like tapping into an enormous supercomputer capable of crunching the biggest numbers.
Christophe Bisciglia, a Google software engineer, recently launched the Academic Cluster Computing Initiative. Through a partnership with IBM and the National Science Foundation, Bisciglia connects universities worldwide to Google's cloud, and along the way teaches students to think and program on a massive scale.
"We started with the University of Washington, and we brought in a cluster of 40 machines, and we taught the first cluster-computing course for undergraduates," Bisciglia explained. "We used an open-source software system called Hadoop. It's an open-source distributed computing platform inspired by Google's published computing technology. It's a software system that gives you the ability to turn a cluster of hardware into a dynamic software system that allows you to manage and process large amounts of data."
What's the use of clusters? As Bisciglia explained, organizations are