Разница между документацией и базой знаний: документация говорит, что это устройство охлаждает воздух до +18 градусов по Цельсию, а база знаний подсказывает, что есть редкий баг, когда два датчика сразу показывают -51 тысячу градусов и устройство начинает лихорадочно греть воздух для серверов.

Когда ты начинаешь новый маленький проект, то у тебя железка лежит на полу, нет документации, нифига вообще нет и можно работать работу. Потом проект вырастает до размеров нескольких сотен человек и тысяч железок, и тебе надо знать, где что точно лежит, как что делать и так далее.

Нужен нормальный учёт всего. Нужна документация. Не нужны ситуации, когда ты не знаешь, сколько и чего у тебя точно на складе. Не нужна история, что когда инженер заболел, остальные звонят ему домой и спрашивают, как он конфигурировал сервер год назад. Не нужна история, когда кто-то сказал поднять 10 серверов и два разных человека сделали это по-разному.

Но начали мы с простого. Вопросы были такими: Кто обновляет прошивку сервера? Кто отвечает за результат? Как это делается? Кого надо предупредить? Как писать план отката и что делать, если сервер упадёт? Кто-то записал все телефоны нужные заранее хотя бы?

В общем, первые же грабли вас или убьют к чертям, или научат делать всё правильно. У нас случилось второе и без граблей. Почти без граблей. Если у вас уже есть хаос, то наш опыт может оказаться полезным, потому что сейчас нам стало лучше.

Учёт железа


Самое первое и простое — это учитывать, где какое железо стоит и что делает. Нужно это для работы с изменениями, для инвентаризаций и для правильного бухгалтерского учёта. Например, сгорела планка памяти в сервере — надо завести инцидент у вендора и поменять её. Вендор сразу спросит, какой у планки FRU-номер. Номер планки написан на самой железяке, а также номер можно посмотреть в IMM (но только когда она работает). То есть если нет учёта, инженер пойдёт в машзал, выключит сервер, вынет эту планку (то есть все, потому что он не знает FRU, но знает DIMM) и, щуря глаза, скажет её номер.

Правильно было бы отсканировать все номера с самой планки и запустить сервер, либо после запуска сервера считать данные по планкам удаленно (рабочие можно посмотреть удалённо), чтобы быстро понимать, где именно сбойная память и какой у неё номер.

Ну и вообще хорошо бы понимать, что в каком сервере стоит, когда истекает гарантия, под какой проект используется, какая конфигурация и так далее. Когда серваков становится больше сотни, инфраструктурой уже сложно управлять без постоянно обновляемой карты. Не хочется оставлять это на носителей уникального знания вроде опытных эксплуатационников, на память знающих, что и где.

А ещё нужно иметь описанную сервисно-ресурсную модель, иметь какой-то ЗИП, понимать, что есть на случай инцидента. В случае нового клиента в той же закрытой под ПД ГИС части мы должны хорошо понимать, какое оборудование и какое количество лицензий есть, какими ресурсами располагаем, которые мы могли бы подключить.

Начали мы вот с таких карточек на каждый сервер:



Как видите, тут учтены все серийники, переписаны ТТХ железа и могут быть комментарии эксплуатационников по конкретным железякам. А ещё в карточке указано, когда началась и когда закончится поддержка, то есть можно настроить отчёты по этому — это полезно для планирования расходов.



А ещё в карточке написано, где это всё стоит и что воткнуто внутрь. Можно посмотреть вот такую иерархию:







Карточки видны вот в таком списке:



Мы начали с серверов, потом пошли на коммутаторы, трансиверы, потом начали делать элементы СКС — сколько есть, где что стоит, как связано. Все серверы описаны — можно открыть любой, посмотреть, где стоит, в каком дата-центре, в каком зале, в какой стойке, в каком юните, что воткнуто, как подключено. Сделали связку с бухгалтерией с основными средствами — у них сервер учитывается как единица, а теперь мы знаем, какая карта и сетевые диски в нем установлены. Диски вообще одинаковые, отличаются серийниками, и где какой — до этого было неясно. А теперь к каждому привязан даже контракт, по которому он поставлен. Практическое удобство в том, что в бухгалтерии в одно основное средство входит большое количество оборудования, а у нас оно разнесено по стойкам, которые могут быть в разных залах, или вообще в ЗИП. Теперь мы при любом запросе (инвентаризации) бухгалтерии и клиента можем быстро найти все элементы основного средства.


Пример карточки диска, мы про него знаем все

Теперь процессы


Когда с железом греющий душу порядок, для дальнейшего его поддержания надо начинать прописывать процессы. Например, заезжает банк в облако и под него надо добавить мощностей. Нужна постановка задачи с архитектурой и описанием для определения, что добавлять, куда добавлять, как настроить, как организовать сеть.

Раньше мы это обсуждали в почте, задача описывалась в таск-трекере, а потом, когда все договаривались, эксплуатация шла и делала.

Сейчас есть два типа процессов. Если изменения стандартные, то уже описаны все отдельные части процессов типа «выдели порт там-то» (в т.ч. план работ, план возврата, план тестирования, определены ли исполнители и т.д.), и каждая может встать в календарь изменений в ServiceNow. Поскольку процесс стандартный, согласований не надо, сразу назначаются ответственные, ставятся сроки, и всё это падает на конкретных исполнителей. На каждое изменение есть SLA, заявитель понимает, в какие сроки выполнят его задачу.

Пример — выделение портов. Порт можно выделить не везде. Первое — есть, к примеру, 100 коммутаторов, разные, у каждого по 48 портов. Портов 100*48, но это не значит, что любой можно выделить. Коммутаторы расположены в разных ЦОДах, залах. Нужно понимать, на каких можно выделить порты, на каких — нет. Согласно плану стандартного изменения, инженер знает, где и какие порты выделять, не выделит ранее зарезервированные. Второе — порт должен с чем-то взаимодействовать, соответственно, должны быть применены разные настройки (безопасность, скорость, ограничения полосы, настройка QOS и т.д.), всё это либо описано в запросе, либо указано в плане изменения. Третье — знаем, сколько у нас выделено, сколько зарезервировано, это очень полезно для последующего проектирования.

Если изменения нестандартные, то изменение после регистрации попадает на change-менеджера. Происходит проектирование, что и как, прорабатывается архитектура для реализации изменения, планы работ, оцениваются риски, планы отката, определяется время простоя, кого информировать, ответственные за работы, после чего всё отправляется на согласование… В общем, пишется та самая скриптовая последовательность со всеми вилками из прошлого пункта. Тот, кто это пишет, описывает риски (какие видит) и готовит план отката на каждый случай. После чего по процессу изменение попадает на комитет по изменению. Члены КАБа заранее определены для зон ответственности. Потом каждый участник смотрит план изменений и планы отката и согласовывает или нет. Если надо — доработка. Если надо — согласуются окна. После всех согласований ставятся задачи на исполнителей. Но на практике оказалось, что мы не такие большие. В боевой системе КАБ оставлен «на вырост» как сущность в системе, по факту — это руководители и/или архитекторы.

У каждого изменения есть change-менеджер (ответственный исполнитель), он отвечает за изменение, за всеми изменениями следит дежурная смена, отслеживает мониторинг и при нештатных ситуациях коммуницирует с заказчиками. Изменение закрывается только после того, как дежурная смена подтверждает работоспособность, change-менеджер проверяет согласно плану тестирования и обновляет CMDB и документацию.

Дело в том, что результат надо занести в документацию, а всё то, что было сделано во время изменения, отразить в базе активов. Элементарно обновить связность. Вот только после этого всё будет закрыто.

Вот такие процессы мы стали писать:



Разница с процессом и без — в том, что с процессом больше документации и бюрократии, но понятнее, что делать. Раньше кто как хотел, тот так и делал. Понятно, что пока людей мало, всё это держалось на неписаных стандартах. Выросли — понадобилось их записать, плюс без этого невозможно управлять большим количеством процессов. Появилась область ответственности. Появились разные SLA для разных случаев. Появилась обязанность готовить планы, предупреждать всех заинтересованных, а также согласовывать и документировать всё в конце. Дальше всё это автоматизировали в ITSM:



База знаний


Все работы в рамках изменений связаны с элементами конфигураций. Регистрируя изменение, мы знаем, что есть стандартизированный процесс: как работы должны выполняться, на каком оборудовании, и определён круг лиц — кто согласует, кто выполняет, кто что делает, если что-то идёт не по плану, и так далее.

Мы сразу видим риски, а в будущем — и стоимость работ.

Но этого мало.

Нужна база знаний, которая описывает то, что не описывает процесс. Например — редкий баг в прошивке. Или как лучше собирать стойку. Или как что подключать. Вот пример записи:



Это делается в основном из документов, которые пишет архитектор на стадии планирования. Но иногда инженеры и change-менеджеры добавляют что-то новое после выполнения работ.

Вы не представляете, какой кайф посмотреть на записи о железке и знать, что с ней делали и как до этого. А какой это будет кайф через 3–4 года — просто не передать.



Склад


Следующая часть всей истории — это складское хранение. У нас это ЗИП, инструменты, упаковка от тестового оборудования. Всё это у нас хранилось прямо в кабинетах, где сидела дежурная смена, служба эксплуатации и архитекторы. Когда инженеры собирались на монтаж в ЦОД, то иногда ходили по кабинетам для сбора оборудования и расходников (пачкордов, трансиверов и пр.). Это ведёт к хаосу, а хаос крут только поначалу.

Опять же немного бюрократии — и вот у нас описан ЗИП (точнее, большая часть, ряд вещей всё ещё в состоянии «ящик с мелочовкой»). Есть адресное хранение в ПО, но пока склад не готов его внедрять организационно — у каждой штуки будут координаты в виде места на стеллаже. Когда инженеру ставится задача на монтаж, к заданию прикрепляется что-то вроде «возьми вот этот коммутатор там-то, вот эти SFP тут, вот эти пачкорды. Вот их стеллажи, полки».

Роли на изменения


Частично я уже описал управление изменениями. Ещё одна вещь в этой истории — это то, что у нас есть ролевое распределение:



То есть если ты из сетевой группы VMWare, то заявку можешь подать только в зоне VMWare. У каждой роли есть список процессов, которая она может делать, и список задач, которые могут ставить её члены. То есть вся организационная структура компании тоже может быть занесена в ITSM.

Кто борется с хаосом?


Мы боремся всей командой, но отвечаю за результат я. Работы, кстати, ещё много. Должность у меня называется «руководитель программ». Это что-то вроде руководителя проектов с задачей ведения плана и списка взаимозависимых проектов, которые необходимо реализовать для достижения общей цели.

До этого я занимался тем, что наводил порядок в рознице, в частности, автоматизировал учёт и поставки в большой розничной сети магазинов для корректного учёта, снижения затрат на приёмку и учёт товара, сокращения времени подачи товара на полку. Могу сказать, что в ИТ-компании процесс изменений идёт в разы более гладко — все понимают, зачем это.

Когда стало понятно, что любой новый инженер может поднять документацию, поднять, как что делалось, прочитать логи настройщика (не только те, где кто-то позаботился о потомках по доброте душевной, а любые) и не собирать по частям от коллег байки, стало понятно, куда мы идём.

На старте не было ничего, и мы запустили с нескольких сторон работу. Полный результат пока не достигнут, но за полгода мы стали более понятными в работе с железом, процессами и изменениями. Облако развивается, и это его логичный шаг. Сразу так делать было не надо, но сейчас — самое время.

На днях вводим в тестовую эксплуатацию новый склад и продолжаем бороться с хаосом по другим векторам. Работы ещё до забора, но результаты видны всем. Если интересно, могу рассказать пару историй из розницы — там такие же проекты осложняются тем, что им, бывает, активно сопротивляются и конечные юзеры, и руководители других подразделений. Ну и плюс — всех надо учить, а у многих — побеждать мышление «мы и так нормально работали, не трогай».

Текст подготовлен Борисом Косолаповым, руководителем проектов по автоматизации Техносерв Cloud.

Комментарии (11)


  1. osipov_dv
    27.03.2018 10:28

    а что за софт вы используете? картинки со связями так себе, а вот база знаний интересует…


    1. TS_Cloud Автор
      27.03.2018 11:08

      Базу знаний ведем в confluence. Для инцидентов, изменений, CMDB используем ServiceNow. В перспективе возможно базу знаний тоже перенесем в confluence, чтобы была единая среда для работы.


    1. TS_Cloud Автор
      27.03.2018 12:11

      момент, неправильно написал. Наоборот, в SN переносим


  1. redmanmale
    27.03.2018 16:54
    +1

    Если интересно, могу рассказать пару историй из розницы

    Интересно. Пишите.


    1. TS_Cloud Автор
      27.03.2018 19:03

      окей! обязательно напишу пост на эту тему


  1. NowIsBetterTime
    28.03.2018 16:28

    Как быть с нехваткой ЗИП при ревизии? Каждое перемещение происходит на основании бумажки (например накладной)? Как быть с теми, кто не отображает установку ЗИП в учётной системе, ссылаясь на срочность решения проблемы? Например нужно было срочно восстановить в короткие сроки сервер, заменив оперативку и не было времени на бюрократические моменты? Ведь, как известно, потом это всё забывается, так ну сделали дело, восстановили сервер, живём дальше.
    Предусмотрены ли какие-нибудь дополнительные плюшки при пополнении базы знаний? Как ведётся работа с теми кто базу знаний не пополняет, например, маскируя нежелание под более приоритетными задачами?


    1. TS_Cloud Автор
      28.03.2018 16:30

      «Как быть с нехваткой ЗИП при ревизии?»
      В перспективе настроим уведомление о необходимости пополнить ЗИП, до этого еще не дошли.

      «Каждое перемещение происходит на основании бумажки (например накладной)?»
      К каждому изменению привязывается используемое оборудование. Для расходных материалов сделаем расходные ордеры, которые будут привязываться к изменениям/задачам, на основнии ордеров будут списываться расходники.

      " Как быть с теми, кто не отображает установку ЗИП в учётной системе, ссылаясь на срочность решения проблемы? Например нужно было срочно восстановить в короткие сроки сервер, заменив оперативку и не было времени на бюрократические моменты? Ведь, как известно, потом это всё забывается, так ну сделали дело, восстановили сервер, живём дальше".
      Это организационный вопрос, по процессу допускается для срочных изменений оформление по факту.

      «Предусмотрены ли какие-нибудь дополнительные плюшки при пополнении базы знаний? Как ведётся работа с теми кто базу знаний не пополняет, например, маскируя нежелание под более приоритетными задачами?»
      У нас командная работа и все понимают важность документирования. На крайний случай всегда есть руководитель «несогласного» для решения таких вопросов).


  1. IvanTamerlan
    28.03.2018 18:13

    Статья просто про мою специальность (экономическая кибернетика, в новой версии бизнес-информатика). Спасибо за ваш труд, сохранил себе в качестве отличного материала.

    Сразу же возникли вопросы, надеюсь на ваши ответы. Возможно, я чего-то не понял или эти моменты были преднамеренно вынесены за кадр:
    База знаний сетевая? Например (данные вымышленные), в прошивке N15 есть баг Error_66. Он относится:
    а) к конкретной аппаратуре
    б) к различным аппаратам той же серии (но не всех, на 4х других стоит новая/старая система и там этого бага нет)
    в) к другим системам (на том же чипе; использующих тоже самое ядро ПО; etc)
    Отсюда — привязка к пункту Б недоступен для тех, кто относится к пункту В.

    Есть параллельность и связанность знаний и схемы процессов? Т.е. в схеме есть шаг «Регистрация», в базе знаний расшифровка «Регистрация осуществляется таким образом, для серверов она такая, а для оперативной памяти иная». Соответственно — для разных схем процессов могут использоваться одинаковые шаги. И такие элементы могут создать «инструкцию для начинающих».

    Есть ли выдача готовых шаблонов схем процессов? Например, передача фирме (новому отделу) каких-то готовых инструкция как оно у них может быть устроено. А уже шаблон может быть изменен под конкретную ситуацию. Перспективное направление — автоматизация сторонних предприятий.

    Наносится ли на сами изделия какие-то идентификационные коды? От бухгалтерии часто просто наносят номер, но от IT организаций ожидается использование штрих-кодов, QR или иных способов идентификации с возможностью подключится к базе данных и узнать/отредактировать информацию для конкретного девайса.

    Будут ли какие-то сведения из базы знаний раскрыты широкой общественности? Из статьи пример — баг в прошивке.

    Извиняюсь, вопросов оказалось многовато.


    1. TS_Cloud Автор
      29.03.2018 16:12

      Спасибо за приятный отзыв. Постараюсь ответить по пунктам.
      1. Как говорил ранее, для базы знаний мы используем решение Аtlassian ru.atlassian.com/software/confluence
      Про баг: ошибки в ПО(уязвимости) это несколько другой процесс. Для примера можете посмотреть описание в базе знаний топовых вендоров (наш процессы чем-то похожи best practice).
      2. Параллельность и связанность знаний и схемы процессов имеется. Мы над этим много работаем.
      3. Про шаблоны. У нас все же другой профиль, и в посте я пишу об опыте автоматизации наших процессов. Шаблоны есть, делаем их для себя же по мере необходимости.
      4. «Наносится ли на сами изделия какие-то идентификационные коды?»
      В самом начале мы думали над нанесением ШК, QR, RFID, но отложили это на перспективу.
      5. «Будут ли какие-то сведения из базы знаний раскрыты широкой общественности? Из статьи пример — баг в прошивке.» Пока не планировал. Но, если будет интересный материал, который можно показать общественности, то обязательно напишу.


  1. Arxitektor
    29.03.2018 15:26

    Начали мы вот с таких карточек на каждый сервер:

    На скринах servicenow? Или другое ПО.


    1. TS_Cloud Автор
      29.03.2018 16:18

      Да, все скрины с ServiceNow, кроме базы знаний и схемы процесса («Вот такие процессы мы стали писать»)