Skip to content
SP StackPractices
beginner Por StackPractices

Plantilla de Configuracion de Entornos

Una plantilla para documentar variables de entorno, secretos, endpoints y configuraciones de infraestructura para cada entorno de despliegue.

Nota para desarrolladores hispanohablantes: Esta guía incluye ejemplos y convenciones de nomenclatura adaptadas a equipos que trabajan en español. Cuando existen diferencias significativas en terminología técnica entre el inglés y el español, se indican explícitamente para facilitar la comunicación en equipos multiculturales.

Descripcion General

Toda aplicacion se ejecuta en multiples entornos como desarrollo, staging y produccion. Cada entorno tiene su propia configuracion, endpoints, secretos y ajustes de infraestructura. Esta plantilla ayuda a los equipos a documentar esos ajustes en un solo lugar, facilitando la incorporacion, la depuracion y la recuperacion ante desastres.

Cuando Usar

  • Configurar una nueva aplicacion o servicio.
  • Incorporar un nuevo miembro del equipo o contratista.
  • Preparar un plan de despliegue o migracion.
  • Solucionar errores especificos de un entorno.
  • Auditar la desviacion de configuracion entre entornos.
  • Crear un runbook para respuesta a incidentes.

Prerequisitos

  • Acceso a la plataforma de despliegue o consola cloud.
  • Lista de servicios, bases de datos e integraciones de terceros que usa la aplicacion.
  • Permiso para ver secretos y credenciales, o un proceso de entrega seguro.
  • Una convencion de nombres para variables de entorno y claves de configuracion.
  • Comprension de los requisitos de cumplimiento y seguridad para cada entorno.

Solucion

Plantilla

1. Identificacion del Entorno

CampoDescripcionEjemplo
Aplicacion / ServicioNombre del sistemaPayment API
Entornodev, staging, production, etc.production
Region / ZonaDespliegue geograficous-east-1
Cluster / InstanciaDonde corre la appprod-k8s-cluster-01
Version desplegadaRelease actualv2.4.1
DuenoEquipo responsableEquipo de pagos
Ultima revisionFecha de ultima actualizacion2026-06-27

2. Variables de Entorno Principales

VariablePropositoValor devValor stagingValor productionSecreto
APP_ENVEntorno de ejecuciondevelopmentstagingproductionNo
LOG_LEVELVerbosidad de logsdebuginfowarnNo
API_PORTPuerto donde escucha el servicio80808080443No
DATABASE_URLCadena de conexion a la base de datos principalpostgres://dev-dbpostgres://staging-dbpostgres://prod-dbSi
REDIS_URLCadena de conexion al cacheredis://dev-redisredis://staging-redisredis://prod-redisSi
JWT_SECRETSecreto para firma de tokensdev-secretstaging-secretprod-secretSi
EXTERNAL_API_KEYClave para integracion de tercerostest-keytest-keylive-keySi
FEATURE_FLAG_XInterruptor para nueva featuretruetruefalseNo

3. Endpoints de Servicios

ServicioEntornoURL / HostPuertoProtocoloNotas
Aplicacionproductionapi.payments.example.com443HTTPSDetras del load balancer
Base de datosproductionprod-db.internal.example.com5432PostgreSQLSubred privada
Cacheproductionprod-redis.internal.example.com6379RedisSubred privada
Cola de mensajesproductionprod-rabbit.internal.example.com5672AMQPSubred privada
Almacenamiento de objetosproductions3://prod-payments-data443HTTPSCifrado en reposo

4. Configuracion de Infraestructura

Recursodev/testproductionNotas
Computo1 contenedor pequeno4 contenedores grandesAuto-scaling en production
CPU / memoria0.5 vCPU / 1 GB2 vCPU / 4 GBPor contenedor
Base de datosInstancia compartida devCluster Multi-AZCon replicas de lectura en production
Cache1 nodo3 nodosModo cluster Redis
Cola de mensajes1 nodo3 nodosMisma configuracion
AlmacenamientoClase estandarTier de acceso infrecuentePolitica de ciclo de vida aplicada
RedPublica para herramientas devSubred privada + NATAcceso VPN requerido

5. Secretos y Credenciales

Nombre del SecretoUsado PorUbicacion de AlmacenamientoPrograma de RotacionUltima Rotacion
DATABASE_PASSWORDAplicacionAWS Secrets ManagerTrimestral2026-06-01
JWT_SECRETAplicacionHashiCorp VaultTrimestral2026-06-01
EXTERNAL_API_KEYServicio de integracionAzure Key VaultEn rotacion del proveedor2026-05-15
TLS_CERTIFICATELoad balancerAWS ACMAnual2026-04-20

6. Registro de Cambios de Configuracion

FechaCambioAutorRazonAprobado Por
2026-06-10Aumento del cluster de cache en produccionalice@example.comPreparar venta flashbob@example.com
2026-05-22Agregado FEATURE_FLAG_Xcarol@example.comDesplegar nuevo flujo de checkoutdave@example.com
2026-05-01Rotacion de credenciales de base de datosplatform-teamRotacion trimestralsecurity-team

Explicacion

Una unica fuente de verdad para la configuracion de entornos reduce la confusion y los errores. Cuando las variables, endpoints y secretos estan documentados, los equipos pueden desplegar mas rapido, depurar problemas entre entornos y recuperarse de incidentes sin adivinar. La plantilla tambien ayuda a identificar diferencias entre entornos, una fuente comun de errores en produccion.

Variantes

  • Configuracion de entornos para microservicios: Un documento por servicio con referencias cruzadas a endpoints de otros servicios.
  • Configuracion de entornos con infraestructura como codigo: Enlaces a archivos de variables de Terraform o CloudFormation.
  • Configuracion de entornos para contenedores: Enfoque en Docker compose, Kubernetes ConfigMaps y Secrets.
  • Configuracion de entornos serverless: Documenta variables a nivel de funcion, ajustes de API Gateway y fuentes de eventos.
  • Configuracion de entornos para app movil: Documenta endpoints backend, API keys y feature flags por variante de build.
  • Configuracion de entornos para base de datos: Enfoque en cadenas de conexion, endpoints de replicas y ajustes de backup.

Mejores Practicas

  • Manten los secretos fuera del control de versiones y almacenalos en un vault seguro.
  • Usa los mismos nombres de variables en todos los entornos cuando sea posible.
  • Documenta por que un valor difiere entre entornos.
  • Revisa y actualiza el documento despues de cada despliegue o cambio de infraestructura significativo.
  • Separa valores sensibles de la configuracion no sensible.
  • Automatiza la generacion de este documento desde infraestructura como codigo cuando sea posible.
  • Usa una convencion de nombres consistente para variables de entorno.
  • Incluye informacion de contacto del dueno del entorno.

Errores Comunes

  • Hard-codear valores especificos del entorno en el codigo fuente.
  • Almacenar secretos en texto plano o archivos sin cifrar.
  • No actualizar el documento despues de cambios de configuracion.
  • Usar nombres de variables diferentes para el mismo concepto en distintos entornos.
  • Mezclar configuracion de multiples entornos en un solo archivo.
  • Omitir la razon de las diferencias entre entornos.
  • No incluir endpoints o credenciales de servicios de terceros.

FAQs

Debemos almacenar secretos en este documento?

No. Guarda los nombres de secretos y programas de rotacion aqui, pero manten los valores reales en un vault seguro. Este documento debe referenciar donde encontrar los secretos, no contenerlos.

Como mantenemos este documento actualizado?

Asigna un dueno y revisa el documento despues de cada despliegue, cambio de infraestructura o trimestralmente. Vinculalo al proceso de gestion de cambios.

Cual es la diferencia entre variables de entorno y archivos de configuracion?

Las variables de entorno se usan tipicamente para valores que cambian entre entornos o son sensibles. Los archivos de configuracion son mejores para ajustes estables y estructurados que pueden versionarse.