AWS AppConfig Specialized2019年〜
Un servicio para desplegar y gestionar de forma segura la configuración de aplicaciones
Qué hace
AWS AppConfig es un servicio para desplegar y gestionar de forma segura valores de configuración de aplicaciones y feature flags. Permite aplicar cambios de configuración en tiempo real sin redesplegar la aplicación, e incluye capacidades de despliegue gradual y rollback. Su función de validación reduce el riesgo de desplegar configuraciones incorrectas. AppConfig se proporciona como una función de AWS Systems Manager.
Casos de uso
AppConfig se utiliza para lanzamientos graduales de funciones mediante feature flags, cambios dinámicos en parámetros de comportamiento de la aplicación (valores de timeout, número de reintentos, etc.), gestión de configuración específica por entorno (desarrollo, staging, producción) y activación/desactivación del modo de mantenimiento.
Analogía cotidiana
Imagínalo como un control remoto de televisión. No necesitas desarmar el televisor (aplicación) y reemplazar componentes: el control remoto (AppConfig) te permite ajustar libremente el volumen y el brillo (valores de configuración). También puedes hacer cambios gradualmente para ver el efecto (despliegue gradual) y revertirlos fácilmente (rollback).
¿Qué es AppConfig?
AWS AppConfig es un servicio para gestionar y desplegar de forma segura la configuración de aplicaciones. Normalmente, cambiar el comportamiento de una aplicación requiere modificar el código y redesplegar. Con AppConfig, puedes cambiar el comportamiento de la aplicación actualizando solo los valores de configuración, sin necesidad de redespliegue. Tiene mecanismos integrados para minimizar el riesgo asociado con los cambios de configuración.
Feature flags
La capacidad de feature flags de AppConfig te permite activar y desactivar nuevas funciones sin cambios de código. Por ejemplo, puedes lanzar una nueva función de búsqueda solo al 10% de los usuarios, y luego expandir gradualmente al 100% si no hay problemas. Si ocurre un problema, simplemente desactivar el flag desactiva inmediatamente la función.
Despliegue seguro
AppConfig incluye mecanismos para desplegar cambios de configuración de forma segura. Puedes elegir una estrategia de despliegue que aplique la configuración gradualmente durante un período establecido. Si se activa una alarma de CloudWatch durante el despliegue, se realiza un rollback automáticamente. También puedes configurar validación de configuración (mediante esquema JSON o funciones Lambda) para evitar que se desplieguen valores incorrectos. Para obtener una comprensión más profunda de las prácticas de despliegue seguro, libros en Amazon también vale la pena consultar.
Cómo empezar
En la consola de Systems Manager, ve al menú de AppConfig para crear una aplicación y definir entornos (desarrollo, producción, etc.). Crea un perfil de configuración, registra tus valores de configuración, selecciona una estrategia de despliegue y despliega. En el lado de la aplicación, usa el agente de AppConfig o la API para recuperar los valores de configuración. Para funciones Lambda, la integración es fácil usando la Lambda Extension.
Aspectos a tener en cuenta
- AppConfig pricing is based on the number of configuration retrievals, with a free tier of 1 million configuration retrievals per month
- Configuration retrieval requires setting a polling interval - too short increases costs, too long delays configuration updates
- For choosing between SSM Parameter Store and AppConfig: use AppConfig when you need gradual deployment or validation, and Parameter Store for simple key-value storage