Шаблон масштабування On-Off для робочих навантажень AI та обробки відео
Платформа для обробки відео на базі AI потребувала обробки вкрай мінливих робочих навантажень — від нуля завдань у неробочий час до сотень одночасних завдань з обробки відео та AI inference у пікові періоди — без оплати за простоюючі GPU та обчислювальні ресурси.
Обговоріть Ваш Проєкт
Виклик
Робочі навантаження AI та обробки відео за своєю природою є імпульсними та дорогими:
- Інстанси GPU є дорогими, незалежно від того, чи обробляють вони завдання, чи простоюють
- Кодування відео, транскрипція та AI inference вимагають різних профілів ресурсів
- Співвідношення пікового до мінімального навантаження становило 50:1 — понад 200 завдань у пік, майже нуль вночі
- Традиційне auto-scaling було занадто повільним (холодний старт 5-10 хв) для чутливих до часу запитів користувачів
- Фіксована інфраструктура, виділена для пікового навантаження, означала понад 80% відходів у непікові години
Наше Рішення
Ми впровадили On-Off scaling pattern — гібридну архітектуру, де обчислювальні ресурси надаються just-in-time для активних робочих навантажень і повністю деалокуються, коли простоюють, з warm pools для завдань, чутливих до затримки, та cold pools для batch jobs.
Архітектура
- Job Queue: Черга завдань на основі бази даних з класифікацією пріоритетів
- Orchestrator: Сервіс, що керує життєвим циклом ресурсів та маршрутизацією завдань
- GPU Workers (AI): GPU-поди в хмарі для inference (object detection, transcription, speaker detection)
- CPU Workers (Video): Хмарні VM для video encoding та rendering
- Warm Pool: Попередньо ініціалізовані інстанси для latency-sensitive jobs (< 30s startup)
- Cold Pool: On-demand instances для batch/bulk processing (прийнятний startup 2-5 хв)
Реалізація шаблону On-Off
Стани життєвого циклу ресурсів
Ресурси проходять через визначений життєвий цикл: від повністю deallocated (нульова вартість), через provisioning та warming (models loading, health checks), до ready та processing states, потім через cooldown window, перш ніж повернутися до deallocated.
Стратегія Warm Pool
Для latency-sensitive processing (user-initiated, очікує результатів за хвилини):
- Підтримувати мінімальний warm pool інстансів у робочі години
- Попередньо завантажувати AI-моделі під час container startup
- Маршрутизувати вхідні jobs спочатку до warm instances
- Scale out додаткові warm instances, коли queue depth перевищує threshold
- Configurable cooldown timer підтримує instances активними між sporadic jobs
Стратегія Cold Pool
Для batch processing (нічні bulk jobs, нетермінове re-encodes):
- За замовчуванням нуль запущених instances
- Job queue triggers provisioning, коли batch jobs надходять
- Bulk-optimized instances для throughput над latency
- Terminate негайно після завершення batch
- Використовувати spot/preemptible instances для значної cost savings
Класифікація та маршрутизація завдань
Jobs автоматично класифікуються за priority та type, а потім маршрутизуються до відповідного pool:
- High priority user-initiated AI tasks маршрутизуються до warm GPU pools
- Critical real-time tasks маршрутизуються до always-on dedicated instances
- Medium priority encoding tasks маршрутизуються до warm або cold CPU pools
- Low priority batch tasks маршрутизуються до cold spot/preemptible instances
Логіка Orchestrator
Тригери масштабування
- Queue depth перевищує configurable threshold
- Average wait time перевищує SLA для priority level
- Scheduled ramp-up перед відомими peak hours
- Manual trigger через admin API для очікуваних traffic spikes
Тригери зменшення масштабу
- Жодні jobs не оброблялися протягом duration of the cooldown window
- Scheduled wind-down після peak hours
- Усі queued jobs виконано без new submissions
- Cost threshold досягнуто для billing period
Здоров'я та відновлення
- Regular health probes на всіх active instances
- Unhealthy instances replaced automatically
- Failed jobs re-queued з retry count та routed до different instance
- Dead letter queue для jobs, що перевищили max retries
Вплив на вартість
Шаблон On-Off забезпечив приблизно 70% cost reduction порівняно з always-on fixed infrastructure завдяки усуненню idle compute у off-peak hours, right-sizing resources per job type, та leveraging spot instances для batch workloads.
Ключові особливості
- Zero Idle Cost — Resources повністю deallocated, коли не обробляють jobs
- Warm Pools — Pre-initialized instances для latency-sensitive workloads
- Cold Pools — On-demand provisioning для batch jobs за lowest cost
- Job Classification — Automatic routing на основі priority, type, та latency requirements
- Cooldown Windows — Configurable idle timeout запобігає premature scale-down між bursts
- Spot/Preemptible Support — Batch jobs routed до discounted instances для significant savings
- Health & Recovery — Auto-replacement of unhealthy instances з job re-queuing
- Scheduled Scaling — Anticipate known traffic patterns за допомогою time-based provisioning rules
Результати
Технологічний Стек
caseStudyDetail.more Кейси
Ознайомтесь з іншими нашими технічними впровадженнями
Використання RunPod для масштабованого, економічно ефективного висновку AI
Платформа відеоаналітики на базі AI потребувала високопродуктивних GPU обчислень для виявлення об'єктів у реальному часі та висновку через декілька паралельних відеопотоків — без надмірної вартості виділених GPU серверів, що працюють 24/7.
Платформа Catant для управління персоналом та робочою силою
Catant — це модульна платформа для управління персоналом та робочою силою, яка допомагає підприємствам керувати співробітниками, заробітною платою, відвідуваністю та відповідністю нормативним вимогам з однієї панелі керування.
Готові Трансформувати Свій Бізнес?
Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.