Работая в крупной компании с более чем 500 ИТ-специалистами и более 1000 серверов, каждый из которых работает со своими собственными бизнес-приложениями, мы сталкиваемся с огромными проблемами в области информации и координации, чтобы знать, к какому ИТ-персоналу обращаться с каким сервером. Проблема координации осложняется тем, что разные ИТ-специалисты несут ответственность за разные уровни ИТ-стека. Например, есть разные команды, которые отвечают за оборудование, виртуализацию, операционные системы, серверы приложений и сами приложения.
Учитывая эту проблему, в DevOps существует потребность в определении и документировании всех компонентов, составляющих различные технологические стеки в ИТ-среде. Традиционно это могло быть достигнуто с помощью правильного решения CMDB.
Я исследовал типичные решения CMDB, такие как BMC Atrium и другие, для этой цели, однако проблема заключается в том, что они останавливаются на уровне документирования самих активов ИТ, на высоком уровне, в соответствии с инфраструктурой ITIL, но не обращаются к документации. стека ИТ-технологий в деталях. Я также исследовал такие инструменты, как Puppet , Ansible и Salt , но эти инструменты больше фокусируются на развертывании и настройке программного обеспечения, а не на координации людей вокруг программного обеспечения.
Например, работоспособное решение будет определять различные концепции, а также ключевые атрибуты, важные для этих концепций:
- аппаратные средства
- Виртуализация
- Операционные системы
- Серверы приложений
- Приложения
Эти понятия затем будут связаны друг с другом с точки зрения их отношений, чтобы сформировать решения. Например, приложение будет зависеть от сервера приложений, который будет зависеть от операционной системы и т. Д. Вместе это решение будет определено в «Финансовой системе». После определения системы все метаданные, связанные с этими системами, будут захвачены для облегчения координации для каждого уровня в стеке. Т.е. координация работы персонала технической поддержки для каждого слоя.
Целью такого решения было бы выполнять различные запросы к технологическим стекам, например:
- Чтобы определить, кто поддерживает какие компоненты
- Какие компоненты устарели
- Какие компоненты должны быть исправлены
Имея это в виду, какие инструменты с открытым исходным кодом существуют для определения всех компонентов стека ИТ-технологий, включая их взаимосвязь, в графической базе данных, такой как Neo4J?