Книга: Руководство по DevOps
Автоматическая масштабируемость ресурсов, Netflix (2012 г.)
Автоматическая масштабируемость ресурсов, Netflix (2012 г.)
Еще один инструмент, разработанный в Netflix для улучшения качества услуг, Scryer, борется с некоторыми недостатками сервиса Auto Scaling[119] компании Amazon (далее — AAS), который динамически увеличивает и уменьшает количество вычислительных серверов AWS[120] в зависимости от данных по нагрузке. Система Scryer на основе прошлого поведения пользователя предсказывает, что именно ему может потребоваться, и предоставляет нужные ресурсы.
Scryer решил три проблемы AAS. Первая заключалась в обработке резких пиков нагрузки. Поскольку время включения инстансов AWS составляет от 10 до 45 минут, дополнительные вычислительные мощности часто загружались слишком поздно, чтобы справиться с пиковыми нагрузками. Суть второй проблемы в следующем: после сбоев быстрый спад пользовательского спроса приводил к тому, что AAS отключал слишком много вычислительных мощностей и потом не справлялся с последующим увеличением нагрузки. Третья проблема — AAS не учитывал в расчетах известные ему паттерны использования трафика.
Netflix воспользовался тем фактом, что паттерны поведения его пользователей были на удивление устойчивыми и предсказуемыми, несмотря на то что их распределение не было нормальным. На графике выше отображено количество пользовательских запросов в секунду на протяжении рабочей недели. Схема активности клиентов с понедельника по пятницу постоянна и устойчива.
Рис. 32. Пользовательский спрос в течение пяти дней, по данным компании Netflix (источник: Дэниэл Джейкобсон, Дэнни Юан и Нирадж Джоши, “Scryer: Netflix’s Predictive Auto Scaling Engine,” The Netflix Tech Blog, 5 ноября 2013 г., http://techblog.netflix.com/2013/11/scryer-netflixs-predictive-auto-scaling.html)
Scryer использует комбинацию методик выявления выбросов, чтобы избавляться от сомнительных наблюдений, и затем для сглаживания данных применяет такие методики, как быстрое преобразование Фурье или линейная регрессия, в то же время сохраняя структуру повторяющихся пиков. В результате Netflix может предсказывать требуемый объем трафика с удивительной точностью.
Рис. 33. Предсказание пользовательского трафика системой Scryer компании Netflix и итоговый план распределения вычислительных ресурсов AWS (источник: Джейкобсон, Юан, Джоши, “Scryer: Netflix’s Predictive Auto Scaling Engine”)
Всего лишь за несколько месяцев после введения в эксплуатацию системы Scryer Netflix значительно улучшил качество обслуживания клиентов и доступность своих сервисов, а также уменьшил расходы на использование Amazon EC2 (сервис облачного хостинга).
- Используйте средние и стандартные отклонения для обнаружения потенциальных проблем
- Создайте инструменты фиксации и оповещения о нежелательных событиях
- Практический пример
- Автоматическая масштабируемость ресурсов, Netflix (2012 г.)
- Использование методик выявления аномалий
- Практический пример
- Продвинутое выявление аномалий (2014 г.)
- Заключение
- Листинг 11.11. Три полезных способа кэширования графических ресурсов
- Что такое администратор ресурсов?
- Поисковые машины и каталоги как инструменты раскрутки «боевых» интернет-ресурсов и наполнения их контентом
- Примеры администраторов ресурсов
- 7. Распределение ресурсов, управление электропитанием и мониторинг состояния системы
- Листинг 13.6. Код формы, демонстрирующий загрузку встроенных ресурсов
- Характеристики администраторов ресурсов
- 23.3. Ограничение системных ресурсов
- Конфликт при захвате блокировки и масштабируемость
- Виды ресурсов
- Автоматическая дефрагментация
- Глава 5. Обзор прочих бесплатных ресурсов