Среда разработки и управление проектами в облаке: кейс LAD

Как развернуть среду разработки и сервис управления проектами в облаке: опыт Lad

В кейсе рассказываем, как группа IT-компаний Lad развернула на инфраструктуре Selectel окружения для разработки и тестирования, а также запустила сервис для управления проектами и ИИ-ассистента для бизнеса.

Изображение записи

Кейс будет полезен для компаний в следующих сферах:

  • разработка ПО
  • SaaS
  • автоматизация
  • мобильная разработка

Задачи:

  • Сократить время запуска клиентских проектов
  • Автоматизировать сборку клиентских приложений для iOS
  • Развернуть производительную инфраструктуру для публичных сервисов
  • Обеспечить соответствие инфраструктуры ИБ-требованиям

О компании

Группа IT-компаний Lad предлагает комплексную экспертизу в области системной интеграции, разработки ПО и продуктов на базе AI-технологий, а также является крупным дистрибьютором ведущих российских вендоров. За время своей деятельности компания реализовала более 200 проектов в сфере ритейла, строительства, производства и энергетики.

Основным продуктами Lad являются AI-система управления проектами Project Lad и платформа ИИ-ассистентов для бизнеса GPTZATOR.

Вызовы и решения

Сократить время запуска клиентских проектов

Lad развивает собственный центр разработки, который работает как над проектами для компаний-заказчиков, так и над собственными продуктами. Стек платформы состоит из следующих компонентов:

  • GitLab, вокруг которого выстроены CI-процессы;
  • SonarQube для анализа кода;
  • Prometheus, Grafana, Loki для мониторинга;
  • Sentry для отслеживания ошибок на фронтенде и другие инструменты.

Перед компанией стояла задача развернуть гибкую и быстро масштабируемую инфраструктуру для удобной разработки и тестирования приложений.

Развернули платформу разработки в облаке

Основой инфраструктуры для платформы разработки являются облачные серверы. Ключевое преимущество облака — скорость развертывания: когда запускается новый проект, компании не нужно покупать и настраивать собственное железо, что может занимать месяцы. Облако, при этом, можно поднять за несколько минут, а при увеличении нагрузки также быстро масштабировать.

Помимо этого, облачная инфраструктура позволяет команде Lad применять подходы GitOps, например, для автоматизации развертывания и запуска клиентских сервисов через Terraform. Это значительно сокращает время запуска новых проектов.

Когда проект переходит в стадию продакшена, в инфраструктуре создается отдельное окружение — либо проект переносится на новый аккаунт внутри Selectel, либо заказчик переносит его на собственные серверы.

Автоматизировать сборку клиентских приложений для iOS

В линейку услуг центра разработки Lad также входит создание мобильных приложений для клиентов. Чтобы автоматизировать этот процесс для iOS, нужен сервер на MacOS. При этом на российском рынке список провайдеров, которые могли бы предоставить в аренду подобный сервер, ограничен.

Арендовали серверы Mac mini®

Команда Lad арендовала в Selectel Mac mini®. Он позволяет автоматизировать сборку приложений через CI/CD. Кроме того, если нужно собрать приложение именно для iOS, то без Mac обойтись в принципе не получится.

Развернуть производительную инфраструктуру для публичных сервисов

Как упоминалось выше, группа IT-компаний Lad развивает два облачных продукта — это система управления проектами Project Lad и платформа ИИ-ассистентов GPTZATOR. Это два независимых решения, однако между ними может быть настроена интеграция: например, пользователь системы управления проектами может настроить подсказки и рекомендации на базе продукта GPTZATOR.

Project Lad требователен к вычислительным мощностям, поскольку множество пользователей одновременно решают ресурсоемкие задачи, например, анализ данных и построение графиков на основе них. GPTZATOR, в свою очередь, больше требователен к скорости сети, поскольку важно быстро обработать запрос пользователя к внешним публичным или локальным GPT-моделям. При этом оба сервиса имеют переменную нагрузку, поэтому команде Lad важно, чтобы инфраструктура была отказоустойчивой и гибко масштабировалась.

Подключили управляемые облачные решения

Project Lad состоит из более чем 30 микросервисов, которые развернуты на базе сервиса Managed Kubernetes. Каждый проект имеет от 6 до 40 нод. Отказоустойчивый кластер имеет 3 мастер-ноды, при этом если одна из трех мастер-нод недоступна, Control Plane продолжит работать. Также в сервисе Managed Kubernetes настроен автоскейлинг: при росте нагрузки автоматически создаются новые ноды и удаляются, когда нагрузка падает. Благодаря этому команда Lad всегда имеет достаточное количество ресурсов. При этом образы контейнеров хранятся в Container Registry.

Многие процессы, управляемые через Project Lad, сопровождаются генерацией большого количества фотографий, документов и других файлов. Для хранения пользовательских файлов используется объектное хранилище S3.

С точки зрения организации сети, пользовательские запросы приходят на сервер-балансировщик, который перенаправляет трафик на нужные микросервисы: мастер-ноды в Managed Kubernetes, серверы баз данных или S3.

Обеспечить соответствие инфраструктуры ИБ-требованиям

Команда Lad работает с множеством проектов, в которых задействованы разные специалисты. С точки зрения выполнения ИБ-требований, компании важно разграничить доступ к ресурсам разных проектов.

Разграничили доступы к проектам с помощью IAM

Облачная инфраструктура клиента защищена как услугами Selectel, так и некоторыми встроенными инструментами управляемого Kubernetes.

Чтобы разграничить доступ к проектам, компания подключила IAM (Identity and Access Management, или управление идентификацией и контролем доступа) в панели управления Selectel. Она позволяет разграничить права для разных пользователей, лучше контролировать безопасность и снизить риск ошибок при работе с инфраструктурой.

Что касается встроенных механизмов защиты Kubernetes, команда Lad использует, например, RBAC, API с использованием TLS. Дополнительно компания на своей стороне самостоятельно управляет секретами и криптографией, а также политиками безопасности на уровне кластера.

Вся инфраструктура соответствует требованиям 152-ФЗ, благодаря чему можно заниматься работой с персональными данными. Кроме того, вся облачная инфраструктура размещена в дата-центрах уровня Tier III. Это значит, что все системы зарезервированы, а сервисы продолжат работать, что бы ни случилось.

Результаты

  • 30+

    микросервисов Project Lad развернуты в Managed Kubernetes.

  • 99,98

    процентов — SLA отказоустойчивых кластеров Managed Kubernetes

  • от 2

    минут требуется для запуска облачного сервера

«Для бесперебойной работы нашей платформы критически важно было иметь надежную и доступную инфраструктуру. Кроме того, нам требовалась возможность быстрого и легкого масштабирования ресурсов в зависимости от текущих потребностей. Это позволило бы нам гибко реагировать на изменения в объемах работы и обеспечивать оптимальное использование ресурсов. Решения Selectel идеально подошли для решения этих задач. Отдельно отмечу качество работы техподдержки. Мы достаточно редко прибегаем к помощи специалистов Selectel, но если это происходит, все вопросы решаются очень оперативно».

Артем Кузнецов Tech Lead DevOps группы IT-компаний LAD