Это несколько более широкий вопрос по теме, с которой, как мне кажется, сталкивается каждая организация / бизнес, когда есть более одного человека DevOps: как хранить и систематизировать знания об операциях организации, чтобы они оставались актуальными, легко доступными и полезными новичкам?
Цель этого вопроса - собрать образец решения, из которого люди смогут выбрать. Моя компания / организация (пока) не нашла хорошего способа решения этой проблемы.
Определение: операционные знания - то, что необходимо знать, чтобы выполнять работу, поддерживать инфраструктуру в рабочем состоянии и обновлять ее.
Некоторые примеры: в каких регионах AWS находится наш основной кластер RDS? Где и как мы храним наши секреты? Какая настройка балансировки нагрузки для нашей веб-страницы? Какова наша роль / структура пользователей в Postgres? Как настраивается VPN и что нужно для добавления нового пользователя (создание сертификатов и т. Д.)? Каковы шаги по развертыванию новой версии кода XYZ в рабочей среде?
Как ваша организация справляется с этим? У вас есть собственная вики (какая?), Вики Github, документы Google, Evernote, файлы разметки в репозитории git, документы Word (?!?) На центральном сервере или что-то еще?
Некоторые организации начинают с вики для базы знаний. Это достаточно просто для небольшой команды, и для ее создания не требуется больших усилий. Полезно знать какой-то язык разметки, хотя существуют веб-панели, которые сокращают процесс публикации до страницы создания.
Существует тенденция использовать документы Google, потому что они совместно используются, работают совместно и могут быть организованы. Поначалу это работает хорошо, но может привести к дезорганизации, а функция поиска плохо работает с большим и устаревшим набором данных (довольно много пропусков). Но если вы можете держать его организованным, это дешево и просто. По сути, это то же самое, что и подход к «картотеке» NAS, и обычно в нем хранится все, что вам нужно.
Платформа управления документами, такая как Confluence, хорошо подходит для крупных организаций, поскольку она предназначена для разделения ответственности за ведение документации между командами, а также обеспечивает четкую функциональность управления версиями и совместного использования. Его легко поддерживать в порядке и он интегрируется с различными системами построения диаграмм или другими системами с богатым содержанием. Здесь больше кривой обучения, чем при использовании вики или классического «картотечного шкафа».
Как только ваша команда превысит 3–4 человека, вам понадобится библиотекарь - кто-то, ответственный за то, чтобы документация была написана, согласована и поддерживалась. Очевидно, это не работа на полный рабочий день, но она жизненно важна. Когда никто не несет ответственности за поддержку документа / вики / репозитория / Sharepoint, документация устаревает. И как только он устареет, люди перестают использовать документ / репозиторий, и все остальное остается в головах людей.