As an architect the debate between centralized vs distributed is always an interesting one. It has been proved many times that distributed architectures have a better chance to withstand failure than centralized ones (the Pentagon thinks so), however in many cases they are much harder to implement.
Case in point the Research In Motion (RIM) Network Operations Center (NOC) model. The Blackberry failure might have affected less users if they had implemented a distributed architecture. It seems that all messages are fed to the wireless carriers via a primary NOC in Waterloo, CA and a backup NOC in the UK. Apparently the fail over never occurred and Blackberry users were left in the dark for over 10 hours. Over the years RIM has pushed the idea that using a NOC provided robustness in getting messages onto a cellular network. The NOC marketing push even forced Microsoft to offer an Exchange add on that interfaces via a NOC to cellular carriers. Well I guess the model is not as robust as they might have you think...
By its nature Microsoft Exchange is distributed since most corporate entities run their own servers. The Microsoft ActiveSync Server Direct Push technology is integrated in the Exchange Server. The Exchange Servers connect directly with your mobile device, any failure can be contained to an Exchange Server, Internet Service Provide, or Cellular Carrier. This model provides for the ability to architect multiple paths to the end user and cellular systems are distributed by nature so the likely hood of an all out failure is minimal. The bottom line is that the Exchange Architecture Direct Push architecture is more robust that what RIM has today.
The only feature left for RIM to hang it hat on now is the manageability of the devices, however Microsoft has closed the gap with Exchange 2007 and Windows Mobile 6. At this point I think the differences are negligible, the choice should become financial in nature rather than feature bound or ideological.
Great and very comprehensive analysis with good examples.
I totally agree on the fact that distributed architectures have a better chance to withstand failure than centralized ones.
Here on the http://bigdatamatters.com/ you can read a very good example of why a centralized databank is not a universal solution not just for technical, but primarily for legal or political reasons. It also gives you examples of solutions for highly secure distributed systems.
Hope you enjoy the reading!
Posted by: jogaweda | July 03, 2009 at 10:14 AM