20091026

Next Evolution of the Cloud

                Before you read this one, I would like to point out that I’m going to get a little out there.  It discusses the direction I think technology will be taking, and the future that computing will be leading.        Its hard to discuss such radical shifts without sounding like a fanatic.  ;D

                The cloud is an ever growing change to the future of technology.  Lightly spoken, the cloud is many computers acting as one, and while such technology has been around for decades, it has not taken on such a common place in our market until now.  But to really understand the future of computers, you have to understand what the current limitations are, and how to hurtle past them. 
                Cloud Architecture’s current nature is that of having your application duplicated across many machines, and when different users log in, they get passed to a particular machine.  Essentially, the machines think they are standing alone, as the only server hosting that website, and connected to the only database providing it with information.
                But in another major shift in technology, we are seeing a new birth in Thread/Parallel based programming.  Making singular applications being able to spawn multiple threads and multiple processors.  Similar to cloud computing, threading has been around for a while, but with the shift from singularly powerful processers to an array of processors, the direction for threading has become front row in all major applications now.  Even games are starting to jump on board. 
                What the future will hold will be fragmented applications.  Application pieces that can interact with each other over networks, to form singular cohesive units.  A single application as a whole that spans unlimited machines.  Each fragment containing the ability to be upgraded, replaced, called on to do things, and referenced for information.                
                Already, we are starting to see hints of databases becoming dinosaurs.  I know, those are bold words, but think about this.  To deal with databases living in a cloud world, Microsoft is putting a base limit on their database size to 1 gig per database.  It makes it easier for database servers to stay synced, updated and failsafe.  But that means that the database is no longer this giant source of data, but multiple sources of data spread over the network, and multiple machines. 
                The next logical step is to realize that with all this redundant information so easily available to the applications, why not let the applications hold on to it.  Having a reference directly tied to the data is often easier and faster than having to look it up.  a powerful server with 16 gigs of rams can be purchased for as little as 2000$. 
                Databases are tried and trusted, and it will be a long time before you start seeing the right mix of investors, architects and developers really stepping foot into this.  It is sort of scary.  But not to different from the internet itself.  What it naturally grew into.
                Long ago, on the first systems that were stably networked, there was only a couple applications that could speak to each other.  You had to know specifically what you wanted, where to get it, and have the right tools.  But that branched out.  It grew to the point where there was no longer a limited number of applications that could be managed in a central repository of systems.  Eventualy it became millions of systems, billions of IP’s and as much data as we have to give it.   It grew into hundreds of systems living on their own, but yet all interacting, referencable, reacting, changing. 
                Applications will take a similar path.  Now, the developers are comforted by the fact of knowing that another system is maintaining the data for them.  That there are other means of recovering it than the applications we build.  But it will shortly become a crutch to more than just our minds.  Soon it will hold back the walls of progress, until more developers are willing to release their ties, and start moving to a different future. 
                What searches are needed, when everything already has it’s appropriate references.  How will we model the data, when we can have it all as flexibly shaped as XML?  I urge you all to start exploring possibilities that can extend to a database-less world, one where reference superceeds lookups.  At least keep your mind open to it. 

No comments: