Thursday, April 1, 2010

Technology Behind the Face ?

Bista Solutions Inc. - Open Source Applications

Facebook , today we are very much well attentive of, Probably i can say that everyone (basic tech savvy) use it for one or the other purpose. Today Facebook is considered to be one of the most Trafficking sites. From past 6 month i have seen that ranking of Facebook is within 5 only. Currently it is on number 2 according to Ant - toolbar.
Success of any website is depend on many factors but few to name are the kind of target audience that particular website is targeting. The kind of content and involvement the website allows to the visitor, and there are much more.
But very few thinks on the ground of :- The kind of technology that particular website is using which is considered as a backbone to survive, because we normally encounter these problems while surfing that if a website take time to open we silently close it. Website many time perform slow because of the Flash content.
In this Post, I would be covering Open source and Facebook which will provide you a background idea that how Open source with others played an important role for such a huge Flash content and huge trafficking website.
• Publicly available open source software has enabled Facebook to grow at a speedy rate to maintain its exploding membership. Thinking of its roots, Facebook is also a good open source citizen and has started numerous open source projects of its own, which are not used by other social networking services.

• Facebook not only connect people but it also see that people with common interest can also get connected which allows of sharing of ideas from same field. Such relationships make scaling more complex as compared to the typical Web application, where many people request the same (or similar) data.

• The success of Facebook is also the fast access to the interconnected data. To build a page, data needs to be pulled from multiple, unconnected sources.

• At a basic level, Facebook has three-tier architecture

1. Web serving,
2. Memcached for in-memory data access and
3. Databases for persistent storage.

• Memchached processes the equivalent of a 30 volume set of Encyclopedia Britannica in one tenth of a second. Facebook has contributed to the evolution of memcache technology.

• Now the point on Performance came here. . . . that yes to improve the performance of its PHP application Facebook developed HipHop for PHP, a tool for converting PHP into optimised C++. HipHop involves a seven stage process from parsing to compilation. Facebook is adding photos at an astronomical rate -- 40 billion and counting. All photos are converted into four different sizes (for a total of 160 billion photos) before they are sent to Facebook's servers.

• Facebook had also developed Haystack so as to reduce the number of file serving I/O operations from 10 to one.

• MySQL servers - Facebook's storage layer is a cluster of MySQL servers -- if one or other go down the army continues to fight on.

• Because of logging a massive 25TB of data every day, Facebook developed a more scalable logging tool called Scribe. Scribe is now an open source project.

• Racks of servers: Facebook's Hadoop-Hive cluster is used by engineers and business staff for data analysis. The data flow architecture at Facebook has the production Hive-Hadoop cluster at the centre. The commercial Oracle RAC product gets fed data from the main cluster.

• Language agnostic: In addition to PHP, Facebook develops software in C++, Java, Python and Erlang. The philosophy is not to choose a single language when building infrastructure.

• Move fast, have a huge impact and be bold. Those are the three central tenets of engineering at Facebook.
Indication is that the front-end servers are running a PHP LAMP stack with the addition of Memcache, and the back-end services are written in a variety of languages including C++, Java, Python and Erlang.
Other components of the Facebook infrastructure (which have been released as open source projects) include Scribe, Thrift and Cassandra, as well as existing open-source components such as ODS.

0 comments: