I'm as big a believer in the transformational power of cloud computing as anyone you'll meet. Smartphones, which are constantly seeking and retrieving data, don't make sense without the cloud, and any business that isn't racing to push its data and software into someone else's data centre is, in my view, setting itself up for disruption by a competitor who is.
But cloud advocates are fond of declaring that 100 per cent of computing will someday reside in the cloud. And many companies are in business to sell you on that notion.
Here's the reality: getting data into and out of the cloud is harder than most engineers, or at least their managers, often are willing to admit.
The problem is bandwidth. If you're a company simply seeking to save the cost and headache of storing data yourself, the cloud is great as long as all you need to do is transfer data back and forth via high-speed wiring.
But in the world of mass connectivity -- in which people need to get information on an array of mobile devices -- bandwidth is pretty slow. Any business that sends data to mobile devices, be it airline reservation systems for consumers or business data for a mobile sales force, grapples with the limitations of wireless networks. Overall, according to the World Economic Forum, the US ranks 35th in the world in terms of bandwidth per user.
That's one reason that mobile apps have become a predominant way to do things on the internet -- at least on smartphones. Some of the data and processing power is handled within your device.
The problem of how to get things done when we're dependent on the cloud is becoming all the more acute as more and more objects become 'smart' or able to sense their environments, connect to the internet, and even receive commands remotely. Everything from jet engines to refrigerators is being pushed onto wireless networks and joining the ‘Internet of Things’.
Modern 3G and 4G cellular networks simply aren't fast enough to transmit data from devices to the cloud at the pace it is generated, and as every mundane object at home and at work gets in on this game, it's only going to get worse.
Luckily there's an obvious solution: Stop focusing on the cloud, and start figuring out how to store and process the torrent of data being generated by the Internet of Things on the things themselves, or on devices that sit between our things and the internet.
Marketers at Cisco Systems have already come up with a name for this phenomenon: fog computing.
I like the term. Yes, it makes you want to do a Liz Lemon eye roll. But like cloud computing before it -- also a marketing term for a phenomenon that was already under way -- it's a good visual metaphor for what's going on.
Whereas the cloud is ‘up there’ in the sky somewhere, distant and remote and deliberately abstracted, the ‘fog’ is close to the ground, right where things are getting done. It consists not of powerful servers, but weaker and more dispersed computers of the sort that are making their way into appliances, factories, cars, street lights and every other piece of our material culture.
Cisco sells routers, which aside from storage has got to be the least sexy business in tech. To make them more appealing, and to sell them to new markets before Chinese competitors disrupt Cisco's existing revenue streams, Cisco wants to turn its routers into hubs for gathering data and making decisions about what to do with it. In Cisco's vision, its smart routers will never talk to the cloud unless they have to -- say, to alert operators to an emergency on a sensor-laden rail car on which one of these routers acts as the nerve centre.
IBM Corp has a similar initiative to push computing out 'to the edge', an effort to, as IBM executive Paul Brody puts it, turn the traditional, cloud-based Internet "inside out". (When people talk about 'edge computing', what they literally mean is the edge of the network -- the periphery where the internet ends and the real world begins. Data centres are in the ‘centre’ of the network; personal computers, phones and surveillance cameras are on the edge.)
Just as the cloud physically consists of servers harnessed together, in IBM's research project, the fog consists of all the computers that are already around us, tied together. On one level, asking our smart devices to, for example, send software updates to one another, rather than routing them through the cloud, could make the fog a direct rival to the cloud for some functions.
The bottom line is, we just have too much data. And we're just getting started. Airplanes are a great example of this. In a new Boeing 747, almost every part of the plane is connected to the internet, recording -- and in some cases sending -- continuous streams of data about its status. General Electric has said that in a single flight one of its jet engines generates half a terabyte of data.
Cheap sensors generate lots of 'big' data, and it's surprisingly useful. So-called predictive analytics lets companies like GE know which part of a jet engine might need maintenance, even before the plane carrying it has landed.
Why else do you think Google and Facebook are talking about alternate means of internet access, including via balloons and drones? Existing carriers aren't getting the job done. Until the US gets the fast wireless and wired internet it deserves, computing things as close to the user as possible is going to be critical to making the Internet of Things responsive enough to be usable.
The future of much enterprise computing remains in the cloud, but the really transformative computing of the future? It's going to happen right here, in the objects that surround us -- in the fog.