Crear una aplicación de Node.js es solo la primera parte del ciclo de vida de desarrollo de software; hacer que sea accesible, eficiente y resiliente en un entorno activo es donde la entrega de aplicaciones cobra importancia. Para desplegar aplicaciones web modernas, debes seleccionar una arquitectura que se ajuste a tu perfil de tráfico, a la fase del ciclo de vida y al presupuesto de recursos.
Tanto si vas a lanzar un prototipo full stack asistido por IA como si vas a desplegar un servicio de backend de nivel de producción, los entornos modernos en la nube ofrecen vías automatizadas y en contenedores. En esta guía se explican los conceptos básicos de la arquitectura web de Node.js, se analizan las consideraciones clave para el despliegue y se describe paso a paso cómo crear y desplegar una aplicación de Node.js en una infraestructura gestionada mediante las asignaciones del nivel sin coste económico.
Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma que se basa en el motor de JavaScript Chrome V8. Permite que JavaScript se ejecute en el lado del servidor fuera del navegador web, lo que permite a los ingenieros escribir bases de código full-stack unificadas con un único lenguaje de programación.
A diferencia de los servidores web multihilo tradicionales, que generan un hilo de sistema operativo aislado para cada conexión simultánea, Node.js funciona con un modelo de E/S sin bloqueo, de un solo hilo y basado en eventos. Esta arquitectura hace que Node.js sea ligero y eficiente para gestionar miles de conexiones simultáneas, como APIs RESTful, mensajería en tiempo real, servicios de streaming y orquestadores de agentes de IA.
A la hora de preparar el despliegue de un backend de Node.js, elegir el entorno de computación adecuado influye directamente en la sobrecarga de mantenimiento, la velocidad de escalado y la rentabilidad.
Característica | Máquinas virtuales (IaaS/VPS) | Alojamiento de PaaS o paquete de compilación | Contenedores modernos sin servidor |
Gestión de infraestructuras | Aplicación manual de parches del SO, gestión de cortafuegos y actualizaciones del entorno de ejecución | Capa de plataforma totalmente gestionada con bloqueos de tiempo de ejecución del proveedor | Infraestructura totalmente gestionada sin mantenimiento del sistema operativo |
Mecanismo de escalado | Autoescalado de máquinas virtuales basado en métricas (las instancias se activan en cuestión de minutos) | Autoescalado por número de instancias o límites de trabajadores | Autoescalado instantáneo basado en solicitudes, incluido el escalado a cero |
Formato de empaquetado | Archivos de origen sin procesar, servicios systemd o gestores de procesos PM2 | Integración de repositorios de Git push con buildpacks automatizados. | Imágenes de contenedor estándar de OCI y Docker |
Perfil de costes de inactividad | Se factura las 24 horas, independientemente del tráfico entrante HTTP | Suele requerir un precio mínimo de instancia base. | Facturación estricta por segundo durante el procesamiento de solicitudes activas |
Portabilidad | Alta portabilidad, pero alto riesgo de desviación del entorno | Poca portabilidad; se limita a las convenciones de la plataforma | Alta portabilidad; ejecuta contenedores idénticos en cualquier entorno |
Característica
Máquinas virtuales (IaaS/VPS)
Alojamiento de PaaS o paquete de compilación
Contenedores modernos sin servidor
Gestión de infraestructuras
Aplicación manual de parches del SO, gestión de cortafuegos y actualizaciones del entorno de ejecución
Capa de plataforma totalmente gestionada con bloqueos de tiempo de ejecución del proveedor
Infraestructura totalmente gestionada sin mantenimiento del sistema operativo
Mecanismo de escalado
Autoescalado de máquinas virtuales basado en métricas (las instancias se activan en cuestión de minutos)
Autoescalado por número de instancias o límites de trabajadores
Autoescalado instantáneo basado en solicitudes, incluido el escalado a cero
Formato de empaquetado
Archivos de origen sin procesar, servicios systemd o gestores de procesos PM2
Integración de repositorios de Git push con buildpacks automatizados.
Imágenes de contenedor estándar de OCI y Docker
Perfil de costes de inactividad
Se factura las 24 horas, independientemente del tráfico entrante HTTP
Suele requerir un precio mínimo de instancia base.
Facturación estricta por segundo durante el procesamiento de solicitudes activas
Portabilidad
Alta portabilidad, pero alto riesgo de desviación del entorno
Poca portabilidad; se limita a las convenciones de la plataforma
Alta portabilidad; ejecuta contenedores idénticos en cualquier entorno
Para desarrollar una aplicación de Node.js lista para producción, es necesario abordar patrones de arquitectura que eviten cuellos de botella y garanticen el tiempo de funcionamiento:
Puedes crear y desplegar una aplicación de Node.js mediante dos flujos de trabajo principales: creación rápida de prototipos asistida por IA (no se necesita configurar la CLI local) o despliegue estándar basado en contenedores (para bases de código personalizadas).
Para crear prototipos y aplicaciones de IA rápidamente, el modo de compilación de Google AI Studio permite a los desarrolladores describir arquitecturas full stack de Node.js en lenguaje natural y desplegarlas en Cloud Run sin herramientas de línea de comandos locales ni configuraciones de facturación obligatorias.
Paso 1: Inicializar la aplicación en el modo Desarrollo
Paso 2: Configurar los datos y la autenticación integrados
Paso 3: Publicar en Cloud Run gestionado
En el caso de los códigos base preexistentes y los microservicios personalizados, empaqueta tu aplicación de Node.js en un contenedor que cumpla con la OCI y despliégala directamente en Cloud Run.
Paso 1: Estructura el código del servidor de Node.js
Crea un servidor HTTP mínimo con Express, Fastify o bibliotecas estándar de Node.js (index.js):
Nota: Cloud Run inserta la variable de entorno PORT automáticamente en el tiempo de ejecución. El respaldo || 8080 del código anterior se incluye principalmente para facilitar las pruebas locales en tu máquina antes del despliegue.
Paso 2: Crea un Dockerfile seguro de varias etapas
Empaqueta tu aplicación con una compilación de varias etapas para asegurar una imagen de producción mínima y segura.
Práctica recomendada: Crea un archivo .dockerignore en tu directorio raíz y añádele node_modules y .env. De esta forma, te aseguras de que los archivos de desarrollo locales no se incluyan accidentalmente en tu imagen de contenedor, lo que la mantiene limpia y segura.
Crea un archivo llamado Dockerfile en tu directorio raíz:
Paso 3: Desplegar en Cloud Run
Ejecuta el despliegue con la Google Cloud CLI desde tu carpeta raíz local. También puedes crear una URL personalizada con el formato <user-defined>.cloud.run para tu aplicación:
Si sabes cómo funcionan las asignaciones sin coste económico, podrás crear prototipos y escalar tu aplicación de Node.js de forma predecible:
Tipo de nivel | Asignaciones de computación y recursos | Requisitos y límites |
Starter Tier de Google Cloud (Prototipado) | • Cloud Run: hasta dos aplicaciones web activas • Cloud Firestore: 1 GiB de almacenamiento, 50.000 lecturas al día y 40.000 escrituras al día • Cloud SQL: PostgreSQL edición Developer (escalado a cero) • Firebase Authentication: inicio de sesión de Google incluido | • Cuenta de Google válida • No se necesita tarjeta de crédito ni cuenta de facturación • Bloqueo de una sola región de despliegue |
Nivel sin coste estándar de Google Cloud (cuenta estándar) | • Cloud Run: dos millones de solicitudes al mes, 180.000 vCPU por segundo al mes, 360.000 GiB por segundo al mes y 1 GB de salida de red de Norteamérica al mes • Acceso a 300 USD de crédito de bienvenida durante los primeros 90 días | • Cuenta de facturación de Cloud vinculada • Acceso completo a la API de la plataforma en todas las regiones |
Tipo de nivel
Asignaciones de computación y recursos
Requisitos y límites
Starter Tier de Google Cloud (Prototipado)
• Cloud Run: hasta dos aplicaciones web activas
• Cloud Firestore: 1 GiB de almacenamiento, 50.000 lecturas al día y 40.000 escrituras al día
• Cloud SQL: PostgreSQL edición Developer (escalado a cero)
• Firebase Authentication: inicio de sesión de Google incluido
• Cuenta de Google válida
• No se necesita tarjeta de crédito ni cuenta de facturación
• Bloqueo de una sola región de despliegue
Nivel sin coste estándar de Google Cloud (cuenta estándar)
• Cloud Run: dos millones de solicitudes al mes, 180.000 vCPU por segundo al mes, 360.000 GiB por segundo al mes y 1 GB de salida de red de Norteamérica al mes
• Acceso a 300 USD de crédito de bienvenida durante los primeros 90 días
• Cuenta de facturación de Cloud vinculada
• Acceso completo a la API de la plataforma en todas las regiones
Empieza a crear en Google Cloud con 300 USD en crédito sin coste económico y más de 20 productos Always Free.