title: Use Nginx and/or Traefik for serving ML models
body: <p>I have python based ML model that I want to serve. Based on my research two the most popular options are the following:</p>
  <pre><code>I. Flask + uWSGI
  II. FastAPI + Uvicorn with Gunicorn
  </code></pre>
  <p>On top of that we can put Nginx as a reverse proxy (load balancing, caching, security, etc.):</p>
  <pre><code>I. Flask + uWSGI + Nginx 
  II. FastAPI + Uvicorn/Gunicorn + Nginx 
  </code></pre>
  <p>My questions:</p>
  <ol>
  <li><p>Do I need to use Traefik on top of that? Or do I need to change
  Nginx with Traefik?</p>
  </li>
  <li><p>If I have an application which only accepts POST requests do I
  need to still use Nginx and/or Traefik on top of Flask + uWSGI (or
  FastAPI + Uvicorn/Gunicorn)?</p>
  </li>
  <li><p>If I will use Tensorflow Serving or other ML serving solutions
  (Kubeflow, MLflow, Seldon, etc.) is it still recommended to wrap up
  Tensorflow Serving into FastAPI + Uvicorn/Gunicorn + Nginx or/and
  Traefik?</p>
  </li>
  </ol>
  <p>P.S. I am planning conterize applications with Docker and use Swarm or Kubernetes in production.</p>