Nomad people take their cattle around to better grazing areas year in year out. They are always locating the best resources and have no problems migrating constantly. I see the future of computing following a similar model, swarms of rudimentary computing units self-organise to deliver the best service at their point of consumption. Resources are truly allocated on-demand, scalability becomes transparent.
In my take of Nomad Computing, object-orientation reaches its pinnacle. The traditional separation of databases and applications and web tiers will become meaningless. Each of these concepts will become more ‘nomad’, programmers need not worry about them. Databases systems and application server systems would have to mutate into entities that can register themselves and join in on local computing resource hubs. Once they’re in they start to figure out the best ways to self-organise for maximum throughput, spontaneously creating clusters based on usage patterns. Writing applications for Nomad Computing would be easier: no more coding login windows or data access objects, such usage patterns will be retired. Instead developers would concentrate on object graphs they intend to create, this would encourage crafting and creativity. Operating System platforms will also become largely irrelevant and pushed further in the background, taking away arguably one of the biggest pains in custom application development: deployment concerns.
A possible drawback to Nomad Computing will be hunting and fixing bugs and removing malicious software. These problems would possibly become intractable. Governance and safety would also become horrendously complex since unforeseen outcomes would be commonplace. Perhaps all these disciplines would need to evolve in entirely new ways. Specialised software will need to emerge to provide answers and keep ahead.
I realise this is all far fetched but it just seems that we might not be too far from it.
In a way we’ve already started to see early implementations of Nomad Computing, Amazon’s S3 and Apache Hadoop are good examples in the right direction. Power grids in electricity distribution industry are perhaps the closest model I see as incarnating Nomad Computing. Once we’ve really figured out how to do Nomad Computing properly we would be in a position to leverage massively multi-core systems as they become available.