Lifting A Dreamer 2009

Секреты инфраструктуры Twitter — неужели мы больше не увидим кита Fail Whale?

lifting-a-dreamer-2009

Команде, отвечающей за инфраструктуру Twitter, удалось убить пресловутого Fail Whale, означающего очередной даунтайм сервиса микроблогов. Раффи Крикорян — вице-президент компании по инженерной платформе и его команда полагают, что существо, которое несколько лет использовали на экранах пользователей в моменты падения сервиса, в настоящее время уходит в прошлое.

— Я думаю, что мы можем сказать с уверенностью, что знаем, как это сделать,- рассказал он во время одной из беседам на сцене конференции GigaOm Structure на прошлой неделе в Сан-Франциско. — Раньше мы действительно не понимали, как правильно составить планирование емкости, сказал Крикорян. 

Планирование мощностей в глобальном масштабе является непростым делом, и требуется время, чтобы ему научиться. Теперь команда работает на совершенно ином уровне, беспокоясь о предоставлении нормальной эксплуатации инженерам программного обеспечения компании. Крикорян не хочет, чтобы инженеры беспокоились об инфраструктуре, которая может отвлечь их внимание от опыта конечного пользователя.

raffi_kirkorian640x474

Раффи Крикорян, его аккаунт в Твиттере — @raffi

Таким компаниям, как Twitter, которые были построены вокруг интернет-услуг в отличие от всего, что было до них, и выросли с головокружительной скоростью, пришлось учиться работать с инфраструктурой центра обработки данных для своих конкретных приложений с нуля. В том же ряду стоят Facebook, Google и Yahoo.

По мере роста, они разработали собственное программное обеспечение по управлению ИТ и много собственного оборудования. У них есть открытый исходный код для многих технологий, разработанных для собственных целей. Часть этих наработок была принята другими участниками рынка и стала центром коммерческих предложений, разработанных множеством стартапов.

Основные задачи остались прежними, но Twitter стал лучше в их решении. Две самых больших проблемы — скорость и взрыв емкости. Периоды высокой нагрузки происходят довольно часто. Идущий сейчас Чемпионат мира по футболу генерирует довольно много из них.

— Каждый гол — это огромный приток твитов. Каждый твит должен прийти (на сервер), быть обработанным и «выйти за дверь» снова,- говорит Крикорян.

kjhadlfjkgha

События Мундиаля умело используются ведущими мировыми брендами, вызывая , бурную дополнительную активность пользователей. Этот твит был размещен после того, как уругвайский футболист Суарес укусил соперника.

Для управления всплесками мощностей, команда начала разбивать сервисы на уровни в зависимости от их важности. Когда происходит что-то масштабное (как спортивные события), все ресурсы, кроме основных, автоматически снижают производительность и перенаправляют резервные мощности для обеспечения ключевых показателей, определяющих пользовательский опыт.

Одним из наиболее важных инструментов в панели управления инфраструктурой сервиса является Apache Mesos, менеджер кластеров с открытым исходным кодом, который помогает приложениям делить между собой пулы серверов. Twitter запускает Mesos на сотнях серверов, используя его для всего — от сервисов до аналитики.

Apache-Mesos

Еще одна ключевая технология — Manhattan, массивная распределенная многопользовательская база данных в реальном времени.

— Мы переносим все, что только возможно генерировать в Twitter на Manhattan в большинстве случаев,- сказал Крикорян.

Manhattan обрабатывает такие вещи, как соглашения об уровне обслуживания (SLA) и репликацию данных в условиях многих дата-центров. Система позволяет инженеру единожды «бросить данные» в кластер в одном ЦОД и увидеть их автоматически отображенными везде, где это необходимо.

Но Twitter делал это отнюдь не всегда. «Более простой способ сделать это — только если у вас есть много запасных компьютеров вокруг», считает Крикорян. «Оказалось, что это не очень умно».

Команда инфраструктуры много заботится о эффективности, и именно поэтому она реализовала многоуровневую балансировку глобальной нагрузки. «Мы не печатаем деньги,  поэтому я хочу убедиться, что каждый процессор используется настолько, насколько возможно, но при этом обеспечивается запас для всплесков активности», говорит Крикорян.

Мало того, что имеет значение, что был забит гол в Кубке мира, также имеет значение, какая команда играет. «Когда Япония играет на чемпионате мира, я знаю, что большая часть трафика [во время игры] будет поступать из Японии», — объясняет Крикорян.

Это означает, что инфраструктура ЦОД компании на Западном побережье США и в других точках присутствия, ближайщих к Японии должна подготовиться к притоку трафика.

Twitter официально не раскрывает расположение своего центра обработки данных на Западном побережье, но некоторые источники указывают, что компания арендует пространство в ЦОД компании RagingWire в Сакраменто, штат Калифорния. RagingWire также присутствовала на конференции GigaOm Structure, где объявила о значительном расширении своего кампуса в Сакраменто. Twitter арендует много мощностей в центре обработки данных QTS в Атланте, где размещается с 2011 года.

comments powered by Disqus