Alejandría

Busca en Alejandría

Plataformas

Railway

Plataforma gestionada para desplegar aplicaciones, contenedores y servicios desde repositorios.

01

En pocas palabras

Plataforma gestionada para desplegar aplicaciones, contenedores y servicios desde repositorios.

Qué problema resuelve

Trabajo de infraestructura que retrasa la publicación de productos pequeños o medianos.

Cuándo utilizarlo

APIs y aplicaciones full-stack. Ejemplo: desplegar un backend con una base de datos asociada.

02

De la idea a la práctica

Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.

En el Radar compartido: Trial (valoración de la edición aportada).

Cómo funciona

Construye y ejecuta servicios a partir de código o imágenes y ofrece configuración, red y visibilidad operativa. Los despliegues pueden integrarse con el flujo de Git.

Ejemplo de uso

Conectar un repositorio de API, configurar variables y health checks y enlazar una base de datos. Publicar cada cambio validado en un entorno de prueba antes de promoverlo.

Conceptos

Concepto Descripción
Project Conjunto de servicios relacionados
Service Una aplicación, base de datos, worker o cron
Environment Copia aislada del proyecto: producción, staging, entornos por PR
Volume Almacenamiento persistente montado en un servicio
Variables Configuración por servicio y entorno, con referencias entre servicios

Configuración como código

# railway.toml
[build]
builder = "RAILPACK"            # o DOCKERFILE

[deploy]
startCommand = "java -jar target/app.jar"
preDeployCommand = "./mvnw -q flyway:migrate"
healthcheckPath = "/actuator/health/readiness"
healthcheckTimeout = 60
restartPolicyType = "ON_FAILURE"
numReplicas = 2

Las variables pueden referenciar a otros servicios: DATABASE_URL=${{Postgres.DATABASE_URL}}. La red privada permite que los servicios se comuniquen por nombre interno (api.railway.internal) sin exposición pública.

CLI

railway login
railway link                   # asociar el directorio a un proyecto
railway run ./mvnw test        # ejecutar localmente con las variables del entorno
railway up                     # desplegar el directorio actual
railway logs

Entornos por pull request

Railway puede crear un entorno efímero para cada PR, con sus propias bases de datos, y destruirlo al cerrarlo. Es una forma sencilla de tener entornos de revisión completos sin mantener infraestructura.

Cuándo encaja

Encaja Considera alternativas
Startups, prototipos y productos pequeños o medianos Requisitos regulatorios de residencia o certificaciones específicas
Equipos sin dedicación a infraestructura Necesidad de redes privadas con la nube corporativa
Entornos efímeros y herramientas internas Cargas con costes muy predecibles y altos

Frente a Cloud Run o un PaaS de nube pública, Railway prioriza la experiencia del desarrollador y la rapidez; a cambio, ofrece menos integración con servicios corporativos (IAM, VPC, auditoría). Mantén imágenes estándar y configuración portable para poder migrar.

Criterios de implementación

Gestionar migraciones, backups y secretos explícitamente. Evaluar almacenamiento persistente, regiones, escalado y exportación antes de depender de la plataforma a largo plazo.

Continúa en las fuentes

Documentación oficial para verificar detalles y explorar más.