Pull to refresh
0
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

Как Netflix находит неисправные серверы

Reading time3 min
Views9.9K
Посмотрим, как инженеры сервиса Netflix занимаются выявлением неисправных серверов.

Netflix – американская компания, поставщик фильмов и сериалов на основе потокового мультимедиа. Основана в 1997 году и на январь 2016 года у компании свыше 69 миллионов клиентов по всему миру. Только в Северной Америке а долю этого сервиса приходится 34% пикового трафика, направляемого конечным пользователям.


/ фото Emran Kassim CC

Ранее мы рассказывали о том, как Netflix запланировала увеличение общей площади ЦОД почти на 5 тысяч квадратных метров с помощью компании-производителя промышленных систем Schneider Electric. Подземный ЦОД Bluebird используется в качестве точки, в которой соединяются сети доступа, принадлежащие крупным национальным провайдерам вроде AT&T и Verizon. В данном случае сделана ставка на безопасность за счет подземного расположения, которое делает ЦОД неуязвимым перед частыми в регионе торнадо и штормами.

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

«Под капотом» Netflix можно найти множество нестандартных решений по автоматизации. Не так давно мы рассказывали об одной из находок технологических журналистов, которые обнаружили действительно поражающий воображение подход к разметке видеоконтента 77-ю тысячами различных описаний и тегов.

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

Сегодняшняя тема ни чуть не уступает по своей сложности системе Йеллина. На данный момент сервис Netflix работает на нескольких десятках тысяч серверов, и, обычно, менее одного процента из них работают неисправно. Медленный или неисправный сервер гораздо хуже неработоспособного, так как его негативное влияние на работу системы может быть настолько малым, что оно остается в пределах толерантности систем мониторинга и может быть пропущено инженером при проверке графиков.

Есть ли способ автоматически определять подобные отклонения на основании временных данных? Чтобы найти иголку в стоге сена, инженеры компании воспользовались кластерным анализом, который является методом машинного «обучения без учителя». Целью кластерного анализа является объединение наиболее схожих объектов в группы. Для решения задачи подошел алгоритм кластеризации пространственных данных с присутствием шума DBSCAN (Density-Based Spatial Clustering of Applications with Noise).

Данный метод задействует платформу динамической телеметрии Atlas, которая подготавливает данные для обработки алгоритмом DBSCAN, а он уже возвращает набор серверов с подозрением на неисправность. Кроме специальной метрики владелец сервиса определяет минимальный промежуток времени, который должен пройти, перед тем как сервер будет расценен как неисправный.

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

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

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

P.S. Материалы о том, как мы улучшаем работу собственного провайдера виртуальной инфраструктуры 1cloud:

Tags:
Hubs:
+15
Comments0

Articles

Information

Website
1cloud.ru
Registered
Founded
Employees
31–50 employees
Location
Россия