Минас Саркисянwebkoth.com

Внутренняя система · В проде

Учёт ИТ-инфраструктуры

Внутренняя панель ИТ-инфраструктуры: дерево сервисов и серверов, матрица доступов, SSH-ключи и порталы, задания, проблемы, изменения и журнал аудита. Заменила унаследованную панель на 35 вкладок; от первого коммита до доставки в production - 11 дней, в системе 16 моделей данных и 23 страницы.

Болело

Учёт жил в унаследованной панели и разрозненных записях: кто к чему подключён, что на каком сервере крутится, кто за это отвечает. Уход человека уносил и доступы, и контекст.

Стало

Одна панель: дерево сервисов, матрица доступов «кто куда», ключи и порталы, задания, проблемы, изменения и аудит. Вход под собственным логином, видимость разделов - по ролям.

Что это даёт бизнесу

  • Уход человека не уносит доступы и контекст: видно, кто к чему подключён и кто за это отвечает.
  • Вопрос «что отключить при увольнении» закрывается матрицей доступов, а не обходом администраторов.
  • Каждое изменение прав остаётся в журнале аудита, поэтому «кто это выдал» - вопрос с ответом.
  • Из унаследованной панели переносилась только логика: экраны собраны заново, старый интерфейс за собой не тащили.

От источника к результату

  1. Серверы и сервисы
  2. Люди и роли
  3. Гранты доступа
  4. Ключи и порталы
  5. Задания, проблемы, аудит

Дерево сервисов ведётся руками, а факты со сборщика ложатся поверх него отдельным слоем: расхождение «что заявлено» и «что на самом деле» видно, а не затирается молча.

Как устроено

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

Промышленный контур собрался первым: CI и выкат в песочницу и в production появились через два с небольшим часа после первого коммита, а вход с ролями и тесты - в тот же день. Вопрос «как это доставлять» был закрыт до того, как появилась предметная часть.

Кто ведёт систему сейчас

Инженер. Панель ведёт ИТ-служба компании: задания, проблемы и изменения заводят те, кто с ними работает.

Другие кейсы этого шага

Внутренняя система · В проде

Управленческий финансовый контур

Все цифры компании - в одной системе

Болело
Цифры жили в десяти таблицах, личках и головах трёх человек. При уходе ключевых людей терялись и доступы, и контекст.
Стало
Один источник: движение средств, бюджет, заявки, сверка и справочники в одном приложении с ролями и правами.
Срок
месяц
Заменило
десять таблиц и переписку
Охват
ДДС, БДР, заявки, сверка

Та же система даёт эффект ещё по 3 шагам

Смотреть кейс

Внутренняя система · В проде

Платформа данных

Один источник правды вместо своих отчётов у каждого

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

Та же система даёт эффект ещё по 2 шагам

Смотреть кейс

Внутренняя система · В проде

Карта унаследованного хранилища

Что лежит в унаследованной базе - теперь известно

Болело
Унаследованное хранилище досталось чёрным ящиком: несколько баз, сотни таблиц и вью, OLAP-куб - и ни одного описания. Каждый вопрос к данным начинался с раскопок.
Стало
Переиспользуемый клиент, CLI для запросов и карта данных, которая пересобирается одной командой: базы, таблицы, вью, колонки, рядом - карта куба. Плюс проверка, что данным можно верить.
Охват карты
Обновление
карта пересобирается одной командой
Проверка данных
свежесть куба и сверка куба с SQL
Смотреть кейс
Тип
Внутренняя система
Статус
В проде
Срок
11 дней до рабочей системы
Ведёт
ИТ-служба компании
Заменило
унаследованную панель на 35 вкладок
Next.jsReactTypeScriptPrismaPostgreSQLshadcn/uiVitestPlaywrightGitHub Actions