Тестирование аварий. Андрей Губа. highload++ 2015

48
Тестирование аварий Андрей Губа

Upload: odnoklassnikiru

Post on 13-Apr-2017

2.907 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Тестирование аварий. Андрей Губа. Highload++ 2015

Тестирование аварий

Андрей Губа

Page 2: Тестирование аварий. Андрей Губа. Highload++ 2015

О себе •  В IT 15 лет

•  В Одноклассниках с 2008 года

•  Системный администратор

–  Руководитель отдела

–  Deputy CTO

•  Системное Администрирование

API, Платформа

Информационная безопасность

Page 3: Тестирование аварий. Андрей Губа. Highload++ 2015

Одноклассники в цифрах

0  

10  

20  

30  

40  

50  

2010   2011   2012   2013   2014   2015  

Уники, млн/сут

Page 4: Тестирование аварий. Андрей Губа. Highload++ 2015

Одноклассники в цифрах

0  1000  2000  3000  4000  5000  6000  7000  8000  

2010   2011   2012   2013   2014   2015  

Серверов

Page 5: Тестирование аварий. Андрей Губа. Highload++ 2015

Одноклассники в цифрах

0  

200  

400  

600  

800  

1000  

1200  

2010   2011   2012   2013   2014   2015  

Трафик, Гбит/cек

Page 6: Тестирование аварий. Андрей Губа. Highload++ 2015

Авария в WEB проекте

Умер web сервер

Отказала «главная база»

Пропало электричество во втором ДЦ

Пропала сеть в основном ДЦ

jabber сервера с нами больше нет

Главный админ вне досягаемости

Пятница, вечер

Page 7: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 8: Тестирование аварий. Андрей Губа. Highload++ 2015

Авария 04.04.2013 hIp://habrahabr.ru/p/268413/

Page 9: Тестирование аварий. Андрей Губа. Highload++ 2015

Инциденты с эффектом для пользователей

2010   2011   2012   2013   2014   2015  

Инциденты/месяц   Уники/день  

45  млн  

13  млн  

16  

84  

Page 10: Тестирование аварий. Андрей Губа. Highload++ 2015

Оперативный мониторинг

Железо и инфраструктура

Приложения

Активность пользователей

Page 11: Тестирование аварий. Андрей Губа. Highload++ 2015

Оперативный мониторинг. Проблемы

Новое оборудование

Новая операционная система

Page 12: Тестирование аварий. Андрей Губа. Highload++ 2015

Много информации! Сложно!

Page 13: Тестирование аварий. Андрей Губа. Highload++ 2015

Оперативный мониторинг Решение

Семафоры

Page 14: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 15: Тестирование аварий. Андрей Губа. Highload++ 2015

Smart Monitoring

Обнаруживает аномалии на графиках

Показывает причинно-следственную связь между найденными аномалиями

Создает и оформляет тикеты

Page 16: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 17: Тестирование аварий. Андрей Губа. Highload++ 2015

Графики использования ресурсов

Всё продакшн оборудование Автоматически Диски, память, трафик … Java heap, GC … 2.7 млн метрик

Page 18: Тестирование аварий. Андрей Губа. Highload++ 2015

ПОПП — Проверка операционных показателей и прогнозирование

Page 19: Тестирование аварий. Андрей Губа. Highload++ 2015

Резервирование

Диски в райд массиве Резервный интернет канал Реплика базы данных Множество серверов одного типа в кластере.

Page 20: Тестирование аварий. Андрей Губа. Highload++ 2015

Резервирование

MS SQL, HP Быстро реагируем –> Не всегда помогает

Page 21: Тестирование аварий. Андрей Губа. Highload++ 2015

Резервирование

Надежное железо тоже отказывает 1 сервер = раз в 3 года 200 серверов = раз в неделю 2000 серверов > раз в день

Page 22: Тестирование аварий. Андрей Губа. Highload++ 2015

Приложения должны обрабатывать аварийные ситуации: Отказ Замедление Возвращение в работу Старт без связанных сервисов

Резервирование

Page 23: Тестирование аварий. Андрей Губа. Highload++ 2015

Управляемая деградация

Page 24: Тестирование аварий. Андрей Губа. Highload++ 2015

Отключение сервиса

Page 25: Тестирование аварий. Андрей Губа. Highload++ 2015

Горилла и Годзилла Тестирование аварийных сценариев в приложениях, сервисах … ДЦ

Page 26: Тестирование аварий. Андрей Губа. Highload++ 2015

Резервирование

Все данные должны иметь копии в разных дата-центрах

Page 27: Тестирование аварий. Андрей Губа. Highload++ 2015

Все данные должны иметь копии в разных дата-центрах

Page 28: Тестирование аварий. Андрей Губа. Highload++ 2015

Все данные должны иметь копии в разных дата-центрах

Page 29: Тестирование аварий. Андрей Губа. Highload++ 2015

Все данные должны иметь копии в разных дата-центрах

Page 30: Тестирование аварий. Андрей Губа. Highload++ 2015

Проект должен работать в случае отказа любого дата-центра!

Page 31: Тестирование аварий. Андрей Губа. Highload++ 2015

Резервирование. Сложности

Приложения не готовы. Нужно переписать код. Приложений много!

Нет готовых технических решений. Нужно внедрять!

Не хватает людей

Page 32: Тестирование аварий. Андрей Губа. Highload++ 2015

Рабочие инструменты

Доступ

Page 33: Тестирование аварий. Андрей Губа. Highload++ 2015

Рабочие инструменты

Аварийный доступ

Page 34: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 35: Тестирование аварий. Андрей Губа. Highload++ 2015

Рабочие инструменты

Системы управления Надежность

Системы мониторинга Надежность Точность

Page 36: Тестирование аварий. Андрей Губа. Highload++ 2015

Документация

Описание сервиса Схема Настройка Решение типичных проблем Achtung!

Page 37: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии Чеклист для команды мониторинга: Оповещение дежурного Сообщение в рабочие чаты Создание аварийного чата Способы оповещения Мобилизация нужных команд Оповещение:

руководителей, менеджеров, партнеров

Page 38: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии

Распределение ролей и ответственности: Оценка масштаба Координатор Составление оперативного плана Предоставление доступов Координация работ в отдельном ДЦ Перенятие ролей Разбор аварии

Page 39: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии

Чеклист по восстановлению сервисов: Приоритезированный список Ссылки на инструкции и инструменты Как проверять Что делать, если что-то пошло не так Тестирование

Page 40: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии

Отдельная инструкция для человека, выполняющего роль координатора: Распределять задачи Контролировать Делегировать Обновлять оперативный план Информировать

Page 41: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии

Отдельная инструкция на случай падения дата-центра: Вывод трафика Ввод трафика Контроль

Page 42: Тестирование аварий. Андрей Губа. Highload++ 2015

План действий при аварии

Регламент взаимодействия с партнёрами: Список контактов Способы коммуникации Уровни взаимодействия:

Информационный Мобилизационный Рабочая группа

Распределение ролей

Page 43: Тестирование аварий. Андрей Губа. Highload++ 2015

Тестирование плана

Раз в квартал Разный координатор Сценарий Коллеги из других команд Фиксирование проблем Задачи на исправление

Page 44: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 45: Тестирование аварий. Андрей Губа. Highload++ 2015

Сами аварии – это тоже тестирование!

Регистрируем Время (начало, завершение)

Скорость оповещения Эффект Хронология Суть проблемы Обновляем в процессе Результаты разбора Задачи на исправление

Page 46: Тестирование аварий. Андрей Губа. Highload++ 2015
Page 47: Тестирование аварий. Андрей Губа. Highload++ 2015

Коротко о главном

Мониторинг Резервирование Рабочие инструменты План действий при аварии Тестирование аварий

Page 48: Тестирование аварий. Андрей Губа. Highload++ 2015

Спасибо за внимание!

hIp://habrahabr.ru/company/odnoklassniki/blog/

[email protected]