История 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 используется для анализа данных и стоит всего несколько сотен долларов в месяц.
Автор: globik