The Rebirth of the Internet
© by Mike Robinson
How not to make friends with a <PHP|Perl|ASP> programmer:
“Hiya, Frank! The Internet's about to reinvent itself. Again!”
“Who are you, Chicken Little?”
“No, I mean it! And the Google® search-engine as we know it will be gone, too!”
“Dude, you're delusional ...”
There was a big, friendly smile on Frank's face when he said that; he's a good friend.
But there might well have been the briefest flicker of fear in his eyes, as well.
After all, today there are tens of thousands of companies who
have a comfortable job
hand-crafting and maintaining web sites,
and tweaking them so that the sites could actually be found by
search-engines such as Google.®
Let's face it: it's very hard to even allow a thought to enter your mind, when you realize that what that thought implies ... if it turned out to be true ... might spell the permanent end of your “comfortable job.”
Never mind, of course, that this “comfortable job” didn't even exist a mere ten years ago. Web pages were a rarity; no one was quite sure if the Internet could legally be used for commerce; and almost everybody in the world “dialed-up,” while a music CD played in the background.
The Internet obviously changed many things in our daily lives since then, but then again it really didn't. So far, the Internet has exploited its abilities as a digital communications network, creating a sort of “sea” of communication linking self-sufficient “islands” of content. But the limitations of this arrangement (strange though it may seem to refer to the Internet as being “limited” ...) are becoming clear. Right now, every “island” is both isolated and unique. Each one provides content or services or both, but all of them do it in different ways. Every “island” also requires a considerable full-time staff, no matter how much or how little use the island actually receives. Google's index contains tens-of-millions of entries, but millions of them are obsolete.
The Internet doesn't wait... for anyone. Instead, it presses inexorably onward toward the fullest possible expression of its own abilities: not merely as a telecommunications network, but as a computing network. The Internet will become, not merely a sea that connects “islands” upon which useful data lives and is (seperately) maintained, but the ocean in which all that data lives.
The Rebirth of the Internet: Autonomous Services and Data
Imagine, if you will, a world in which data and services simply “live.” A world which requires no “web site” ... nor any “search engine” to index it. A world which requires no computer, no virtual-host, no single discrete computing resource of any kind whatever, to be “dedicated to” it. Instead, imagine a world consisting of “data resources” and “service resources” that simply exist, waiting for someone to request them and for some available computing-node or storage-node to (instantaneously... opportunistically...) provide them. Information, instead of being doomed to exist as a mere replica in a search-engine's memory bank, would be self-discovering, always in its most-recent form, and available on any business-opportunistic (anonymous) server anywhere in the world that was lucky enough to grab the request and run with it.
Certainly, we are seeing the earliest beginnings of this notion now. Google has already glommed-on to the notion that there's a world of under-utilized storage resources and a parallel world of under-utilized compute resources on the Internet today, and they have provided a suite of structured-storage, unstructured-storage, queueing and virtual-machine resources that can be applied to these tasks for a pittance. But all of these resources require advance (human) configuration: smart people have to “go and prepare a place for them.”
What if ... they didn't have to?
Think about it: when you connect to “any ‘web service,’ anywhere,” what you're actually connecting to is a server. That “server,” today, is not fully-aware of “the Internet world in which it lives.” It runs in an environment that is unique to itself, and “the Internet world in which it lives” is not aware of that uniqueness.
What if there was no need for “uniqueness?” What if any web-service that existed on the Internet was fully aware of the presence that it exposed to the Internet, and unconcerned with its own physical implementation?
Today, we have “Internet Service Providers” who do not need to be expressly concerned with what you are doing with the Internet ... since the only service they are actually providing is to be “part of The Sea.” What if it were possible for Internet Service Providers to be computing-service providers? What if they could offer the entirely-opportunistic capacity to “run software,” knowing that the “software” that they run has no need to be concerned in any way with exactly-who is hosting it? What if an arbitrary number of computing-providers could be hosting the same service at the same nanosecond, and nobody cared?
How to get there ...
To get to this “next hurdle” (and never look back...) we need to overcome a few outstanding problems. First of all, the so-called “service-oriented architecture (SOA)” concept must be expanded to include an abstracted definition, not only of the service, but also of its implementation.
Since we know that “ Algorithms + Data (Structures) = Programs ,” we know that the implementation of a “service” must be subdivided, into an abstract-definition of its storage requirements and (separately) its computing requirements. We know that the two of these will probably have to be hosted separately. And finally, we know that the user will fully expect to be able to issue a request for a service and to obtain an instantaneous correct-response.
The successful “of-course” achievement of these goals will require not only a programming-model more advanced than the ones we use today, but a more-advanced business model, as well. When the dust of this “new new-world” finally settles, the Internet must remain as it always is: “necessary, but transparent.” Revenue streams, necessary though they are, cannot remain locked upon advertising; they will have to be based upon sales and subscriptions. But the “computing-service providers” cannot be directly concerned with such things, any more than a “phone bank” enterprise can be concerned with the business dealings of any local phone-company.
Today, our discussions of “what” we want to accomplish are necessarily linked to “how” we need to go about doing those things. For example, we can't talk about “Internet auctions” without discussing the one-and-only company ... eBay® ... that today necessarily-lives in that “space.” Yet, we're forced into such discussions only because, at the present advancement of technology, there's only room for one provider of “whatever it is that we want to do.” In the very-near future that we see, “what” will never again be linked to any one “where.” A highly-competitive industry will come into existence to provide physical service-implementations from moment to moment.
How close are we now?
As usual, “all the pieces we need are here now,” but they do not quite-yet exist as a visibly cohesive whole. We're still wrestling with “Apache vs. IIS,” and “Perl vs. PHP,” because we are as-yet unable to exploit the fact that, to the end-user, the two are indistinguishable. Why should “a difference that makes no difference” be “a difference?”
Why, indeed ...
Various still-competing strategies for “service definition” have already surfaced: what remains is for one (open-source) implementation of them to come to the fore. These definitions must cease to be hardware-specific. In fact, they must cease to speak of the service's hardware-requirements in any hardware terms at all. “The web” must cease to be the unnamed vehicle to computing and storage resources, and must instead assume an explicit role as the supplier of those resources. All of the actors needed to play these new parts are already standing in the wings, merely waiting for a brilliant director to call them to their places.