В продолжение темы, довольно активно обсуждавшейся на портале REALITSM.ru, например, здесь, хотелось бы поговорить про чуть более практические аспекты управления доступностью. Конкретно – про её учёт, то есть про “реактивную” часть, связанную с мониторингом и измерением.
Всем известен классический способ фиксации факта и периода недоступности посредством регистрации “инцидента недоступности”. В общем-то, им может оказаться любой инцидент. Понятно, что массовые инциденты имеют наибольший потенциал “оказаться” инцидентами недоступности. И с точки зрения учёта тут всё логично, так как инцидент является предметом коммуникации с пользователем и отражает, в данном случае, факт недоступности, выявленный в точке потребления услуги.
Но если мы переходим на уровень автоматизированного мониторинга, то есть внедряем какие-либо технические средства, позволяющие выявлять недоступность на основе событий, фиксируемых без участия пользователя, возрастает значимость корректного определения критериев (не)доступности. Только наличие понятных критериев позволит выстроить автоматизацию учёта доступности на нужном уровне. Нам понадобится детализация требований к периоду, когда услуга должна быть доступна, к длительности простоя, при превышении которой доступность услуги будет считаться нарушенной, к перечню событий, при наступлении которых мы будем фиксировать факт недоступности. При этом надо принимать во внимание, что периоды недоступности, автоматически фиксируемые по разным критериям, определённым для одной и той же услуги, могут пересекаться. А также помнить, что при измерении недоступности в точке потребления услуги мы имеем дело не с одним бизнес-процессом в целом, а с его отдельным экземпляром, выполняемым в какой-то конкретный момент времени.
Возможные пересечения по времени и множество экземпляров исполняемых бизнес-процессов подталкивают к ведению журнала недоступности отдельно от инцидентов. То есть видится целесообразным периоды простоя учитывать в отдельном журнале с привязкой к критериям, а затем на уровне отчётности совмещать периоды недоступности, пересекающиеся по времени, и уже на базе этой сводной информации рассчитывать показатели доступности.
Что скажете коллеги? Как вы учитываете недоступность – только в инцидентах или в виде отдельного журнала?
Расчет доступности осуществляется по фактическому времени начала и окончания инцидента, которое устанавливается вручную менеджером инцидентов. Журналы мониторинга, конечно, очень сильно помогают в расследовании. Но дело в том, что система мониторинга может показывать, например, что сервер по ping работает, но на самом деле – сервис может не предоставляться. Тогда смотрим на обращения пользователей: если по журналу сервис работает, а обращения от пользователей говорят об обратном – кому Вы поверите? Практика показывает, что владельцы сервисов не могут правдиво и адекватно предоставлять информацию о работоспособности сервиса, за который они отвечают (из-за конфликта интересов). Поэтому важно, чтобы менеджер инцидентов был из независимого от владельцев сервисов подразделения, либо он был непредвзят по своей сути (пользователь же сервиса – всегда прав?!). Практика также показывает, что преуменьшение масштаба инцидента относительно фактического – негативно сказывается на сервисе в целом: руководство не фокусируется на проблеме, т.к. её не видит; пользователи не верят статистике, т.к. она не соответствует их ощущениям. В результате ИТ – теряет доверие Бизнеса. Правда, это уже история не про мониторинг и инциденты, а про зрелость процессов в компании (умение из ошибок извлекать пользу).