Boo Box web servers layout and application scaling tips

infra-boo-box2

Boo Box, the ad network, released a layout of their web servers’ infrastructure. It seems the beast is growing fast and this diagram shows how they’re coping with the challenge.

Here are some things I found very interesting:

  • Separate servers for reading and writing (MySQL). This way you can optimize servers for a specific purpose (read or write), since the reads and writes aren’t competing with each other anymore in the disk or memory;
  • Serve static files from a different domain to speed things up is well-known, but serving them right from the RAM is new to me. However some people disagree with caching files in memory, beyond what the OS already does in this field. The other good thing is that Nginx is a super fast web server, and it’s replacing Apache in many scenarios;
  • The use of a queue server for handling time-consuming tasks is paramount for horizontal scaling. Everything that takes more than a few miliseconds (or do some sort of processing) should be ran in an asynchronous way.

It’s very nice of them to share this layout. Thanks guys!

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

Tags: , ,

2 Responses to “Boo Box web servers layout and application scaling tips”

  1. Marco Gomes Says:

    Thanks for the post about our infraestructure :)

    The queue server is the most important part of our system to avoid downtimes and long response times. Everything that depends of third part APIs, like e-commerce APIs, is assynchronous.

  2. Levy Carneiro Jr. Says:

    Thanks for sharing this important piece of information :)

Leave a Reply