Wednesday, April 29, 2009

Server Centric Computing + Ubiquitous Network = Anywhere Computing

The Web as a Model

The Web is a tremendous success. It has profoundly affected the human society since its inception several years ago.
Not a single sector of our society has been spared by the Web.
Some examples :
  • The largest encyclopedia that human have created is entirely Web based (wikipedia)
  • The biggest database publicly available (google search ?)
  • The largest network
  • The cheapest way to communicate all over the world
  • The largest social network (Web 2.0 & co)

For me this is a clear demonstration that the server centric computing architecture is the most successful one.
In a few words, for non technical readers : all those services run on servers located in one or several data-centers located all over the planet.
The intelligence has been moved away from the extremities of the network (lets say, the device used to access the Web : a PC, a phone, a game console, etc.) to the servers.

An equivalent explanation is that the device you are using to read this post is not very important. It can be a dual-head 29" PC, a Mac, a laptop, a netbook or even a phone, running Linux, Windows, MacOS or any other device connected to the Internet. What is important is the network you are using and, more precisely, its speed!

Desktop computing is a thing from the past.

The idea that one can run complete applications on one single PC without network connectivity will appear to be very strange for our descendants !

What consequence for the enterprises and more generally for IT ?

One of the major IT cost is ... running PCs. PC stands for Personal Computer and the PC as we know it was never intended to be deployed and managed in any organization but reserved for personal use. Maintenance costs are huge for companies and they are hindering their ability to provide the same level of services, agility, change management as the Web based / Server Centric powerhouses.

However, given the fact that innovation is pushed from new market segments (search engines, social networking, etc.) into more "conventional" ones, I think that we are assisting to the paradigm shift from "all desktop" to Server Centric computing. It will happen for organization of any size and type in the years to come.

I was lucky to hear a conference from Brad Wheeler, the CTO of Indiana University, during OpenMinds 2008. He has a very nice catchphrase that can be applied in our context "From Edge to Leverage".
By migrating intelligence from the edge of the network (the actual PC/fat clients, local applications deployed on those PCs, etc.) the agile organization that will achieve this will gain a tremendous leverage. This catch phrase can also be applied to the so called "Core Business" of any company or organization.

Some example of leverage that can be achieved by migrating from PC Computing to Server Centric Computing :
  • Lower cost of operation
  • Greener Computing : 17W for a thin client, 22W with the server + cooling system vs 80W-200W desktops
  • Sustainable computing : thin clients use a third of the hardware (??)
  • Remote access for employees : work from any computer in the world (one of our customers called it "Anywhere computing", I really like the term!)
  • Remote access for specific customers/members/suppliers/etc. to specific applications : now you can give access to any application to ... anybody
  • Etc.

Entreprise Computing (EC) vs Elastic Cloud (EC ?) or why The Cloud will fail

Well, I think that the Cloud Computing is an elaborate marketing word for what was called "Scavenging" a few years ago in the high performance computing field.

Of course, the term "Cloud" is much more marketable and much more sexy. What's interesting with clouds is that different people looking at the same cloud see ... different things.
This is a very romantic way that allow actual owners of very expensive datacenters, servers and network connexion to rent you a bit of their infrastructure in order for them to ... make more money or lower their costs.

Cloud Computing poses a number of challenges. Most of them, are not technical but ethical and related to confidentiality and international law. The principe behind cloud computing is that your server is "in the cloud". You don't have to know where, what's its physical characteristics, in what country it is located, who runs it, etc. Basically, this is the ultimate IT silver bullet for Server Centric computing : it allows you to solve all your management problems at once and you will become more agile and lower your costs. Let say that the promise of cloud computing, like most of the marketing messages anyway, is not necessarily ... true.

What are the drawbacks of cloud computing ? Well, every advantage can become liability. Service levels can/are very difficult to measure, what is the cost of a "cloud" failure and who will pay ?
Where is the server located : in a foreign country, in some island, very friendly to hazard games, in a bunker, etc. For most organizations, this can cause a tremendous legal headache : who owns the server, the data, what laws are applicable, etc.

Price can be cheaper at this time to run some services on the cloud than to operate your own data-center (well, of course this is true only for small scale project).
However, I think that Moore's law and high bandwidth availability (fiber to home) will cause cloud computing to ultimately fail on this level too in the future, even for small scale projects.

For large scale projects and organizations, I think that it's less risky to operate its own servers than to rely on the cloud : this is not a mature market and you can expect protocols, technology and ultimately suppliers to evolve/disappear quickly in the following years. Of course, the one that _need_ data-center excellence (let's say Google, Amazon, etc.) will still try to lower their costs and rent you some spare CPU cycle and TB but it will not be their main business line, only a side business.

Private clouds can be the solution for organization that want to control more closely their data (and who don't !). But what is a private cloud ? Mainly a data-center with virtualization technology.

What about Anywhere computing (once again, not my expression, one from our customer) ?
It has already started : all you need is a [Wifi] network access and a "device" that can connect to your servers. Then complete applications or even a complete desktop will be streamed to you so that you can interact with servers (the one of your organisation, the ones from the Internet) with a very high speed and it will be the less expensive way to give you access to any application anywhere and I would add anytime. (Trop long !!!!)
Small organizations will use some form of Cloud Computing, larger organisation will use their own servers but the net results for you, the user are the same : you will have access to any application from any computer on the Internet anywhere at anytime.

As a company, Revolution Linux is focused on the "Anywhere computing" and this require a migration from PC based Computing to Server Centric Computing.
On the way to salvation, we want to decrease CO2 emission and this is also a benefit of Server Centric Computing : the so-called "device" can be a thin client using less than 20W, less expensive and requiring less than a third of material to build (of course, average life of those devices are 10 years, compare to 3-5 years for a regular desktop).

I think that the Open Source approach will also be more or less mandatory for two reasons : when you want to leverage your infrastructure and give access to more people (employes, members, customers, tech support, suppliers, partners, alumni, interns, students, etc..) not having the control of your application and licensing costs can block those initiatives. Not having complete access to the source code can pause real technical challenge that block the scalability of your solution.

Conclusion

I really think that the cloud will soon be replaced by a clear and blue sky illuminated by the sun of the server centric computing approach.
This is the most important lessons that we can learn from the tremendous success of the Web and of the applications that are nowadays developed on this incredibly rich platform.
Anywhere and anytime computing will be achieved with Open Source software using green and sustainable technology and the desktop paradigm will remain dominant at least for a generation. After that, well, who knows ?