У меня есть модель машинного обучения на основе Python, которую я хочу обслуживать. Основываясь на моем исследовании, два наиболее популярных варианта:
I. Flask + uWSGI
II. FastAPI + Uvicorn with Gunicorn
Вдобавок к этому мы можем использовать Nginx как обратный прокси (балансировка нагрузки, кеширование, безопасность и т. Д.):
I. Flask + uWSGI + Nginx
II. FastAPI + Uvicorn/Gunicorn + Nginx
Мои вопросы:
Нужно ли мне дополнительно использовать Traefik? Или мне нужно сменить Nginx с помощью Traefik?
Если у меня есть приложение, которое принимает только запросы POST, нужно ли мне по-прежнему использовать Nginx и / или Traefik поверх Flask + uWSGI (или FastAPI + Uvicorn / Gunicorn)?
Если я буду использовать Tensorflow Serving или другие решения для обслуживания машинного обучения (Kubeflow, MLflow, Seldon и т. Д.), Рекомендуется ли включать Tensorflow Serving в FastAPI + Uvicorn / Gunicorn + Nginx и / или Traefik?
P.S. Я планирую конфигурировать приложения с помощью Docker и использовать Swarm или Kubernetes в продакшене.