Модернизация высоконагруженной IT-системы для российской компании
Мы развиваем крупную информационную систему (ИС), которая включает более 10 взаимосвязанных монолитных модулей. Это высоконагруженное программное обеспечение, с которым одновременно работают до 15 000 пользователей из двух миллионов зарегистрированных. Новые функциональности для ИС создают более 100 разработчиков, объединенных в десятки проектных групп.
Задача
Заказчик пригласил нас для усиления своей команды. Мы занимаемся разработкой одного из монолитных модулей для взаимодействия между заказчиком и контрагентами, а также модернизацией IT-системы. В частности, переводим систему с устаревшей Java 6 на Java 11 со сменой сервера приложений.
Почему нужна модернизация:
— Импортозамещение: ранее в проекте использовали коммерческий сервер приложений (США), но в 2018 году в связи с международными санкциями в отношении России заказчик принял решение снижать риски и постепенно переходить на свободное программное обеспечение.
— Недостатки Java 6 – устаревание, неудобный синтаксис, низкая производительность. Язык умирающий, морально устарел уже более 5 лет назад. Уже тогда многие разработчики отказывались работать с Java 6, так как это не давало роста и развития.
Решение
Если IT-система устаревает, как правило, требуется поэтапное обновление. Нужно разрабатывать и тестировать новую версию, одновременно с этим поддерживая и развивать старую, чтобы пользователи могли продолжать работу.
Этапы перехода
1. «Лабораторный» этап: подготовка к переходу, проверка различных методов.
2. Составление единых инструкций для всех проектных команд.
3. Осуществление перехода и стабилизация системы.
Так мы и сделали в нашем проекте. Мы организовали две проектные команды: одна поддерживала и развивала текущую версию продукта на java 6, другая занялась переносом стабильной («замороженной» с точки зрения функций) версии продукта и полностью перенесла её на Java 11.
Переход занял около 3 месяцев. Работа велась в двух направлениях одновременно.
Это потребовало колоссальных усилий со стороны инфраструктуры, со стороны тестирования, ну и конечно разработки. Приходилось разворачивать два параллельных окружения. Было множество сложностей по взаимодействию систем между собой. Со всеми сложностями справились.
Результат
Мы помогаем партнеру модернизировать и развивать крупную отраслевую IT-систему, ускорять реализацию новых функций, делать работу приложения быстрее и безопаснее.