Pull to refresh

Архитектура Pinterest – 18 миллионов посетителей, 10-кратный прирост, 12 сотрудников, 410 ТБ данных

Reading time2 min
Views6.5K
Original author: Todd Hoff
История Pinterest очень похожа на Instagram. Феноменальный рост, огромное количество пользователей и хранимых данных, при этом поразительно мало сотрудников. А еще все в облаке.

Действительно, ни Pinterest ни Instagram не сделали больших научных или технологических открытий, но это скорее является следствием простоты использования облачных технологий, нежели признаком заката эры инноваций в Кремниевой Долине (Золотой век Кремниевой долины окончен, и мы танцуем на её могиле – прим. переводчика). Цифры в заголовке и оценки стоимости этих компании настолько велики, что нам кажется, будто бы за ними стоит некий вид технологической революции, обеспечивающей их бурный рост. Однако, эта революция гораздо более искусна – она показывает, насколько легко добиться столь быстрого роста, если вы способны реализовать хорошую идею. Привыкайте. Теперь это норма.

Вот что сегодня представляет собой Pinterest:
  • 410 Терабайт пользовательских данных или 80 миллионов объектов хранится в Amazon S3. Это в 10 раз больше, чем в августе 2011. Количество Amazon EC2 instances за то же время выросло в 3 раза. Ежемесячно затраты составляют около $39K за S3 и $30K за EC2.
  • Всего 12 сотрудников, как и в декабре 2011. Благодаря использованию облачных технологий, проект может продолжать расти, а команда, поддерживающая его, способна оставаться очень маленькой. UPD: Похоже, что уже 31 сотрудник.
  • Оплата только используемых ресурсов значительно экономит средства. Пик трафика приходится на вторую половину дня и вечер, так что ночью количество EC2 instances уменьшают на 40%. Во время максимального уровня трафика в среднем уходит около $52 в час на EC2, а ночью, когда нагрузка спадает, затраты составляют всего $15 в час.
  • 150 EC2 instances в качестве web-серверов.
  • 90 instances используются для кэширования данных в памяти для разгрузки БД.
  • 35 instances для внутреннего использования.
  • 70 master-серверов баз данных и параллельно существующих бэкап-серверов баз данных в нескольких регионах по всему миру для обеспечения избыточности хранения данных.
  • Написан на Python и Django.
  • Используется шардинг, БД разбивается при достижении 50% от вместимости. Это позволяет просто масштабировать БД при сохранении достаточной скорости операций IO.
  • Amazon ELB используется для балансировки нагрузки между EC2 instances. ELB API позволяет просто вводить и выводить из использования instances.
  • Один из самых быстрорастущих сайтов в истории. Использование Amazon Web Service позволило с минимальным уровнем IT инфраструктуры обработать запросы 18 миллионов посетителей в марте, что в 1.5 раза больше, чем месяцем ранее.
  • Облако позволяет легко и дешево экспериментировать с сервисом, при этом, не приобретая новых дорогостоящих серверов.
  • Основанный на Apache Hadoop, Elastic Map Reduce используется для анализа данных и стоит всего несколько сотен долларов в месяц.
Tags:
Hubs:
+54
Comments113

Articles