The most frequent questions we answer for developers and devops are about our architecture and how we achieve such high availability.
Some of them are very skeptical about high availability with bare-metal servers, while others are skeptical about how we distribute data worldwide. However, the question I actually prefer is “how it is possible to build such an infrastructure for a startup”. It is true that our current architecture is impressive for a young company:
- we host our high-end dedicated machines in 14 regions worldwide, 26 data-centers
- our master-master setup replicate our search engine on at least 3 different machines
- we process more than 6 billion queries per month
- we receive more than 20 billion write operations per month
But this infrastructure was not built in one day. I started this series of posts to share with you the 15 steps that were instrumental for us when building this infrastructure. I’ll be fully transparent and include the outages, the bugs, and how we have used them to improve our architecture.
In the first post, we focused on the three first steps of the service in the early days, when it was still in beta, from March 2013 to August 2013.
The second post focused on the first 18 months of service from September 2013 to December 2014, including our first outages!
Finally the third post, described how we transformed our “startup” architecture into something new while meeting the expectation of big public companies.