Разработка ИТ-инфраструктуры для сервиса с машинным зрением

1 Апреля 2024
Компания RedLab приняла участие в реализации проекта по разработке ИТ-инфраструктуры для сервиса с машинным зрением. В этой статье делимся кейсом.

О клиенте
Компания более 15 лет разрабатывает высоконагруженные продукты: SaaS-решение по автоматическому распознаванию изображений и текста с применением AI технологий, NoCode-платформу по управлению браузером, систему для автоматизации Android-приложений на эмуляторе или реальном смартфоне. Все системы помогают веб-мастерам и SEO-специалистам автоматизировать работу. У бизнеса свыше 200 тыс. клиентов из 126 стран мира.

О продукте
Облачный сервис решает разные виды капч (англ. CAPTCHA). Это небольшие задания на сайте, определяющие, является ли посетитель человеком или роботом. Продукт имеет алгоритмы для анализа символов, изображений и искаженного текста, а также машинное зрение для выделения форм и букв на них. Среднее время распознавания капчи занимает менее 1 секунды, в связи с этим сервис является высоконагруженным. Для обеспечения стабильной работы программы и снижения рисков возможных сбоев ИТ-компания нуждалась в развертывании инфраструктуры.

Описание задачи
Для облачного сервиса предстояло разработать ИТ-инфраструктуру с нуля, которая смогла бы обеспечить высокую производительность, быстрый отклик системы на результаты анализа текста и изображений и гибкость кода.

Основное требование клиента заключалось в том, чтобы ИТ-инфраструктура гарантировала стабильную и эффективную работу сервиса. В зоны ответственности RedLab также входила реализация других задач:

Масштабировать ИТ-инфраструктуру: добавление инновационных функций, поддержка безотказной работы, выстраивание CI/CD-процессов.
Обеспечить высокую скорость совершаемых операций: обработка информации и сбор данных от методов машинного обучения.
Реализация
В рамках выполнения задач по развертыванию ИТ-инфраструктуры для сервиса с машинным зрением, провели следующие работы:

Разработали архитектуру и развернули ИТ-инфраструктуру на базе кластера Kubernetes. В основе использовались высокопроизводительные сервера под управлением ОС CentOS 7, поверх которых была поднята KVM-виртуализация. Задача по управлению TCP-трафиком в проекте была реализована посредством внедрения Service Mesh на базе Istio.

Дополнительно установили 5 GPU Нод, для каждой из которых добавили по две графические карты Nvidia 3080 на борту — удалось обеспечить отличное качество графики и высокую производительность.
Разместили гибкие IP-адреса (FIP) от провайдера Hetzner, которые легко назначаются и перемещаются между серверами. В итоге управлять сетевой инфраструктурой стало проще.
Написали 10 Helm-чартов для реализации CI/CD-процессов сборки и доставки кода программного продукта, что позволило экономить ресурсы кластера.
Интегрировали Knative — платформу, которая автоматически масштабирует контейнеры пропорционально одновременным запросам HTTP. Неиспользуемые сервисы в итоге масштабируются до нуля, предоставляя рост по требованию в стиле бессерверных вычислений.
Использовали Grafana, Prometheus, и Alertmanager для мониторинга систем. Также настроили взаимодействие с Zabbix для перекрестного мониторинга.
Внедрили методологию GitOps на ArgoCD, чтобы увеличить гибкость ИТ-инфраструктуры и быстрее реагировать на изменения в бизнес-требованиях.
Создали оператор для Istio, т.к. для каждого приложения требовался отдельный шлюз и необходимо было выдавать сертификаты Letsencrypt. Домены являлись слишком многоуровневыми (7-8 уровней), поэтому мы не могли использовать универсальные SSL-сертификаты из-за отсутствия фиксированного списка доменов.
Результат
Разработанная ИТ-инфраструктура по методологии DevOps позволяет обрабатывать и анализировать большие объемы данных, повышая точность и скорость распознавания данных из текста и изображений. Кроме того, она обеспечивает масштабируемость и надежность программы, что важно для успешного функционирования сервиса с машинным зрением.
отдел маркетинга
RedLab
+7 (499) 677-60-40
pr@redlab.dev
redlab.dev