msdevcon.ru #msdevcon DEVOPS: ПРОГРАММИРУЕМ ОТКАЗЫ И СБОИ! Роман Юферев, VIAcode Эрнест Юферев Хочешь, я расскажу тебе сказку? Бизнеспользователь Бизнес-аналитик Бизнеспользователь, смоделированный в требованиях Технический пользователь (Админ!) Разработчик Бизнес-аналитик решает! Итоговые требования О любви к админам Что от нас ждут админы? Как админ может получить от разработчика информацию о возможном отказе? Что будет в случае отказа сервиса? Отказ??? … и кому настучат по тыковке Модель Здоровья 1. Структурная Модель Диаграмма компонентов DevCon2013 StartDate EndDate Motto Facility Name Purpose Address Coordinates Occupancy Отношения DevConWebSite URL Session Name Speaker Room Time Свойства Глубже! DevConWebSite URL Компоненты инфраструктуры! WebSite IIS ContentDatabase 2. Точки и Сценарии Отказа Типовые Сценарии Отказа Емкость ресурса Конфигурация Доступ к Базе Данных Сеть Интернет/Web-сервис … БИТВА! 3. Симптомы Симптомы Event Log WMI Текстовые файлы и другие логи Табличные данные (БД) … Немного примеров /* Пример – открываем соединение с базой данных. Конечно, никакого exception-handling :-E */ … SqlConnection conn = null; //open DB connection and get some data … НЕ достаточно НЕ однозначно Немного примеров /* Тот же пример, но добавили exception-handling */ … SqlConnection conn = null; try{ //open DB connection and get some data … } catch (SqlException sEx) { //log exception … } catch (InvalidOperationException ioex) { … (Ура!) Достаточно НЕ однозначно Немного примеров /* Детальная информация об ОТКАЗЕ (Гип-Гип-Урааааа!) */ … SqlConnection conn = null; try{ //open DB connection and get some data … } catch (SqlException sEx) { //log exception EventLog.WriteEvent(…10068,…); … EventLog.WriteEvent(…10069,…); … EventLog.WriteEvent(…10078,…); } catch (InvalidOperationException ioex) { … Достаточно Однозначно Это хорошие сценарии отказа? 4. Инструментация «Идеальная» инструментация и модель здоровья Однозначная Достаточная Информация о ПРИЧИНЕ отказа Безопасная Предсказывает отказы Предсказывание отказа 1. Анализ тренда 2. Синтетическая транзакция ГДЕ ДЕМО??? [ALM] Сбор требований и прототипирование Разработка Эксплуатация @#$@#!!!!! Разработчик РазрАдм Будущее за DevOps! Контакты Роман Юферев ryuferev@viacode.com & LinkedIn www.viacode.com/company/leadership © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.