AWS AppConfig
Servicio que despliega cambios de configuración de aplicaciones de forma segura con rollout gradual y validación, con rollback automático en caso de problemas
Descripción general
AWS AppConfig es un servicio de gestión de configuración proporcionado como funcionalidad de AWS Systems Manager. Permite distribuir cambios de configuración de aplicaciones de forma segura e independiente del despliegue de código, combinando rollout gradual, rollback automático y validación previa para reducir el riesgo de incidentes por errores de configuración. Puede reflejar en tiempo real configuraciones como feature flags, parámetros operativos y listas de permisos en aplicaciones que se ejecutan en Lambda, ECS, EKS y EC2, controlando el comportamiento de la aplicación sin redespliegue.
Perfiles de configuración y estrategias de despliegue
En AppConfig, los recursos se organizan en 3 niveles jerárquicos: aplicación, entorno y perfil de configuración. La aplicación representa un grupo lógico (como una unidad de microservicio), el entorno distingue destinos de despliegue como producción, staging y desarrollo. El perfil de configuración define dónde se almacenan los datos de configuración reales, pudiendo especificar como fuente el almacén de configuración alojado de AppConfig, un bucket S3, un documento SSM o SSM Parameter Store, entre otros. La estrategia de despliegue es un mecanismo que controla la velocidad de distribución de los cambios de configuración, con dos tipos de despliegue, lineal (Linear) y exponencial (Exponential), además de estrategias predefinidas como AllAtOnce que despliegan a todos los destinos de una vez. Para entornos de producción, conviene elegir una estrategia de despliegue gradual; por ejemplo, configurando un rollout gradual del 10% cada 20 minutos, se puede minimizar el alcance del impacto cuando se detecta una anomalía. Si una alarma de CloudWatch se activa durante el despliegue, se ejecuta un rollback automático que revierte inmediatamente a la última configuración correcta. Este mecanismo permite gestionar el riesgo de cambios de configuración con la misma seguridad que un despliegue de código.
Verificación segura de valores de configuración con validadores
Los validadores de AppConfig verifican el contenido de los valores de configuración antes de ser desplegados, previniendo que valores incorrectos lleguen a la aplicación. Existen dos tipos de validadores: validador de sintaxis y validador Lambda. El validador de sintaxis especifica un JSON Schema para verificar declarativamente tipos, rangos y campos obligatorios de los valores de configuración. Por ejemplo, se puede definir en el esquema que un valor de timeout sea un entero entre 1 y 300, o que una URL de conexión comience con https. El validador Lambda implementa verificaciones avanzadas con lógica personalizada, como comprobaciones de consistencia de valores, verificación de conectividad con sistemas externos y validación de reglas de negocio. Si la validación falla, el despliegue no se inicia y se devuelve un error al creador de la configuración. Es posible combinar múltiples validadores, por ejemplo aplicando verificaciones de sintaxis y de lógica de negocio de forma escalonada. Al poder detectar automáticamente errores humanos en cambios de configuración, contribuye a la fiabilidad operativa.
Feature flags e integración en tiempo de ejecución
La función de feature flags de AppConfig es un mecanismo para activar o desactivar funcionalidades sin despliegue de código. Al crear un perfil de configuración para feature flags, se pueden definir atributos como booleanos, cadenas y números para cada flag, además de configurar targeting basado en segmentos de usuarios o porcentajes. Para obtener la configuración en tiempo de ejecución se utiliza AppConfig Agent. El Agent funciona como una capa Lambda, un sidecar ECS o un endpoint HTTP local, cacheando los valores de configuración localmente para devolverlos rápidamente. El intervalo de polling es de 45 segundos por defecto (a septiembre de 2026), y cuando se despliega un cambio de configuración, se refleja automáticamente en el siguiente polling. Al usar el Agent, el código de la aplicación obtiene la configuración con un simple HTTP GET, minimizando las dependencias del SDK. En entornos Lambda se recomienda AppConfig Lambda Extension, que obtiene la configuración en la fase de inicialización de la función y la cachea en memoria, con impacto mínimo en el cold start.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- AWS Systems Manager (página oficial)
- AWS Lambda (página oficial)
- Amazon CloudWatch (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.