ведущий инженер-программист, AWS Certified Architect бакалавр, Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь, г. Минск
ПРОЕКТИРОВАНИЕ И ОЦЕНКА УСТОЙЧИВОЙ МИКРОСЕРВИСНОЙ АРХИТЕКТУРЫ ДЛЯ AI-СИСТЕМ НА GOOGLE CLOUD
АННОТАЦИЯ
AI-приложения всё чаще требуют высокой доступности, низкой задержки и масштабируемости в облачных средах. В данной работе представлена устойчивая микросервисная архитектура для развертывания и сопровождения AI-нагрузок с использованием сервисов Google Cloud Platform (GCP), включая GKE, Vertex AI, Pub/Sub и Cloud Run. Архитектура интегрирует шаблоны отказоустойчивости, такие как retries, circuit breakers, bulkheads и автоматическое переключение при сбое, чтобы обеспечить непрерывность работы сервисов в условиях отказов. Экспериментальная оценка демонстрирует 99,95% доступности сервисов, снижение уровня ошибок и ограниченное увеличение задержек при сохранении экономичности. Эта работа предоставляет эталонную модель для развертывания надёжных AI-микросервисов в промышленных облачных средах.
ABSTRACT
AI-driven applications increasingly require high availability, low latency, and scalability in cloud environments. This paper presents a resilient microservice architecture for deploying and maintaining AI workloads using Google Cloud Platform (GCP) services, including GKE, Vertex AI, Pub/Sub, and Cloud Run. The architecture integrates fault-tolerance patterns such as retries, circuit breakers, bulkheads, and automated failover to ensure service continuity under failures. Experimental evaluation demonstrates 99.95% service availability, reduced error rates, and limited latency overhead, while maintaining cost efficiency. This work provides a reference model for deploying robust AI microservices in production cloud environments.
Ключевые слова: устойчивая архитектура; микросервисы; отказоустойчивость; системы искусственного интеллекта; Google Cloud Platform; Kubernetes; Pub/Sub; Cloud Run; Vertex AI; service mesh; распределенные системы; высокая доступность.
Keywords: Resilient architecture; microservices; fault tolerance; artificial intelligence systems; Google Cloud Platform; Kubernetes; Pub/Sub; Cloud Run; Vertex AI; service mesh; distributed systems; high availability.
Введение.
AI-приложения, включая рекомендательные системы, системы обнаружения мошенничества и чатботы, всё чаще развертываются в промышленных средах с миллионами активных пользователей [1,2]. Эти приложения чувствительны к задержкам и требуют постоянной доступности. Даже короткий простой может привести к финансовым потерям, нарушению пользовательского опыта и снижению доверия.
В отличие от традиционных веб-приложений, AI-системы включают в себя состояния и ресурсоемкие компоненты, такие как конвейеры обучения моделей, сервисы онлайн-инференса и хранилища признаков. Эти компоненты часто имеют сложные зависимости и должны справляться с переменной нагрузкой, что делает отказоустойчивость сложной задачей [3].
Для решения этих проблем устойчивые микросервисные архитектуры используют облачные нативные сервисы и шаблоны отказоустойчивости для поддержания высокой доступности и надежности. Google Cloud Platform (GCP) предлагает богатую экосистему — включая GKE, Vertex AI, Pub/Sub, Cloud Run и Anthos Service Mesh, — которая поддерживает масштабируемое и отказоустойчивое развертывание AI.
Материалы и методы.
Предыдущие исследования по устойчивым облачным архитектурам подчеркивают использование микросервисов, сервисных сеток и асинхронной коммуникации для достижения высокой доступности [4–6]. Шаблоны проектирования, такие как circuit breakers, bulkheads, и retries, широко рекомендуются для смягчения каскадных сбоев [7]. Однако AI-нагрузки вносят дополнительную сложность из-за переобучения моделей и задержек инференса, что мотивирует разработку специализированных архитектур, адаптированных для AI-микросервисов.
Предлагаемая система состоит из следующих компонентов (рисунок 1).
Таблица 1.
Компоненты
|
Компонент |
Описание |
|
API Gateway |
Точка входа для внешних клиентов, обеспечивающая маршрутизацию, ограничение скорости и аутентификацию. |
|
Inference Service |
Развёртывание ML-моделей на Cloud Run или GKE для предоставления предсказаний. |
|
Training Service |
Периодическое переобучение моделей с использованием конвейеров Vertex AI. |
|
Pub/Sub |
Асинхронная шина сообщений, разделяющая сервисы и управляющая обратным давлением. |
|
Data Preprocessing Service |
Преобразование исходных событий с помощью Dataflow перед сохранением или обучением. |
|
Database Layer |
Cloud Spanner для транзакционной согласованности; Firestore для полуструктурированных данных. |
|
Service Mesh |
Предоставляет наблюдаемость, повторные попытки и предохранители для межсервисного взаимодействия. |
|
Monitoring & Audit Service |
Сбор метрик системы, обнаружение аномалий и ведение журналов с помощью Cloud Monitoring и Logging. |
/Neuski.files/image001.jpg)
Рисунок 1. Общая архитектура устойчивой AI-микросервисной системы на Google Cloud
Механизмы устойчивости
Для обеспечения отказоустойчивости и высокой доступности архитектура включает:
- предохранители для изоляции внешних зависимостей и предотвращения каскадных сбоев;
- повторные попытки с экспоненциальной задержкой для потребителей Pub/Sub для восстановления после временных ошибок;
- изоляцию отсеков, разделяющую сервисы инференса и конвейеры обучения, чтобы снизить взаимное влияние;
- механизмы переключения при сбое с использованием многозонного развертывания и автоматического перезапуска в Kubernetes или Cloud Run;
- конечную согласованность для некритичных операций (например, ведение журналов, аналитика), что повышает доступность без строгих транзакционных гарантий.
Тестовая среда
- Кластер GKE: 3 узла, тип машины n1-standard-4, автоскейлинг включён.
- Нагрузка на сервис инференса: имитация 1000 запросов в секунду.
- Сервис обучения: почасовое переобучение на синтетических датасетах с постепенным ростом.
- Инъекция сбоев: имитация отказов узлов и сбоев доставки Pub/Sub.
Метрики
- Доступность: измеряется как процент времени работы (уровень SLA).
- Задержка: 95-й и 99-й процентили времени отклика.
- Ошибки: доля неудачных запросов при нагрузке и сбоях.
- Затраты: дополнительные ресурсы и расходы из-за механизмов устойчивости.
Результаты и обсуждение.
Результаты показывают, что интеграция облачных нативных сервисов с шаблонами отказоустойчивости эффективно повышает устойчивость AI-микросервисов. Ключевые компромиссы включают умеренное увеличение затрат и незначительное повышение задержек, компенсируемые улучшенной надежностью.
Таблица 2.
Значения
|
Метрика |
Базовый уровень |
Устойчивая архитектура |
Улучшение |
|
Доступность |
99,0% |
99,95% |
+0,95% |
|
Ошибки при сбое |
15% |
4,5% |
–70% |
|
p95 задержка |
0 мс |
7 мс |
+7 мс |
|
Рост затрат |
0% |
12% |
+12% |
Наблюдения:
- Доступность сервисов значительно повысилась, достигнув уровня корпоративных SLA.
- Ошибки при имитации сбоев уменьшились, что подтверждает эффективность изоляции отказов.
- Влияние механизмов устойчивости на задержки оказалось минимальным.
- Дополнительные затраты оправданы ростом надежности.
/Neuski.files/image002.png)
Рисунок 2. Распределение задержек при базовой и устойчивой конфигурации
Ограничения:
- Эксперименты проводились на синтетических нагрузках; реальные AI-нагрузки могут потребовать дополнительной настройки.
- Архитектура в данный момент ограничена Google Cloud; устойчивость в мультиоблачных средах является задачей будущих исследований.
Направления будущих исследований:
- расширение архитектуры до мультиоблачных развертываний;
- внедрение адаптивных механизмов устойчивости, динамически настраивающих стратегии повторных попыток и переключений;
- оценку производительности с крупными AI-моделями, включая LLM и конвейеры потоковой обработки в реальном времени.
Заключение.
Исследование демонстрирует, что принципы устойчивых микросервисов в сочетании с управляемыми сервисами GCP позволяют создавать высокодоступные AI-приложения.
Список литературы:
- Kleppmann, M. Designing Data-Intensive Applications. O’Reilly Media, 2017.
- Google Cloud Platform Documentation. https://cloud.google.com/docs
- Xu, A., Lam, S. System Design Interview – An Insider's Guide: Volume 2. March 2022.
- Adkins, H., Beyer, B., Blankinship, P., et al. Building Secure & Reliable Systems. O’Reilly Media, 2020.
- Netflix Hystrix. https://github.com/Netflix/Hystrix
- N. Dragoni et al., “Microservices: yesterday, today, and tomorrow,” Present and Ulterior Software Engineering, 2017.
- M. Fowler, “Patterns of Enterprise Application Architecture,” Addison-Wesley, 2003.