Праздник 2014: За кулисами с Bazaarvoice Engineering
Опубликовано: 2015-01-07Bazaarvoice Engineering был построен на том, чтобы дать возможность нашим талантливым командам владеть каждым аспектом предоставления услуг клиентам, от начала до конца. Для нашего крупнейшего события года, выходных «Черная пятница» и «Киберпонедельник»: каждая команда инженеров разрабатывает свои прогнозируемые нагрузки трафика, свой план нагрузочного тестирования, свой план замораживания кода, и каждая отвечает за выполнение и отчет о результатах готовности. Эта подготовка начинается более чем за 7 месяцев до Черной пятницы.
Работа начинается в апреле
Пока многие думают о поездке в Диснейленд или на пляж, Bazaarvoice Engineering начинает подготовку к самому большому событию года: Черной пятнице/Киберпонедельнику. Предстоит проработать много деталей и подготовиться. Именно тогда начинаются наши крупномасштабные усилия по планированию систем, поскольку мы переоцениваем общую емкость системы в свете прогнозируемого роста трафика на сайтах электронной коммерции и брендов во всей нашей сети. Наши команды анализируют подробные модели трафика, рост веб-трафика, рост пользовательского контента, емкость хранилища и многое другое. В дополнение к нашим собственным системам мы оцениваем сторонние системы, с которыми мы интегрируемся, и проводим встречи с их руководящими группами, чтобы помочь им понять, какие улучшения необходимы, прежде чем прибудет большой праздничный трафик.
Судя по первоначальной оценке, нам предстоит завершить ряд крупных проектов, чтобы подготовиться к грядущим праздникам. Итак, пока майское лето в Техасе начинает разгораться, мы начинаем наши еженедельные встречи по планированию Черной пятницы, и команды приступают к работе. Существуют крупные инфраструктурные проекты по расширению того, что мы называем «Дисплей», систем, которые обслуживают внешние запросы от полумиллиарда уникальных посетителей в месяц. Нам предстоит еще многое сделать для дальнейшего улучшения каналов данных, которые мы отправляем нашим клиентам каждый день. Есть новые инструменты нагрузочного тестирования для совершенно новых частей нашей платформы. Планируется, что новые информационные панели в режиме реального времени улучшат нашу способность быстро визуализировать текущее состояние всех наших сервисов. Наконец, есть улучшенные процессы и каналы связи как до, так и во время пикового сезона, которые необходимо планировать и развертывать в компании и для наших клиентов. Отменить эти каникулы!
Затишье перед бурей
Учитывая прогнозируемый на 2014 год рекордный трафик и значительное количество новых сервисов в производстве, стало ясно, что нам нужны расширенные возможности нагрузочного тестирования. Мы создаем огромную новую виртуальную тестовую среду, в которой все команды будут развертывать и масштабировать свои сервисы, точно так же, как мы будем делать это в производственной среде, когда придет время. Новые инструменты тестирования могут очень точно имитировать фактические схемы движения покупателей, и, подобно пожарному шлангу, мы увеличиваем громкость и тестируем все услуги вместе. В дополнение к нагрузочному тестированию каждая команда участвует в «Игровом дне», где мы намеренно отключаем целевые службы, чтобы убедиться, что мы можем обнаруживать, реагировать и восстанавливаться после сбоев во всей системе. Каждая команда публикует все свои результаты и подписывает — мы готовы.
По мере приближения Черной пятницы, через несколько недель мы уже запускаем новые виртуальные серверы в облаке. Одна вещь, которую мы узнали в прошлом году, даже если вы зарезервировали ресурсы в облаке, если вы попытаетесь раскрутить серверы непосредственно перед Черной пятницей, доступных ресурсов все равно может не быть. Несмотря на то, что за неделю до Дня благодарения мы наслаждаемся обедом нашей команды, мы уже видим периоды удвоения трафика.

"День игры"
День Благодарения — прекрасное время года, наполненное семьей, едой, футболом, а для инженерной команды Bazaarvoice — графиками производительности системы, расписанием вызовов, оповещениями пейджера и чатами. Центр управления — это наша «комната инцидентов» в нашем инструменте HipChat. Поскольку остальная часть страны наслаждается индейкой и стартовыми матчами, наш игровой день проходит онлайн. Судя по всему, страна немного увлекается онлайн-шоппингом со своим футболом. Сделать это много покупок.
Наш мониторинг окупается, мы выявляем множество проблем и корректируем производительность до того, как будут замечены какие-либо проблемы, с которыми сталкивается клиент. День благодарения, и в чате полно инженеров из разных команд, готовых в случае возникновения проблемы. Каждый час запросы в секунду бьют новый рекорд. И неизбежно возникает проблема в один из многочисленных сервисов в День Благодарения, но благодаря дизайну нашей системы уровень ошибок составляет <0,1%. Тем не менее, инженеры работают до полуночи в День Благодарения, чтобы полностью решить проблему.
По мере того, как приближаются праздничные выходные, мы видим, что объем трафика увеличивается более чем в 6 раз по сравнению с обычным объемом, и когда трафик на нашу платформу больших данных достигает 30 000 в секунду, мы все взволнованы. В чате наш менеджер по инцидентам периодически публикует графики с наших информационных панелей, а команда болтает с праздничными поздравлениями и развлекательными гифками, чтобы поддерживать хорошее настроение. Черная пятница уже здесь, и она больше, чем когда-либо.
Каждый час мы отправляем в компанию электронные письма о состоянии здоровья для тех, кто не находится в чате, и мы видим значительное увеличение просмотров страниц и трафика API по сравнению с тем же периодом прошлого года. Несколько проблем продолжают возникать в течение выходных, но очень немногие из них видны клиентам, и команды быстро реагируют, добавляя сервисные ресурсы, включая новые сервисы или увеличивая лимиты. Команда инженеров работает вместе со службой поддержки DevOps и нашей выдающейся службой поддержки клиентов, чтобы убедиться, что заранее запланированный процесс коммуникации работает, и все в процессе получают информацию. Как говорят в BV – одна команда, одна мечта! Между тем, трафик к нашей платформе больших данных достигает 37 000 запросов в секунду и в конечном итоге достигает пика выше 50 000 запросов в секунду.
384 миллиона просмотров страниц
К тому времени, когда наступает Киберпонедельник, увеличение трафика кажется новой нормой. Команда физически вернулась в офис, но вы можете сказать, что стресс от «Праздника» смягчается облегчением, которое мы сделали. Итак, что именно мы сделали? Что ж, только в Черную пятницу мы предоставили 384 миллиона просмотров страниц более чем 73 миллионам уникальных посетителей. В этот праздничный период нас посетило более 222 миллионов уникальных посетителей, что на колоссальные 38% больше, чем в прошлом году, и мы обслужили 7,7 миллиарда общих показов, что на удивительные 42% больше, чем в прошлом году.
В нашем непрекращающемся желании совершенствоваться мы уже провели ретроспективу и подумали о том, как можно улучшить на следующий год, но я очень горжусь тем, как эта команда спланировала, подготовила, выполнила, отреагировала и выполнила обслуживание мирового класса для наших клиентов. Поистине, это самая ориентированная на клиента и преданная команда, которой мне довелось руководить за всю мою карьеру, и мы уже с нетерпением ждем больших успехов в 2015 году.
