
Типичный 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
ссылка на оригинал статьи https://habr.com/ru/articles/592261/
Добавить комментарий