Todos los guías
NODE.JS API

VPS para un Node.js API: lista de verificación para el despliegue y el tamaño

Elija un VPS para un Node.js API por soporte de tiempo de ejecución, supervisión de procesos, uso de memoria real, comportamiento proxy, secretos, acceso a bases de datos y recuperación probada.

Comience con el tiempo de ejecución de la solicitud y sus dependencias

Un VPS para un Node.js API necesita un entorno compatible y un propietario de la administración. Registre los requisitos de tiempo de ejecución, paquete lockfile, dependencias nativas, base de datos y trabajadores. Elija una versión activa LTS o mantenimiento LTS compatible con el proyecto, a continuación, verifique el ejecutable utilizado por el proceso implementado.

Decide si el API funciona directamente en Linux o en un contenedor. Una opción de distribución no instala su aplicación o base de datos Node.js. La preparación de Docker es una opción ambiental inicial; código de aplicación, compatibilidad de plazos de ejecución y el funcionamiento API todavía necesitan ser implementados y verificados después de la entrega.

Compare entornos de Linux VPS para su entorno API

Define la supervisión del proceso, la puesta en marcha y la apagación

Iniciar el API en una terminal interactiva SSH no es un ciclo de vida de producción completo. Elija un supervisor: por ejemplo, sistematizado para un despliegue directo o el tiempo de ejecución de contenedores para contenedores. Grabar el directorio ejecutable, de trabajo, cuenta de servicio y fuente de configuración. Verifique la puesta en marcha sin su entorno de concha interactivo.

Pruebe un fallo del proceso controlado y un reinicio planeado. Revise las reglas de reiniciar y el diagnóstico para que un error persistente no se convierta en un bucle de reiniciamiento no explicado. Un proceso de funcionamiento de nuevo no es prueba de que la base de datos está conectada o el API está listo. Prueba de terminación graciosa: dejar de aceptar nuevo trabajo, manejar las solicitudes en vuelo apropiadamente y cerrar las conexiones de la aplicación antes de que el tiempo de control.

Desplazar la tabla horizontalmente si es necesario.

Grabar el despliegue API y sus cheques de aceptación
ParteDecisión sobre el registroEvidencia para reunir
Hora de correrSoporte Node.js requisitos de liberación y aplicaciónEl proceso supervisado utiliza el ejecutable previsto
Proceso de ciclo de vidaSupervisor, cuenta y política de reiniciarStartup, recuperación de fallos y cierre han sido probados
Punto de entrada públicoPunto final de dominio, proxy y aplicación privadaHTTPS y API reales peticiones utilizan el camino deseado
Base de datos y trabajadoresUbicación, credenciales, concurrencia y propiedad de datosConexiones, escritos y trabajos se comportan bajo carga representativa
RecuperaciónPublicación, configuración, copias de datos y alcance de devoluciónUna restauración separada reconstruye un trabajo API

Revisión Docker VPS preparación para un despliegue de contenedores

Elija RAM y CPU de un comportamiento de solicitud

Medir la memoria, pedir latencia y errores bajo una mezcla representativa de puntos finales API. Incluye tamaños de carga útil, llamadas de base de datos simultáneas y cualquier trabajo de fondo que comparta el servidor. Node.js process.memoryUsage reports RSS and V8 heap information; heapUsed alone does not describe the complete process, its native allocations or the other services running on the VPS.

Un límite de espacio antiguo V8 controla sólo parte del uso de la memoria y no debe consumir toda la asignación de host. Más vCPUs tampoco hacen una llamada de vuelta bloqueada en un bucle de evento ejecutado en paralelo. Investigar costoso trabajo sincronizado, consultas y concurrencia antes de interpretar un punto final lento como una necesidad de un servidor más grande. Si usted ejecuta deliberadamente múltiples procesos, mide su memoria combinada y cuenta de conexión.

Aplicación de tamaño, base de datos y memoria de los trabajadores en una pila Docker

Verifique el límite público de aplicación y privado

Defina qué componente recibe solicitudes públicas y qué punto final llega al API internamente. Al utilizar un proxy inverso, configure la dirección de escucha de la aplicación, destino proxy y reglas de confianza deliberadamente. No asuma que los encabezados de clientes o esquemas son confiables de cada fuente. Revise los límites de la solicitud y los plazos en ambos lados para los puntos finales que realmente proporciona.

Pruebe una solicitud autenticada, un error de validación esperado, una carga más grande si se admite y una operación de larga duración si la aplicación requiere uno. Compruebe el nombre de host HTTPS y el comportamiento del cliente, incluyendo reglas de origen del navegador cuando sea relevante. Mantenga bases de datos y puntos finales de gestión fuera de la ruta pública prevista. La lista de verificación Nginx cubre el host y la configuración de certificados; estos cheques verifican cómo el API se comporta detrás de él.

Si Nginx devuelve 502, compare su registro de error aguas arriba con el registro de la aplicación. Compruebe que el API está funcionando y escuchando en la dirección y el puerto configurados, a continuación, probar ese punto final del propio contexto de red del proxy. En contenedores separados, localhost se refiere al entorno propio de cada contenedor; el flujo ascendente previsto puede necesitar su nombre de servicio en su lugar. Investigar esa conexión fallida antes de cambiar el firewall público o elegir un VPS más grande.

Validar el enrutamiento de host Nginx, HTTPS y despliegue proxy

Mantener la configuración y las credenciales en el proceso

Lista las variables de entorno y otra configuración que requiere el API, con un propietario documentado para cada secreto. Node.js puede leer variables de inicio a través de process.env, pero elegir variables de entorno no proporciona en sí mismo cifrado, rotación o control de acceso. Mantener material secreto fuera del directorio web público, repositorio fuente y respuestas de aplicación.

Ejecute la aplicación con los permisos que necesita en lugar de utilizar privilegios de administrador por defecto. Verifique que la cuenta de servicio puede leer su configuración prevista y escribir sólo los datos necesarios. Redact tokens and sensitive payloads from logs. Mantenga al inspector depurador fuera de la ruta de producción pública, y revise las actualizaciones de dependencia a través del proceso de liberación probado de la aplicación.

Incluya la base de datos, cola y cargas en recuperación

Decide si la base de datos y la cola son locales o externas, y configura los límites de conexión alrededor del proceso elegido y el recuento de trabajadores. Ensayar la indisponibilidad de la base de datos y una reingresación de los trabajadores sin crear acciones comerciales duplicadas. Un punto final de salud API que sólo confirma un proceso de funcionamiento puede no decirle que la dependencia crítica necesaria por los usuarios está disponible.

Un conjunto de recuperación necesita el lanzamiento implementable, la configuración necesaria, datos de bases de datos y cualquier carga o estado de trabajo duradero. Protege las credenciales y garantiza que un operador autorizado pueda reconstruir el servicio. Prueba la restauración lejos de la producción e identificar el trabajo perdido después de la copia de seguridad seleccionada. Recrear un proceso Node.js o tirar de su imagen no restaura los registros de aplicaciones.

Construir y probar un conjunto completo de recuperación de aplicaciones

Aceptar la liberación utilizando cheques reales API

Antes de dirigir a los clientes a un despliegue, compruebe el dominio, autenticación, permisos, errores y flujos de trabajo reales de lectura/escritura. Verifique la puesta en marcha después del reinicio, los registros utilizables y un reinicio controlado. Grabar el resultado con el identificador de liberación y entorno probado.

Mantenga la reversión separada de la inversión de la base de datos. Volver a la versión anterior de la aplicación puede ser inseguro después de un cambio de esquema incompatible o de nuevos registros escritos. Planifique esa decisión con el desarrollador de aplicaciones, luego revise los recursos actuales de VPS y presupuesto contra el volumen de trabajo medido. La recepción del pago y la entrega del servicio permanecen separados de la aceptación de su propio API.

  • El tiempo de ejecución soportado y la puesta en marcha supervisada coinciden con los requisitos de aplicación.
  • Las solicitudes de representantes y los trabajadores se ajustan a la asignación de recursos medida.
  • Se han puesto a prueba las rutas públicas, la autenticación y las dependencias privadas.
  • Los secretos, la recuperación de datos y la decisión de devolución de la base de datos tienen un propietario.
  • Ninguna reclamación de garantía de aplicación depende sólo de un proceso de ejecución.
Compare configuraciones Linux VPSOtras guías