Facebook is one of the largest websites in the world, and it takes a lot to keep it running. At the 2010 O'Reilly Velocity Conference, Tom Cook of Systems Engineering at Facebook discusses the scale of the hardware required, the software, the IT stack, and best practices. Facebook handles 16 million minutes of usage a day, 6 billion pieces of content shared per week, and 3 billion photos per month. It has grown from 1 server in Mark Zuckerberg's dorm room to tens of thousands of servers. Cook covers Google's strategy for building their own data center.
All this hardware requires effective software and good development practices. Servers run configuration management tools, so they don't have to be setup and maintained individually. Engineering and operations employees work together on deployments, since engineers understand the new features and operations employees understand the state and history of the system. Everything is heavily monitored, both for historical data and current running conditions. Finally, they plan for failure, since at that scale, servers and racks fail daily, and so code and IT operations have to accommodate that.
Tom Cook is a Systems Engineer on the Technical Operations team at Facebook, where he is responsible for a variety of low-level services and systems within the production environment. During his time at Facebook, the systems footprint has expanded over 10x. Prior to joining the company, Tom worked for a number of smaller tech companies in Texas.
This free podcast is from our Velocity Conference series.