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.
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.