Vercel sirve frontends y estáticos de FastAPI desde el CDN

¿Qué cambia con este update de Vercel para FastAPI?

Vercel acaba de publicar en su changelog oficial una mejora concreta para proyectos FastAPI: las carpetas servidas con app.frontend() y StaticFiles ahora se promocionan al CDN de Vercel en el build, en lugar de quedar atrapadas dentro del bundle de la Function. Esto significa que las peticiones a esas rutas las responde el CDN directamente, sin invocar la Vercel Function.

En términos prácticos, cualquier ruta que apunte al frontend de tu SPA o a tus assets estáticos deja de pagar el costo de cold start ni de ejecución serverless por cada request.

¿Cómo funciona la promoción al CDN en FastAPI?

El mecanismo es automático, pero hay tres detalles del comportamiento que conviene tener claros para no romper nada al desplegar.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

El orden de declaración define la prioridad. FastAPI evalúa las rutas en el orden en que aparecen en el código. Si declaras un endpoint (por ejemplo, /static/manifest.json) antes de montar StaticFiles, ese endpoint toma prioridad sobre cualquier archivo del CDN en esa misma ruta. Vercel conserva esa precedencia: lo que pongas primero gana.

Por defecto, los archivos siguen en el bundle. Aunque ahora se sirven desde el CDN, las carpetas fuente se mantienen dentro del bundle de la Function, por si la aplicación las necesita leer en runtime (por ejemplo, leer un manifest al vuelo). Si prefieres excluirlas y servir solo desde CDN, configura tool.vercel.fastapi.static.exclude = true en pyproject.toml.

Hay dos casos donde los archivos se quedan en la Function.

  • Frontends protegidos por dependencies: el CDN no puede correr chequeos de Depends(...), así que esos recursos siguen en la Function.
  • Archivos detrás de middleware: tampoco suben al CDN.

Para forzar el comportamiento, Vercel expone tool.vercel.fastapi.static.cdn en pyproject.toml:

  • = true para subir todo al CDN, incluso si hay dependencies o middleware.
  • = false para hacer opt-out total y mantener todo en la Function.

¿Qué significa esto para tu startup?

Esta optimización apunta directamente al patrón más común entre founders que construyen productos web con Python: una SPA servida por el mismo backend FastAPI. Para una API o producto AI cuyo frontend se sirve desde el backend, descargar el tráfico estático al CDN tiene impacto directo en latencia y en el tamaño del bundle de la Function.

Acción 1: audita tu pyproject.toml. Si tienes assets que no lees en runtime (caso típico: una SPA en Vue/React/Svelte con dist/ que solo entrega HTML, JS y CSS estáticos), activa exclude = true para reducir el bundle de la Function y mejorar los cold starts.

Acción 2: revisa el orden de tus rutas. Si tienes un endpoint en /static/manifest.json y un app.mount("/static", StaticFiles(...)), confirma que el endpoint vaya primero — la precedencia es la misma que en local, pero ahora el resto lo absorbe el CDN.

Acción 3: deja las dependencies donde están. Si un Depends(get_current_user) protege tu frontend, esa ruta no se va a beneficiar del CDN hasta que quites el guard o fuerces cdn = true. Útil para entender por qué algunos assets siguen saliendo de la Function aunque ya desplegaste.

El cambio lo publicó Ricardo Gonzalez en el changelog oficial de Vercel; la documentación técnica del framework está disponible en los recursos oficiales de FastAPI y Vercel.

Fuentes

¿te gustó o sirvió lo que leíste?, Por favor, comparte.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, todos los días.

Share to...