Facebook releases scalable glue: Thrift

Facebook has released it’s internal app glue to the world on it’s developer network. The blog post doesn’t explain much about the project but the whitepaper gets into the details.

Thrift is a set of code generation tools developed at Facebook to support their divide-and-conquer strategy. It acts as a glue between different languages and technologies by communicating between services using XML-RPC. The twist to Thrift is that it allows developers to define data types and service interfaces in a single language neutral file and generate all the code to build RPC clients and servers.

I had always considered Facebook a complete LAMP as in PHP outfit so to discover a complicated use of Java, Ruby, Python and C++ came as quite a surprise. It’s clear that Thrift is a large part of Facebook’s secret sauce and they are banking on getting a community to rally around and improve their technology.

The Facebook API has been credited with helping the startups tremendous growth in recent months. It’s a trend that is becoming clearer and clearer to more in this space: an API can do wonders for your startup. In many ways thrusting an API out into the open is an admission of focus; let other people implement all those features you can’t get to yet. Openness is now a strategy not to lose control but to assert yourself as a dependency.

Thrift even has it’s own open source style Thrift Software License. Would you expect anything less from a Mark Zuckerberg production?