Задача
Наш клиент, российская сеть клиник, поставила такие задачи перед командой разработчиков IBS InfiniSoft:
- Улучшить производительность, изменить процесс сборки и установки ПО МИС «Робомед» на тестовых и промышленных стендах
- Снизить время недоступности системы в процессе сборки и установки
- Создать Canary releases
- Передать все артефакты и новый процесс команде поддержки заказчика
Решение
- Проведен анализ причин невозможности устанавливать новые версии приложения в рабочее время
- Проведен анализ невозможности выкатывания Canary releases прозрачно для пользователей
- Проведен анализа скорости сборки и деплоя
- Разработаны два новых конвейера сборки, а также два новых конвейера развёртывания Octopus, включающие бесперебойное развёртывание, историю версий и быстрое переключение версий
- Разработано тестовое окружение Kubernetes+Storage+Balancer
- Восстановлена система сборки, доработаны агенты для Gitlab CI/CD и система сборки для всех сервисов
- Разработана новая система интеграции с Docker Repository и интеграция развёртывания в Kubernetes, включающая бесперебойное развёртывание, масштабирование и версионность
- Документация по конвейерам, агентам, сборке, изменениям инфраструктуры
Результаты
Доверив проект команде разработчиков IBS InfiniSoft, клиент получил следующие преимущества:
- Время полной сборки и деплоя уменьшено с 14-16 до 7-8 минут, устранён перерыв в работе пользователей
- Проект выполнен в два этапа, соблюдены изначальные сроки и бюджет
- Инженерам DevOps заказчика передано описание новой инфраструктуры, артефакты CI/CD и результаты анализа, проведен knowledge transfer, что позволило клиенту самостоятельно продолжить далее работы на других окружениях