A number of my colleagues and friends are obsessed with Second Life (secondlife.com). Have you heard of Second Life? It is a virtual reality universe where men and women (mostly professional, adult men and women) go to . . . well, have another life. Second Life is not a game. There are no objectives, no plots, and no end bosses. You enter into Second Life with the persona (or avatar if you prefer) of your choice and proceed to interact with other virtual residents.
The virtual world of Second Life is trying hard to emulate the real world. For example, the citizens of Second Life share a marketplace in which they trade virtual services and virtual goods for either virtual money or real money.
Personally, I don't get it. I don't know about you, but at the end of the workday, I have no desire to come home, shrug off my real-life personality, and slip into someone different. Maybe I'd feel better if I slipped into an avatar that may or may not reflect my gender, race, age, height, weight, or even species. Then again, maybe not.
Personal tastes notwithstanding, Second Life got me thinking. If humans can have second lives in the great cloud that is the web, why can't servers? Why do so many people assume all the emerging web (and cloud) applications will be based on x86 servers?
As I stated, someone's Second Life virtual persona doesn't necessarily have to resemble who that person is in real life. You can't tell whether a male avatar in Second Life is really a male human in the real world, and that doesn't seem to bother anyone. So why do we make rigid assumptions about the servers providing services to us over the web?
After all, can we really tell whether a website is run on x86, Unix, mainframe, or System i servers? More important, why should we care? If web services are truly driven by standards, we will have the same experience regardless of the server technology behind the scenes. In effect, any server should be able to take on the persona of a web service, regardless of its processor type, rack size, weight, or power and cooling consumption.
Now, I admit this is a theoretical discussion. Today the web is dominated (you might even say overrun) by x86 servers. But it is also true that the web is changing rapidly. As we move from Web 1.0 to Web 2.0, and then to Web 3.0 oh, and let's throw some nebulous cloud computing and a broad selection of Software as a Service (SaaS) in there too the infrastructure of the web must evolve to meet these changing needs. It seems to me there is ample room for all types of servers.
You've likely heard variations of this argument before. When web serving (i.e., Web 1.0) first appeared in the commercial world, lots of analysts and vendors speculated that web standards would let any type of server play in the game. Clearly that didn't happen the x86 servers won that war. So why do I believe non-x86 servers have a chance in future iterations of the web?
The answer lies in the ephemeral nature of server technology.
History suggests that no single server technology can dominate the industry forever. At different points in time, mainframe technology, Unix technology, and System i technology have been at the top of the heap. No technology including x86 technology is impervious to change. The questions simply become: What are the agents of change, and when will they reach full effect?
In my view there are three issues that, when combined, have the possibility of toppling x86 technology. Those issues are
Power/cooling requirements. It turns out that one of the downsides of packing a data center with x86 servers is that they can suck all the power and cooling out of the room. Although x86 processor and server vendors are frantically trying to reduce the power/cooling requirements, many data centers are being pushed to the max.
Performance. Traditionally, x86 server vendors increased processor performance by boosting a processor's speed. When frequency (GHz) increases, software programs run faster because the processor executes instructions faster. Unfortunately, this method has led to the power/cooling problems I just described. As a result, Intel and AMD have changed direction and increased the core count in processors, rather than their frequency. The problem is that an increase in the number of processor cores is no guarantee of performance improvements in software programs software runs faster only if it is written to support multi-core or multi-processor architectures.
Standardization. Much of the popularity of x86 servers can be linked to the notion of "industry-standard servers." The assumption is that x86 servers are more or less interchangeable and you can buy them from any number of server vendors. However, server vendors are moving away from standard designs toward proprietary designs such as blade servers so the notion of "industry-standard server" is quickly falling apart.
I'm not suggesting that these issues are working full-force in the industry today. Standardization and performance, in particular, are just coming to light in the market. But if all three issues gain traction if all three become agents of change they could certainly open the door for other server architectures.
In my doomsday scenario, industry-standard servers are no longer standardized, they lose their price/performance advantage (because software can't benefit from more cores), and data center managers get sick of paying more for power and cooling than they pay for the actual servers. Honestly, we aren't all that far away from this scenario.
But the x86 ecosystem is working hard to address these issues. More power-efficient x86 processors and servers are coming. Virtualization is being used to run multiple workloads on and therefore get more performance from multi-core x86 servers. And with respect to standards . . . well, two out of three ain't bad.
The question, then, becomes: Does the standardization of web/cloud services combined with discontentment with x86 servers create new opportunities for other types of servers? I, for one, believe it does. If, for example, a System i turns out to be the ideal platform for certain types of SaaS solutions if it offers clear price/performance and power/cooling advantages over x86 servers I do believe the market will gladly accept it. This same logic extends to mainframes and Unix systems.
But I also believe server vendors will have to work hard to get this business. Most companies want to emulate the big guys Google, Yahoo!, MSN, and so forth and the big guys are decidedly x86-based. I don't see that changing. Therefore, server vendors must show that non-x86 platforms have compelling value propositions. Vendors must show how a server is not only the right technology choice, but also the right business choice.
Oh, and one more thing server vendors must act quickly. The door may be open to change right now, but with x86 vendors addressing the issues at hand, it is swinging shut.
In Second Life, you can assume the persona of your choice. Maybe someday that will be true of web infrastructure maybe someday servers will assume different personas as well. In this new universe, your avatar could be handled by a System i, while mine could be managed by a mainframe.
Hey, it could happen. Except that would mean I'd have to spend time in Second Life. So on second thought, let me know how that avatar thing works out for you . . .
Sean Chandler is a computer and network consultant who has nearly 30 years of field experience.