Как создать On-Premise решение для миграции в локальную инфраструктуру
DevOps-инженеры RedLab разработали новую логику ИТ-инфраструктуры с учетом особенностей зависимостей и обмена конфигурациямиЗадача:
Спроектировать новую архитектуру инсталляции программного продукта и внедрить инструменты DevOps.
Причина:
Хранение данных на стороннем оборудовании не позволяло установить собственное приватное ПО.
О проекте
Клиент развивает ML-платформу, которая предназначена для создания и развертывания моделей машинного обучения с помощью высокопроизводительной ИТ-инфраструктуры. Изначально система была размещена на серверах поставщика, но такое публичное решение не вызывало доверия у потенциальных клиентов заказчика, в связи с чем, требовалось создать отчуждаемый ИТ-продукт.
Для миграции из облака в инфраструктуру пользователя предстояло разместить весь программный код «внутри предприятия». Требовалось спроектировать новую логику системы, используя технологии DevOps, которые помогут более эффективно управлять процессами разработки.
Из основных обязанностей выделили следующие:
- Переработать существующую архитектуру: обеспечить соответствие новым требованиям бизнеса, независимость от поставщиков и улучшенную производительность.
- Разработать новую логику развертывания продукта: повысить безопасность, предоставить полный контроль над инфраструктурой и возможность быстро реагировать на изменения в компании.
Технологический стек:
- Docker
- Kubernetes
- Istio
- Velero
- Kube-prometheus-stack
- Helmwave
- ArgoCD
- Apache Airflow
- Tensorflow
Реализация
DevOps-инженеры RedLab приняли решение использовать метод On-Premise. Подход позволяет устанавливать и обслуживать ПО на собственных серверах, самостоятельно настраивать систему и быть независимым от инфраструктуры вендора и интернет-провайдера. Также On-Premise обеспечивает необходимый уровень безопасности, поскольку компания имеет полный контроль над ИТ-продуктом.
Специалисты реализовали следующие задачи:
- Организовали процесс инсталляции «с нуля» двух кластеров Kubernetes. Переписали 2000 манифестов под Kustomize на менеджер пакетов Helm, который позволил автоматизировать процессы установки, обновления и управления системой.
- Построили процесс в GitLab CI. Для этого написали Ansible роли, скрипты на Bash и Python, собрали сервисные Docker образы. Технологии обеспечили интеграцию с хранилищем кода, что сделало процесс сборки и развертывания кода удобнее и проще.
- Перенесли конфигурацию приложений в Vault, а также использовали интеграцию с Vault для быстрой, безопасной и масштабируемой доставки ключей API, логинов и паролей и другой чувствительной информации.
- Весь код IaC покрыли инфраструктурными тестами, что позволило выявлять потенциальные ошибки до их возникновения в реальной среде.
Благодаря новому On-premise решению клиент получил инсталлятор отчуждаемого продукта, улучшил меры безопасности и существенно ускорил процесс развертывания продукта — с 2 месяцев до 2 часов.
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Профиль
Социальные сети