Как внедрить Kubernetes в сервис календарного планирования
DevOps-инженеры RedLab добавили отказоустойчивые кластеры и осуществили миграцию Windows-приложения в LinuxЗадача:
Организовать быстрое развертывание и обслуживание ИТ-инфраструктуры.
Причина:
Для ускорения выхода новых версий сервиса календарного планирования клиент нуждался в автоматическом развертывании программы.
О клиенте
Компания разрабатывает и внедряет программные продукты: сервис для автоматизации производственных процессов предприятия, решение для предиктивной аналитики, систему учета энергоресурсов и лабораторно-информационную платформу. Помимо поставки ПО, компания создает продуктовые концепции, мастер-планы, технические задания, технорабочие проекты и обеспечивает техническую поддержку. ИТ-решения и услуги предлагаются нефтяным, газовым, химическим, атомным и энергетическим отраслям.
О проекте
ИТ-продукт моделирует работу предприятия, формирует задания-инструкции технологических объектов, строит графики приема и отгрузки товара и помогает принимать управленческие решения. Система предоставляет дорожную карту с указанием периодов и видов производственных операций, что дает пользователям возможность лучше распределять ресурсы.
До подключения специалистов RedLab компания не использовала методологию DevOps и вручную настраивала сервера. В связи с чем каждое обновление ИТ-продукта требовало больших трудозатрат со стороны инхаус-команды. Также архитектура работала на виртуальной машине Windows, поэтому было необходимо оптимизировать ПО под Linux, чтобы облегчить контейнеризацию.
Реализация
Технологический стек:
- NodeJS
- .NET Core
- PostgreSQL
- MSSQL
- Gitlab
- Docker
- Kubernetes
- Nexus
- nginx
- Prometheus
- FluentBit
- VMWare
- kubesprey
- Ansible
После проведения аналитики архитектуры сервиса специалисты RedLab провели миграцию данных в Linux, а именно: выбрали подходящие инструменты для интеграции между двумя средами, использовали виртуализацию для разделения рабочих нагрузок, выбрали открытые стандарты и протоколы для обмена данными. Вторым этапом развернули ИТ-инфраструктуру на базе кластера Kubernetes и запустили необходимое количество контейнеров.
Были выполнены следующие работы:
- Автоматизировали работу пайплайна, благодаря чему новые версии ПО собираются и тестируются самостоятельно.
- Настроили в Gitlab процесс CI/CD таким образом, чтобы вся структура была версионируема и воспроизводима на любых операционных системах.
- Подключили вычислительные узлы, тем самым увеличили производительность и скорость выполнения задач за счет распределенного выполнения.
- Использовали подход IaC к инфраструктуре, что позволило клиенту управлять кластерами в один клик в пайплайне.
- При помощи тулзов Prometheus, Grafana, Elasticsearch, Kibana и Fluentbit организовали мониторинг. Это помогло клиенту получить больше достоверной информации о техническом состоянии сервиса.
- Выполнили контроль секретных переменных с помощью Vault для повышения уровня безопасности системы и уменьшения риска утечки данных.
За 7 недель DevOps-инженеры RedLab смогли внедрить кластеры Kubernetes и ускорить процесс развертывания программы с 2 часов до 14 минут. Показатель time-to-market новых версий ПО сократился, и пользователи сервиса календарного планирования быстро получают доступ к инновационным функциям продукта.
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Профиль
Социальные сети