Por Qué el Tiempo de Inactividad Es Inaceptable
Cada segundo de inactividad cuesta confianza. Para productos SaaS, cuesta ingresos. Para sitios de marketing, cuesta leads. El estándar de fiabilidad en despliegues ha pasado de “cinco nueves” a “no debería tener que pensar en ello.”
Con SvelteKit en Vercel, los despliegues sin tiempo de inactividad no son aspiracionales — son el comportamiento por defecto. Así es como lo hacemos funcionar en la práctica.
El Modelo de Despliegue de Vercel
El modelo de despliegue de Vercel es fundamentalmente diferente de los servidores tradicionales. Cada git push crea un despliegue inmutable — una captura completa de tu aplicación congelada en el tiempo. El tráfico no cambia hasta que el nuevo despliegue está completamente construido, probado y saludable.
Esto te da tres cosas de forma gratuita:
- Despliegues atómicos — el cambio de viejo a nuevo es instantáneo
- Rollback instantáneo — simplemente redirige el tráfico al despliegue anterior
- URLs de vista previa — cada rama obtiene su propio despliegue para pruebas
Despliegues de Vista Previa como Puerta de Calidad
Nuestro flujo de trabajo usa despliegues de vista previa como primera línea de defensa:
- Push de rama de feature → Vercel crea despliegue de vista previa
- Ejecutar pruebas automatizadas contra la URL de vista previa
- QA manual en la vista previa (URL real, datos reales, red edge real)
- Merge a main → el despliegue de producción se activa automáticamente
El despliegue de vista previa es la misma infraestructura que producción — misma red edge, mismas funciones serverless, mismo entorno. Si funciona en vista previa, funciona en producción.
Variables de Entorno y Secretos
Un detalle importante: las variables de entorno deben configurarse por entorno en el panel de Vercel. Usamos tres alcances:
| Alcance | Propósito | Ejemplo |
|---|---|---|
| Production | Solo sitio en vivo | DATABASE_URL, claves API |
| Preview | Despliegues de ramas | Mismas claves, base de datos de staging |
| Development | vercel dev local | Sobreescrituras locales |
Nunca hagas commit de secretos a git. Las variables de entorno encriptadas de Vercel son la única forma segura de manejar claves API, URLs de base de datos y secretos de autenticación.
Caché en el Edge para Contenido Estático
Las páginas pre-renderizadas de SvelteKit se sirven desde la red edge de Vercel — lo que significa que tu contenido estático carga desde el centro de datos más cercano al usuario. Sin necesidad de ir al servidor de origen.
Para páginas dinámicas, usamos encabezados Cache-Control para cachear en el edge con revalidación:
export const load: PageServerLoad = async () => {
const posts = await fetchPosts();
return {
posts,
headers: {
'Cache-Control': 's-maxage=60, stale-while-revalidate=300'
}
};
};Esto sirve contenido cacheado por 60 segundos, luego revalida en segundo plano mientras sigue sirviendo contenido obsoleto por hasta 5 minutos. Los usuarios nunca ven un spinner de carga.
Estrategia de Rollback
Las cosas salen mal. Cuando eso pasa, Vercel te permite promover instantáneamente cualquier despliegue anterior a producción. Sin reconstruir, sin redesplegar — solo un cambio de tráfico.
Nuestra lista de verificación para rollback:
- Identificar el problema (alertas de monitoreo, reportes de usuarios)
- Promover el último despliegue conocido como bueno (un clic en el panel, o
vercel rollbackvía CLI) - Investigar en la URL de vista previa del despliegue roto (sigue siendo accesible)
- Corregir, hacer push y dejar que el pipeline normal de despliegue lo maneje
Todo el rollback toma menos de 30 segundos. Sin SSH, sin comandos de reinicio, sin rezos.
Lo Que Hemos Aprendido
Después de docenas de despliegues en producción con este stack, la mayor lección es: haz que los despliegues sean aburridos. Cuando enviar a producción es rutinario y reversible, envías con más frecuencia, en incrementos más pequeños, con menos riesgo.
Esa es la verdadera ganancia de los despliegues sin tiempo de inactividad — no el número de uptime, sino la confianza para moverse rápido.
¿Necesitas ayuda configurando un pipeline de despliegue fiable? Escríbenos — hemos hecho esto unas cuantas veces.
