Facebook’s Achilles heel

One of the things from QCon that struck me most was the insight into how Facebook works. The focus was very much its technical infrastructure, but I see organisational insights there, too. First the technical, briefly, then the non-technical…

Ocean liner, by Michael StephensThe most remarkable thing about Facebook’s architecture is that it’s not how you’d design it if you had the choice. All its servers reside across two datacentres. One is for reads, one is for writes. Their software is PHP which is then translated to C++ and compiled and deployed in a single 1GB binary. Features are developed by teams of no more than 15.

More relevantly, these technical restrictions have implications for the organisation. It means that any changes to the core product (and Facebook is pretty much entirely that single product) have to happen within those architectural bounds: single steps, feature-oriented, and following along the line the product has evolved to date. Anything more significant is a mammoth, time-consuming change.

So while Facebook is awesome by dozens of measures, there’s also a surprising similarity to many of the behemoths we see in the non-digital world. It does one thing, and it does it astonishingly well. Today it’s not facing disruption and can continue to forge ahead. But it is a juggernaut, and like any juggernaut — when the time comes — it will take a long time to turn around.