Урок 10

Production: деплой и масштабирование

AI-фичи в продакшене требуют инфраструктуры.

Что нужно

  • Queue worker для ->queue()
  • pgvector для SimilaritySearch
  • SSE для стриминга
  • Мониторинг для стоимости и ошибок

Laravel Cloud

Рекомендуемый способ деплоя:

  • Managed PostgreSQL с pgvector
  • Queue workers
  • Encrypted env vars
  • Auto-scaling

Docker

Если свой хостинг:

FROM php:8.3-fpm

RUN docker-php-ext-install pdo_pgsql
RUN pecl install redis && docker-php-ext-enable redis

COPY . /var/www/html
WORKDIR /var/www/html

RUN composer install --no-dev --optimize-autoloader

Queue

QUEUE_CONNECTION=redis
php artisan queue:work --queue=ai

Rate limiting

Защита от злоупотреблений и контроль стоимости:

RateLimiter::for('ai', function ($request) {
    return Limit::perMinute(10)->by($request->user()->id);
});

Стоимость

  • Дешёвые модели для простых задач
  • #[UseCheapestModel]
  • Кеширование embeddings
  • Лимиты на пользователя

Failover

provider: ['anthropic', 'openai', 'gemini'],

Автоматическое переключение при сбое.

Итоги

  • Queue worker обязателен
  • pgvector для RAG
  • Laravel Cloud упрощает
  • Rate limiting для контроля
  • Failover для надёжности