By now you probably know someone that has essentially “quit” or “deleted” their Facebook profile and account because of some personal issue with privacy or time management (or mis-management) or some other reason.
But whether or not you’re a fan of using the Facebook service personally you have to make note and be cognizant of the contributions and advancements that Facebook has created in terms of technology, and even how they have forever-changed the way we engage in the online space.
Here are some examples of the “bigger picture” that you surely can’t miss…
Let’s Talk Software and Open Source
Facebook has a number of challenges that only a few other online businesses could even dream of (or even handle, for that matter). As a result, Facebook has had to create innovative ways to manage the chaos of data and they’ve done some phenomenal things in the process of optimization.
For example, Facebook still uses PHP but has built their own native compiler for it. They use Linux but have optimized it for advanced throughput, and even use MySQL but has done some neat implementations to turn it into a key-value persistent storage unit and has moved joins and logic onto other web servers.
For most geeks (like me) this is pretty freaking cool.
Here are some other things that they have done to advance the science of software (and Open Source!):
- Advanced Memcached optimizations. Facebook may well be the largest implementers of this very well-known and used software.
- HipHop is Facebook’s own PHP compiler which converts PHP into C++ code. A team of 3 engineers spent 18 months developing it. That’s awesome. We wrote about this and how awesome it is here.
- Haystack is Facebook’s killer performance photo storage/retrieval system. It manages billions of photos. I mean, check this fact: FB serves around 1.2 million photos per second.
- BigPipe is another Facebook invention. Simply, it’s a dynamic web page serving system.
- Cassandra is FB’s storage system which is a built to be distributed. What that means is that it has no single point of failure. They’ve even made it open source and it’s become an Apache Project. Digg uses it too.
- Scribe is a logging system that’s nearly infinitely flexible. Just imagine the requirements of their logging system and then you might bow down to the awesomeness of it.
- Hadoop is a piece of software that performs massive calculations on data for analysis and other needs. Oh, and it’s Open Source too and Yahoo and Twitter use it.
- Thrift was created so that different coding languages could “talk” to each other. Although a lot of FB is built on PHP it’s a very heterogeneous setup. It’s also Open Source.
- Varnish is a HTTP accelerator. This load-balances their content and cacheing of data. Essentially it makes you happy because you don’t have to wait for things to load. It’s also Open Source too.
- And more…
It would be tough to argue that Facebook isn’t an Open Source shop. In fact, they’ve opened up so much already that they’ve created their own Facebook Open Source page: http://developers.facebook.com/opensource/
Love it or hate it the fact is that FB has done so much for the software community is unmistakeably obvious and you’d be a fool to snub them of that.
Don’t discount them – there’s more that they’re cooking up and the Church and Non Profit sector has nothing to show but gratitude for them and their work that they’ve given to us for free.
Word.
Kevin says
Word.
They also use Erlang a fair bit now although I don’t think they contribute to it. On the other hand, having an “open source” culture is different from having an “open” culture; I prefer both. It’ll be interesting to see if the Free Software Foundation or other efforts to create a distributed social networking tool where you can control your data explicitly really take off and become viable contenders.
Kevin
http://opensourcechurch.com