Posts Tagged ‘Facebook’
The Technology behind Netflix & the Chaos Monkey
Innovative companies think different…
Suppose you heard that executives at a company like Netflix told their employees to go around and try to break the underlying technology that delivers its services to millions of customers.
The basic philosophy of this directive being…
The best way to avoid failure is to fail constantly.
Sounds crazy. But is it? Here is a bit of more conventional wisdom
If we aren’t constantly testing our ability to succeed despite failure, then it isn’t likely to work when it matters
Nextflix created some software called the Chaos Monkey that goes around breaking parts of the infrastructure that delivers its services. The idea is to substitute resiliency for a dependence on reliability. Is it easier to make things reliable or resilient?
You can read what others think about the philosophy of the Netflix Chaos Monkey here
http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html
Read about the Chaos Monkey…
http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
And the underlying technology of Netflix…
Related posting. Did you miss our article on the Technical Architecture Behind Facebook?
https://frrl.wordpress.com/2011/03/22/the-technical-architecture-behind-facebook/
OpenCompute.org: The Infrastructure Behind Facebook
We started a project at Facebook a little over a year ago with a pretty big goal: to build one of the most efficient computing infrastructures at the lowest possible cost.
We decided to honor our hacker roots and challenge convention by custom designing and building our software, servers and data centers from the ground up.
The result is a data center full of vanity free servers which is 38% more efficient and 24% less expensive to build and run than other state-of-the-art data centers.
But we didn’t want to keep it all for ourselves. Instead, we decided to collaborate with the entire industry and create the Open Compute Project, to share these technologies as they evolve.
By releasing Open Compute Project technologies as open hardware, our goal is to develop servers and data centers following the model traditionally associated with open source software projects.
Our first step is releasing the specifications and mechanical drawings. The second step is working with the community to improve them.
Please take a look, tell us what we did wrong and join us in working together to make every data center more efficient.
At little bit of a PR job for OpenCompute.org but the video and related collateral is interesting.
Most important is the philosophy of all this. And that is openness, sharing, giving back, and improving through collaboration and community. The belief is that by sharing we will all collectively be better.
You can find the video, pictures, and engineering diagrams and specs starting at this link –
http://opencompute.org/
Read a related article –
https://frrl.wordpress.com/2011/03/22/the-technical-architecture-behind-facebook/
The Technical Architecture Behind Facebook
There is a lot of different elements behind the success of Facebook. Of course it’s mostly about vision, timing, the right people, venture capital, good judgements at critical points in the history of Facebook, and so on. It’s also about the availability of readily available technology and excellent technical architecture and engineering by talented people – Mark Zuckerberg playing a major role in the original programming and technical design of (the)Facebook.com from the beginning.
(the)Facebook.com also benefited from a history of the failure of other social networking systems that preceded (the)Facebook.com. One of the failures clearly in the mind of the architects, developers, and technical engineers of (the)Facebook was the failure of the social networking system Friendster. Friendster may have been more successful had it been able to scale properly to meet the demand of the user base. Friendster did not scale.
(the)Facebook.com was careful to ensure that before another segment of users was invited to register for the service (at the beginning they added schools in a very controlled process) there was sufficient capacity to handle the projected number of new users.
The Scale of Facebook
At the time of this writing there are about 400 million active users Facebook. Facebook delivers 200 billion page views per month and the service is distributed across 30,000 servers.
So, from a technology perspective, how do you architect such a system? What is the technology and architecture behind Facebook that can deliver 200 billion pages per month to 400 million active users with good response time?
The success of Open Source
There are many success cases that can be developed from Facebook. The Open Source community is a clear beneficiary of the success of Facebook. Facebook is written in open source software. Enhancements, extensions, and innovations that Facebook made to improve performance and scalability of this open source software has been given back by Facebook to the Open Source Community.
The Facebook presentation layer is written in PHP – 3 million lines of code. The database tier is MySQL. If anything validates the Open Source community its the ability of these open source tools to be able to deliver a high performance massively scalable system like Facebook.
The Technical Architecture behind Facebook
Jeff Rothschild is Vice President of Technology at Facebook. He gave a presentation to the UC San Diego Center for Networked Systems. In this webcast Jeff goes into detail about the technology behind Facebook – the architecture, the challenges they faced in building a high performance massively scalable system, how they solved these problems, the innovations and extensions they made to Open Source code (and gave back to the community), and those challenges for the Facebook technology that still exist and for which they are seeking solutions.
Abstract: Facebook has grown into one of the largest sites on the Internet today serving over 200 billion pages per month. The nature of social data makes engineering a site for this level of scale a particularly challenging proposition. In this presentation, I will discuss the aspects of social data that present challenges for scalability and will describe the core architectural components and design principles that Facebook has used to address these challenges. In addition, I will discuss emerging technologies that offer new opportunities for building cost-effective high performance web architectures.
You can find the links to this webcast, and a summary of the technology at the links below