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

Тестирование аварий / Андрей Губа (Одноклассники)

  • Upload
    ontico

  • View
    582

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Тестирование аварий / Андрей Губа (Одноклассники)

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

Андрей Губа

Page 2: Тестирование аварий / Андрей Губа (Одноклассники)

О себе• В IT 15 лет• В Одноклассниках с 2008 года• Системный администратор

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

• Системное Администрирование API, Платформа Информационная безопасность

Page 3: Тестирование аварий / Андрей Губа (Одноклассники)

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

2010 2011 2012 2013 2014 201505

101520253035404550

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

Page 4: Тестирование аварий / Андрей Губа (Одноклассники)

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

2010 2011 2012 2013 2014 20150

10002000300040005000600070008000

Серверов

Page 5: Тестирование аварий / Андрей Губа (Одноклассники)

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

2010 2011 2012 2013 2014 20150

200

400

600

800

1000

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

Page 6: Тестирование аварий / Андрей Губа (Одноклассники)

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

Умер web серверОтказала «главная база»Пропало электричество во втором ДЦПропала сеть в основном ДЦjabber сервера с нами больше нетГлавный админ вне досягаемостиПятница, вечер

Page 7: Тестирование аварий / Андрей Губа (Одноклассники)
Page 8: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 9: Тестирование аварий / Андрей Губа (Одноклассники)

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

2010 2011 2012 2013 2014 2015

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

45 млн

13 млн

16

84

Page 10: Тестирование аварий / Андрей Губа (Одноклассники)

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

• Железо и инфраструктура• Приложения• Активность пользователей

Page 11: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 12: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 13: Тестирование аварий / Андрей Губа (Одноклассники)

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

Семафоры

Page 14: Тестирование аварий / Андрей Губа (Одноклассники)

Семафоры

Page 15: Тестирование аварий / Андрей Губа (Одноклассники)

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

Smart Monitoringобнаруживает аномалии на графикахпоказывает причинно-следственную связь между найденными аномалиямисоздает и оформляет тикеты

Page 16: Тестирование аварий / Андрей Губа (Одноклассники)

Smart Monitoring

Page 17: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 18: Тестирование аварий / Андрей Губа (Одноклассники)

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

и прогнозирование

Page 19: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 20: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 21: Тестирование аварий / Андрей Губа (Одноклассники)

РезервированиеНадежное железо тоже отказывает

1 сервер = раз в 3 года200 серверов = раз в неделю2000 серверов > раз в день

Page 22: Тестирование аварий / Андрей Губа (Одноклассники)

Приложения должны обрабатывать аварийные ситуации:

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

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

Page 23: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 24: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 25: Тестирование аварий / Андрей Губа (Одноклассники)

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

Page 26: Тестирование аварий / Андрей Губа (Одноклассники)

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

Все данные должны быть распределены между дата-центрами

Page 27: Тестирование аварий / Андрей Губа (Одноклассники)

Все данные должны быть распределены между дата-центрами

Page 28: Тестирование аварий / Андрей Губа (Одноклассники)

Все данные должны быть распределены между дата-центрами

Page 29: Тестирование аварий / Андрей Губа (Одноклассники)

Все данные должны быть распределены между дата-центрами

Page 30: Тестирование аварий / Андрей Губа (Одноклассники)

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

центра!

Page 31: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

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

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

Page 32: Тестирование аварий / Андрей Губа (Одноклассники)

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

Доступ

Page 33: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 34: Тестирование аварий / Андрей Губа (Одноклассники)
Page 35: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 36: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 37: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

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

Page 38: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 39: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 40: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 41: Тестирование аварий / Андрей Губа (Одноклассники)

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

Отдельная инструкция на случай падения дата-центра:

Вывод трафикаВвод трафикаКонтроль

Page 42: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

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

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

Page 43: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 44: Тестирование аварий / Андрей Губа (Одноклассники)
Page 45: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 46: Тестирование аварий / Андрей Губа (Одноклассники)

Хронология

Page 47: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

Page 48: Тестирование аварий / Андрей Губа (Одноклассники)

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

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

[email protected]