Цифровая трансформация ITSM-системы ИнфраМенеджер

Модернизация ITSM-системы ИнфраМенеджер: кроссплатформенность, поддержка PostgreSQL, Linux и Docker
О проекте
ИнфраМенеджер — корпоративная ITSM-система класса Enterprise для управления ИТ-инфраструктурой, сервисными процессами, заявками пользователей, оборудованием, лицензиями, доступами и бизнес-процессами крупных организаций.
Платформа используется предприятиями для автоматизации работы ИТ-служб, управления активами, обработки сервисных запросов, контроля изменений, настройки маршрутов согласования и организации внутренних процессов компании в едином цифровом пространстве.
Команда SaaSoft выполнила комплексную модернизацию платформы, включающую миграцию с .NET Framework на .NET 6, внедрение поддержки PostgreSQL, контейнеризацию сервисов, поддержку Linux и автоматизацию процессов DevOps. Проект стал примером успешной трансформации крупной legacy-системы в современное высоконагруженное корпоративное решение.
В результате заказчик получил современную кроссплатформенную ITSM-платформу, готовую к масштабированию, импортозамещению и эксплуатации в инфраструктурах любого уровня сложности.
Задача: модернизация legacy-системы без потери функциональности
На момент начала работ ИнфраМенеджер представлял собой монолитное приложение на .NET Framework 4.6.1 с использованием Microsoft SQL Server и полной привязкой к операционной системе Windows.
Подобная архитектура характерна для многих корпоративных информационных систем, которые развиваются на протяжении многих лет. Несмотря на богатую функциональность и накопленную бизнес-логику, дальнейшее развитие платформы становилось всё более сложным и затратным.
Основные ограничения существующего решения:
использование устаревшего технологического стека .NET Framework 4.6.1;
работа исключительно под управлением Windows Server;
зависимость от Microsoft SQL Server;
отсутствие поддержки альтернативных СУБД;
высокая стоимость сопровождения инфраструктуры;
сложность масштабирования отдельных компонентов;
отсутствие контейнеризации;
ограниченные возможности автоматизации поставки новых версий;
длительный цикл тестирования и релизов.
Дополнительным фактором стало растущее число заказчиков, заинтересованных в использовании Linux и PostgreSQL в рамках программ импортозамещения и снижения затрат на лицензирование программного обеспечения.
Перед командой SaaSoft была поставлена задача модернизировать платформу без потери существующего функционала, сохранить совместимость с текущими внедрениями и подготовить систему к дальнейшему развитию на современной технологической базе.
Цели проекта
Основной целью проекта стало создание современной кроссплатформенной ITSM-системы, способной работать в различных инфраструктурных сценариях без зависимости от конкретных поставщиков программного обеспечения.
Для достижения этой цели требовалось:
выполнить миграцию с .NET Framework на .NET 6;
обеспечить поддержку Linux и Windows;
реализовать работу как с PostgreSQL, так и с Microsoft SQL Server;
провести контейнеризацию сервисов;
внедрить процессы CI/CD и DevOps;
повысить производительность системы;
расширить возможности лицензирования;
модернизировать систему управления доступом;
оптимизировать внутренний Workflow Engine;
подготовить платформу к дальнейшему масштабированию.
Рефакторинг архитектуры и поддержка PostgreSQL
Одной из ключевых задач проекта стала модернизация архитектуры доступа к данным.
В исходной версии платформы значительная часть логики была тесно связана с Microsoft SQL Server, что существенно усложняло поддержку других СУБД.
Специалисты SaaSoft выделили отдельный слой доступа к данным, обеспечив полное разделение бизнес-логики и механизмов хранения информации.
В качестве ORM была внедрена Entity Framework Core, что позволило унифицировать работу с различными системами управления базами данных.
После модернизации ИнфраМенеджер получил полноценную поддержку:
Microsoft SQL Server;
PostgreSQL.
Для существующих клиентов была сохранена возможность продолжить использование Microsoft SQL Server без необходимости миграции данных.
Новые заказчики получили возможность развёртывать систему на PostgreSQL, что особенно актуально для проектов импортозамещения и корпоративных Linux-инфраструктур.
В результате была устранена зависимость платформы от конкретного поставщика СУБД и значительно расширены варианты внедрения системы.
Миграция корпоративной системы с .NET Framework на .NET 6
Следующим этапом проекта стала масштабная миграция приложения с .NET Framework 4.6.1 на современную платформу .NET 6.
Работы включали:
перенос серверных компонентов;
адаптацию библиотек и зависимостей;
обновление инфраструктурного кода;
модернизацию механизмов интеграции;
переработку устаревших модулей;
оптимизацию производительности;
адаптацию сервисов для кроссплатформенной работы.
Переход на .NET 6 позволил существенно повысить производительность системы, снизить потребление ресурсов серверов и обеспечить долгосрочную поддержку продукта на современной платформе Microsoft.
Кроме того, модернизация открыла возможности для дальнейшего развития архитектуры и использования современных инструментов разработки.
Контейнеризация .NET-приложения и поддержка Linux
Для обеспечения гибкости развёртывания и повышения отказоустойчивости все сервисы платформы были переведены на контейнерную архитектуру.
Каждый компонент системы был адаптирован для запуска в Docker-контейнерах, что позволило стандартизировать процессы поставки, тестирования и эксплуатации программного обеспечения.
После модернизации платформа получила полноценную поддержку:
Linux;
Windows Server;
Docker-инфраструктур;
контейнерных сред развёртывания.
Контейнеризация позволила существенно упростить процесс внедрения продукта у заказчиков, ускорить обновления и обеспечить единообразие окружений на всех этапах жизненного цикла системы.
Новая архитектура также открыла возможности для использования Kubernetes и других платформ оркестрации контейнеров в крупных корпоративных инсталляциях.
Внедрение DevOps, GitLab CI/CD и автоматизация релизов
В рамках проекта команда SaaSoft внедрила современные DevOps-практики и автоматизировала процессы поставки программного обеспечения.
Для платформы был реализован полноценный конвейер непрерывной интеграции и доставки на базе GitLab CI/CD.
Были автоматизированы следующие процессы:
сборка приложений;
запуск автоматических тестов;
создание Docker-образов;
публикация артефактов;
подготовка тестовых окружений;
выпуск новых релизов;
доставка изменений между контурами.
В результате существенно сократилось время подготовки новых версий продукта, повысилась стабильность релизов и снизились риски возникновения ошибок при развертывании.
Автоматизация процессов позволила ускорить разработку и обеспечить более высокое качество поставляемого программного обеспечения.
Развитие функциональности платформы
Помимо модернизации архитектуры была проведена работа по развитию ключевых бизнес-модулей системы.
Система лицензирования
Команда SaaSoft разработала новый модуль лицензирования, обеспечивающий централизованное управление лицензиями и гибкие механизмы контроля использования продукта.
Решение позволяет поддерживать различные модели лицензирования и упрощает сопровождение крупных корпоративных внедрений.
Управление доступом и ролями
Для повышения уровня безопасности был реализован обновлённый механизм управления доступом.
Подсистема обеспечивает гибкое разграничение прав пользователей, поддержку ролевой модели безопасности и централизованное управление доступом к функциональным возможностям платформы.
Оптимизация Workflow Engine и Low-Code процессов
Особое внимание было уделено внутреннему Workflow Engine — одному из ключевых компонентов платформы.
Данный механизм отвечает за автоматизацию бизнес-процессов и позволяет заказчикам самостоятельно настраивать маршруты согласования и правила обработки заявок без внесения изменений в программный код.
В рамках проекта были оптимизированы:
маршруты согласования;
обработка бизнес-правил;
работа триггеров;
обработка событий;
пользовательские сценарии автоматизации;
исполнение Low-Code процессов.
В результате удалось повысить производительность Workflow Engine и обеспечить более эффективную работу платформы при высоких нагрузках.
Результаты проекта
В результате модернизации была создана современная корпоративная ITSM-система, соответствующая актуальным требованиям Enterprise-разработки.
Заказчик получил:
современную архитектуру на .NET 6;
поддержку Linux и Windows;
возможность использования PostgreSQL и Microsoft SQL Server;
контейнеризированную инфраструктуру на Docker;
автоматизированный GitLab CI/CD-конвейер;
расширенные механизмы лицензирования;
гибкую систему управления доступом;
оптимизированный Low-Code Workflow Engine;
повышение производительности платформы;
готовность к масштабированию и дальнейшему развитию.
Какие задачи решила модернизация платформы
После завершения проекта ИнфраМенеджер получил возможности, востребованные современными корпоративными заказчиками:
работа в Linux-инфраструктуре;
поддержка PostgreSQL для проектов импортозамещения;
сохранение совместимости с Microsoft SQL Server;
контейнерное развёртывание в Docker;
автоматизированная поставка релизов через GitLab CI/CD;
повышение производительности .NET-приложения;
упрощение сопровождения и обновления системы;
масштабирование под высокие нагрузки;
развитие Low-Code автоматизации бизнес-процессов;
снижение зависимости от конкретных технологий и поставщиков.
Технологии проекта
.NET 6
ASP.NET Core
Entity Framework Core
PostgreSQL
Microsoft SQL Server
Docker
GitLab CI/CD
Linux
Windows Server
REST API
Итоги
Проект модернизации ИнфраМенеджера стал примером успешной трансформации крупной корпоративной ITSM-системы с многолетней историей развития. Команда SaaSoft выполнила миграцию с .NET Framework на .NET 6, реализовала поддержку PostgreSQL и Linux, провела контейнеризацию сервисов и внедрила современные DevOps-практики.
В результате заказчик получил современную кроссплатформенную платформу управления ИТ-инфраструктурой и сервисными процессами, готовую к масштабированию, импортозамещению и дальнейшему развитию на протяжении многих лет.
Технические характеристики
- Frontend ---------------------------------------------------------------------------------------------------------------------------------------------------------- Vue.js, knockout.js
- Базы данных ---------------------------------------------------------------------------------------------------------------------------------------------------------- MS SQL, PostgreSQL
- Backend ---------------------------------------------------------------------------------------------------------------------------------------------------------- .NET, ASP.NET, C#