Какие уроки инженеры Facebook извлекли из регулярных тестовых отключений своих ЦОД
Практически сразу же после того как ураган «Сэнди» в октябре 2012 года ударил по американским штатам Нью-Йорк и Нью-Джерси, затопив улицы и метро, также появились новость о том, что инженеры Facebook из Кремниевой долины решили начать подготовительные работы на случай повторения подобного природного катаклизма. Они прекрасно понимали, что сильный ураган или другое стихийные бедствие вполне способно затронуть помимо прочего и их собственные дата-центры. Причем для решения поставленной задачи специалисты самой популярной соцсети в мире выбрали не совсем тривиальный подход.
Как заявил вице-президент Facebook по инфраструктуре ЦОД и руководитель инженерной команды соцсети Джей Парих (на фото), ураган «Сэнди» стал для компании своего рода тревожным звонком. Несмотря на то, что два кампуса ЦОД Facebook в штатах Северная Каролина и Вирджиния были в порядке и никак не пострадали от разрушительного урагана, инженеры вдруг поняли, что направление движения грозового фронта может измениться в любой момент по прихоти случая. Они также поняли, что необходимо подготовить способы поддерживать максимальную работоспособность своих дата-центров, обслуживающих соцсеть с более чем миллиардом пользователей, в случае стихийного бедствия.
Именно тогда появилась инициатива Project Storm (Проект шторм). В штате Facebook была сформирована команда быстрого реагирования, в состав которой вошли около двух десятков руководителей различных технических подразделений компании. Им необходимо было мобилизовать всю команду инженеров для проведения стресс-тестов всей инфраструктуры ЦОД и соединяющих их сетей, чтобы подготовиться на случай ухода в офлайн дата-центров Facebook в различных регионах.
Парих ранее уже заявлял, что Facebook использует необычно смелый подход для проверки отказоустойчивости сети, но кодовое название Project Storm он впервые использовал лишь на днях во время своего выступления на третьей ежегодной конференции @Scale, проводимой компанией Facebook в Сан-Хосе, штат Калифорния (США). Это мероприятие собирает программистов, инженеров и руководителей из штатов крупных интернет-компаний вроде Google и Facebook, которые готовы превратиться из соперников в других начинаниях в партнеров, чтобы вместе создавать и использовать программное и аппаратное обеспечение с открытым исходным кодом для гипермасштабных дата-центров.
В ходе своего выступления во время конференции Парих озвучил множество деталей о Project Storm, позволив всем желающим понять, как одна из самых популярных интернет-компаний планеты стремится гарантировать своим пользователям постоянный онлайн.
Инженеры Facebook не хотят, чтобы пользователи соцсети испытывали задержки продолжительностью даже в доли секунды при загрузке фотографий своих кошек или общении с друзьями. Именно поэтому после продолжительного планирования специалисты Facebook провели много мини-тестов, чтобы увидеть, какое влияние проблемы с передачей трафика между различными дата-центрами будут иметь на качество обслуживания. Причем тесты не предполагали стрессового отключения подачи электроэнергии на серверы, что могло бы повредить эти машины и даже вывести их из строя навсегда.
Специалистами компании были обнаружены различные неожиданные проблемы, связанные с управлением трафиком, балансировкой нагрузки и работой других систем. Инженеры постарались сделать все возможное, чтобы они не повторились в будущем. Но, в конце концов, в 2014 году члены команды решили, что необходимо сделать последний шаг и отключить дата-центр по-настоящему. Результатами первого большого теста инженеры оказались недовольны, и было решено провести следующий тест. К чести команды, пользователи почти наверняка не заметили каких-либо проблем. Но ситуация, складывавшаяся «за кулисами», была совсем не такой радужной. Следующая диаграмма показывает результаты тестов: на оси Y показаны просадки трафика при повышении нагрузок на различные системы.
После внесения множества исправлений инженеры соцсети в конечном итоге смогли заставить свою систему управления трафика работать более эффективно, а сеть – более устойчиво: теперь трафик идет плавно с меньшим количеством колебаний:
Реализация инициативы Project Storm продолжается и по сей день. При этом команда инженеров проводит тесты на самом деле даже чаще, чем ранее, а также старается опробовать новые стрессовые сценарии. По словам Париха, члены команда тщательно анализируют происходящее во время каждого теста и каждый раз их ожидают те или иные сюрпризы.
К настоящему времени специалисты компании также создали автоматизированную систему, которая упрощает осуществление всех шагов, необходимых, чтобы отключить или включить дата-центр. Причем приведение дата-центров обратно в рабочее состояние занимает намного больше времени, чем их отключение.
Как отметил Парих, несмотря на то, что целью Storm Project была подготовка к стихийным бедствиям, эта инициатива помогла Facebook узнать больше об инфраструктуре своих дата-центров. Топ-менеджер также отметил, что инфраструктура дата-центров компании настолько сложна, что «ни один человек в ее штате не понимает, как именно работает вся система.
Всего комментариев: 0