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

2024-04-01 15:08:32 Время чтения 5 мин 45

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

О клиенте

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

О продукте

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

Описание задачи

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

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

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

Реализация

В рамках выполнения задач по развертыванию ИТ-инфраструктуры для сервиса с машинным зрением, провели следующие работы:

  1. Разработали архитектуру и развернули ИТ-инфраструктуру на базе кластера Kubernetes. В основе использовались высокопроизводительные сервера под управлением ОС CentOS 7, поверх которых была поднята KVM-виртуализация. Задача по управлению TCP-трафиком в проекте была реализована посредством внедрения Service Mesh на базе Istio.
  2. Дополнительно установили 5 GPU Нод, для каждой из которых добавили по две графические карты Nvidia 3080 на борту — удалось обеспечить отличное качество графики и высокую производительность.
  3. Разместили гибкие IP-адреса (FIP) от провайдера Hetzner, которые легко назначаются и перемещаются между серверами. В итоге управлять сетевой инфраструктурой стало проще.
  4. Написали 10 Helm-чартов для реализации CI/CD-процессов сборки и доставки кода программного продукта, что позволило экономить ресурсы кластера.
  5. Интегрировали Knative — платформу, которая автоматически масштабирует контейнеры пропорционально одновременным запросам HTTP. Неиспользуемые сервисы в итоге масштабируются до нуля, предоставляя рост по требованию в стиле бессерверных вычислений.
  6. Использовали Grafana, Prometheus, и Alertmanager для мониторинга систем. Также настроили взаимодействие с Zabbix для перекрестного мониторинга.
  7. Внедрили методологию GitOps на ArgoCD, чтобы увеличить гибкость ИТ-инфраструктуры и быстрее реагировать на изменения в бизнес-требованиях.
  8. Создали оператор для Istio, т.к. для каждого приложения требовался отдельный шлюз и необходимо было выдавать сертификаты Letsencrypt. Домены являлись слишком многоуровневыми (7-8 уровней), поэтому мы не могли использовать универсальные SSL-сертификаты из-за отсутствия фиксированного списка доменов.

Результат

Разработанная ИТ-инфраструктура по методологии DevOps позволяет обрабатывать и анализировать большие объемы данных, повышая точность и скорость распознавания данных из текста и изображений. Кроме того, она обеспечивает масштабируемость и надежность программы, что важно для успешного функционирования сервиса с машинным зрением.

Источник. 

Категории: Кейсы