Upload
ontico
View
582
Download
0
Embed Size (px)
Citation preview
Тестирование аварий
Андрей Губа
О себе• В IT 15 лет• В Одноклассниках с 2008 года• Системный администратор
– Руководитель отдела– Deputy CTO
• Системное Администрирование API, Платформа Информационная безопасность
Одноклассники в цифрах
2010 2011 2012 2013 2014 201505
101520253035404550
Уники, млн/сут
Одноклассники в цифрах
2010 2011 2012 2013 2014 20150
10002000300040005000600070008000
Серверов
Одноклассники в цифрах
2010 2011 2012 2013 2014 20150
200
400
600
800
1000
1200Трафик, Гбит/cек
Авария в WEB проекте
Умер web серверОтказала «главная база»Пропало электричество во втором ДЦПропала сеть в основном ДЦjabber сервера с нами больше нетГлавный админ вне досягаемостиПятница, вечер
Авария 04.04.2013• http://habrahabr.ru/p/268413/
Инциденты с эффектом для пользователей
2010 2011 2012 2013 2014 2015
Инциденты/месяц Уники/день
45 млн
13 млн
16
84
Оперативный мониторинг
• Железо и инфраструктура• Приложения• Активность пользователей
Оперативный мониторинг. Проблемы
Новое оборудованиеНовая операционная система
Много информации! Сложно!
Оперативный мониторингРешение
Семафоры
Семафоры
Оперативный мониторингРешение
Smart Monitoringобнаруживает аномалии на графикахпоказывает причинно-следственную связь между найденными аномалиямисоздает и оформляет тикеты
Smart Monitoring
Графики использования ресурсов
• Все продакшн оборудование• Автоматически• Диски, память, трафик … • Java heap, GC …• 2.7 млн метрик
ПОППроверка операционных показателей
и прогнозирование
Резервирование
Диски в райд массивеРезервный интернет каналРеплика базы данныхМножество серверов одного типа в кластере.
РезервированиеMS SQL, HPБыстро реагируем –> Не всегда помогает
РезервированиеНадежное железо тоже отказывает
1 сервер = раз в 3 года200 серверов = раз в неделю2000 серверов > раз в день
Приложения должны обрабатывать аварийные ситуации:
ОтказЗамедлениеВозвращение в работуСтарт без связаных сервисов
Резервирование
Управляемая деградация
Отключение сервиса
Горилла и ГодзиллаТестирование аварийных сценариев в приложениях, сервисах … ДЦ
Резервирование
Все данные должны быть распределены между дата-центрами
Все данные должны быть распределены между дата-центрами
Все данные должны быть распределены между дата-центрами
Все данные должны быть распределены между дата-центрами
Проект должен работать в случае отказа любого дата-
центра!
Резервирование. Сложности
Приложения не готовы. Нужно переписать код. Приложений много!
Нет готовых технических решений. Нужно внедрять!
Не хватает людей
Рабочие инструменты
Доступ
Рабочие инструменты
Аварийный доступ
Рабочие инструменты
Системы управленияНадежностьСистемы мониторингаНадежностьТочность
Документация
Описание сервисаСхемаНастройкаРешение типичных проблемAchtung!
План действий при аварии
Чеклист для команды мониторинга:Оповещение дежурногоСообщение в рабочие чатыСоздание аварийного чатаСпособы оповещенияМобилизация нужных командОповещение:
руководителей, менеджеровпартнеров
План действий при аварии
Распределение ролей и ответственности:Оценка масштабаКоординаторСоставление оперативного планаПредоставление доступовКоординация работ в отдельном ДЦПеренятие ролейРазбор аварии
План действий при аварии
Чеклист по восстановлению сервисов:Приоритезированный списокСсылки на инструкции и инструментыКак проверятьЧто делать, если что-то пошло не такТестирование
План действий при аварии
Отдельная инструкция для человека, выполняющего роль координатора:Распределять задачиКонтролироватьДелегироватьОбновлять оперативный планИнформировать
План действий при аварии
Отдельная инструкция на случай падения дата-центра:
Вывод трафикаВвод трафикаКонтроль
План действий при аварии
Регламент взаимодействия с партнёрами:Список контактовСпособы коммуникацииУровни взаимодействия:
ИнформационныйМобилизационныйРабочая группа
Распределение ролей
Тестирование плана
Раз в кварталРазный координаторСценарийКоллеги из других командФиксирование проблемЗадачи на исправление
Сами аварии – это тоже тестирование!
РегистрируемВремя (начало, завершение, продолжительность)Скорость оповещенияЭффектХронологияСуть проблемыОбновляем в процессеРезультаты разбораЗадачи на исправление
Хронология
Коротко о главном
МониторингРезервированиеРабочие инструментыПлан действий при аварииТестирование аварий
Спасибо за внимание!
http://habrahabr.ru/company/odnoklassniki/blog/