Типичный DevOps обеспечивает движение кода от Dev по направлению к PROD, и с этим все хорошо. Ну, насколько это может быть хорошо в нашем IT мире. Jenkins, Terraform, Octopus и многое другое к вашим услугам. А вот с движением информации назад все куда сложнее.
Да, во многих компаниях есть процессы копирования баз из PROD в QA и DEV (с обрезанием секретной информации), однако в сложных случаях необходимо смотреть, что происходит именно на PROD. Хотя бы логи. И, если вы работаете в Enterprise, то все сложно или очень сложно - в зависимости от уровня паранои важности информации.
В худших случаях у разработчиков нет никакого доступа на PROD, и им рассказывают (lol), что там происходит. Как вариант, организуется митинг (с 20 приглашенными), где шарится экран, и программист говорит, какие кнопки нажимать, чтобы посмотреть логи. КПД таких митингов крайне мал.
В более цивилизованных местах некоторым девелоперам или DBA могут дать временный доступ на PROD с помощью различных систем. Как пример такой системы упомяну CA PAM, которую наблюдал в работе в некоторых отделах. Минусы таких систем (с Remote Desktop Access) в том, что они дают все или ничего - потенциально доступ к PROD позволяет все там порушить, хотя, как правило, для анализа проблемы достаточен read-only доступ. Даже для доступа к СУБД, где можно явно организовать read-only доступ, проблема существует:
Из-за того, что написано во второй строчке, у RDP/Citrix доступа к PROD часто выключен copy-paste, что превращает работу в кошмар (если надо, например, скопировать на PROD полезный скрипт - увы, copy-paste нельзя отключать только в одну сторону, только полностью!)
Миссией проекта является организация безопасного метода доступа к higher environments, гарантирующего легкость и интерактивность с полным аудитом всех операций. Проект называется Bell - Action at a distance, а бородатый мужик на лого - это Джон Белл, вы его знаете по концепции "квантовой спутанности".
Что сделано
Проект полностью функционален и используется там, где я работаю. Сайт проекта тут и в этой статье я не буду повторять то, что написано на сайте, лишь кратко пройду по содержанию.
Проект, разумеется, open source. Модули сейчас пишутся на PowerShell, а сам сервер работает под Windows, хотя прямых завязок на Windows и PowerShell нет (кроме hardcode *.ps1 в некоторых местах). Конечно, хочется чтобы это рaботало и под Linux, и здесь надежда на комьюнти.
Модули пишуться очень просто - как будто собираешь что-то из лего. Как тот же Jenkins, свежеустановленный сервер 'пуст' - если в Jenkins вы создаете свои Jobs, то тут вы пишете свои модули с нуля, либо берете готовые и подпиливаете их под свою специфику. Существуют готовые модули:
MSSQL - SQL server - статистика, метрики, логи
WMI - Показывает LUNs, свободное место, состояние сервисов
VMware - Инвентории и статистики с VMware серверов (читаются из Postgre)
FileBrowse - позволяет читать файлы log, txt, xml, config на Windows серверах
PerfMon - Читает статистики Perfmon на Windows серверах и строит графики
EventLog - Показывает Event Log
Postgres - Все для базы Postgres
MySQL - Все для MySQL
AWS - Показывает состояние EC2 и RDS инстансов и позволяет показывать файлы на S3 бакетах.
Что хочется сделать
Модули: один из авторов проекта, ваш покорный слуга, MSSQL DBA. Поэтому модули Postgres, MySQL и AWS были сделаны на отъе минималистично, для СУБД я просто пытался перенести то, что сделано в MS SQL (когда есть аналог). Безусловно, если вы специалист по Postgre, MySQL (и совместимым базам), AWS - у вас будет куча идей, что добавить. Также хочется добавить поддержку Oracle.
Сервер: Фронт написан на vue.js версии 2, бэк - Node.js. Возможно, имеет смысл кое что изменить в используемом стеке.
Linux: Да, и любой shell script вместо ps1.
UI: дальнейшее развитие
Zoom In/Out для Charts
Live Charts (смотришь на них, а статистика идет)
Actions (не read-only действия) - для них потребуется ввод данных в формы.
Ждем тех, кому интересна эта тема!
Контактуйте со мной или с моим коллегой @Writer4