Una guía para la desviación de la configuración y cómo prevenirla

La desviación de la configuración es una preocupación importante para todos los desarrolladores de IAAC. Esta publicación aprenderá sobre la gestión de cambios de configuración, su importancia, causas y posibles soluciones.

¿Qué es la deriva de configuración?

Los propietarios de aplicaciones deben cambiar sus aplicaciones y la infraestructura subyacente con el tiempo para mejorar continuamente la experiencia del cliente. Estos clientes pueden ser internos o externos a la empresa.

La configuración de las aplicaciones y la infraestructura cambia como resultado de esas actualizaciones y cambios. Estas modificaciones podrían ser beneficiosas o degradar la condición de endurecimiento de los sistemas. La deriva de configuración es el término para esto.

Cómo funciona la deriva de configuración

El potencial de desviación de la configuración aumenta con la complejidad de los sistemas de producción y entrega de software. El código generalmente se transfiere desde la estación de trabajo de un desarrollador a un entorno de desarrollo compartido, a entornos de prueba y control de calidad y, finalmente, a entornos de ensayo y producción.

El impacto potencial aumenta con la distancia a lo largo de la tubería en la que se produce la deriva. Incluso las variaciones menores entre una versión de paquete instalada en la computadora portátil de un desarrollador y la versión instalada en un servidor de prueba pueden retrasar la depuración de problemas. Por lo general, solo se espera que la puesta en escena y la producción sean réplicas entre sí. La tensión es intensa porque muchas empresas implementan código nuevo varias veces al día.

Causas comunes de desviación de configuración

Falta de comunicación

A veces, los equipos ascendentes no se comunican con los socios descendentes sobre los cambios realizados por ellos, lo que, como resultado, descompone todo el sistema descendente.

Revisiones

Las revisiones son cambios en el código realizados para abordar un problema crítico que no puede esperar hasta la próxima actualización planificada de la aplicación. A veces, los ingenieros que trabajan para resolver el problema no logran realizar cambios o documentar la misma solución en otros entornos en proceso, lo que, como resultado, conduce a la desviación. A menudo, reintroducir el problema original resolverá esta desviación.

Actualizaciones críticas de paquetes

Las actualizaciones de paquetes críticos son algo similares a las revisiones. Ambos se realizan a un ritmo rápido. La principal diferencia es que las actualizaciones críticas de paquetes se aplican con la esperanza de evitar futuros incidentes. Por lo tanto, tales actualizaciones pueden provocar desviaciones de la misma manera que las revisiones.

falta de automatización

La automatización no eliminará por completo las posibilidades de desviación de la configuración. Simplemente reducirá sus posibilidades.

Cambios de conveniencia

A veces, los cambios realizados por los desarrolladores son temporales. Por ejemplo, la deriva ocurre si un desarrollador instala un nuevo paquete en un servidor de prueba para probar alguna funcionalidad y se olvida de revertirlo a su estado original.

¿Por qué es importante la gestión de la configuración?

Una de las razones por las que la deriva de configuración puede ser tan dañina es que, si nadie la busca continuamente, la deriva puede pasar desapercibida a medida que socava gradualmente la base de su infraestructura, como una pequeña fuga en una casa detrás de una pared.

Cuando se descubre el cambio de configuración, encontrar la razón subyacente del cambio de configuración que causó que todo sucediera lleva tiempo, lo cual es un recurso valioso en una emergencia.

En el desarrollo de software, la deriva es una causa importante de los ciclos de lanzamiento lentos. Puede causar trabajo innecesario y obstaculizar la productividad del desarrollador.

Costos mas bajos

Puede reducir la cantidad total necesaria identificando duplicaciones o sobreaprovisionamiento cuando tenga una imagen detallada de su infraestructura de TI.

Mayor productividad

Los clústeres con configuraciones estables y conocidas permiten la gestión de lotes y la construcción de infraestructura. Además, el requisito de administrar configuraciones individuales manualmente se reduce al limitar los servidores únicos (o copos de nieve).

Depuración más rápida

Las configuraciones coherentes permiten que los equipos de depuración descarten errores de configuración. Los equipos pueden concentrarse en otras posibles causas, resolviendo tickets más rápido porque no tendrán que buscar discrepancias de configuración entre servidores, clústeres de servidores o entornos.

Problemas causados ​​por la desviación de la configuración

Temas de seguridad

Las configuraciones inseguras son una de las causas más frecuentes de brechas de seguridad. La desviación de la configuración puede aumentar la probabilidad de otros ataques e infracciones de la red, incluso si comienza con una configuración protegida.

Falta del tiempo

Un tiempo de inactividad significativo puede resultar de un error de configuración que permite a un atacante usar una falla DoS o comprometer un servidor crucial. Sin embargo, eso no es todo. Supongamos que modifica la configuración de un dispositivo de red, lo que afecta el rendimiento. Siempre puedes volver a tu «configuración dorada», ¿verdad? Tomará mucho más tiempo restaurar el servicio si esa configuración es defectuosa.

Caer fuera del cumplimiento

Se necesitan estrictos controles de seguridad para cumplir con normas como ISO 27001, PCI-DSS e HIPAA. La desviación de la configuración puede hacer que rompa el cumplimiento si no se detiene.

Rendimiento degradado

Una configuración suele estar en su estado más óptimo cuando se encuentra en el estado previsto. Las modificaciones ad-hoc pueden obstaculizar los intentos de optimización de la red al causar cuellos de botella y conflictos.

Tiempo perdido

Puede llevar mucho tiempo solucionar los problemas de una red que no comprende bien o que no coincide con la documentación de su red. Esto significa que la desviación de la configuración podría generar problemas de resolución de problemas de TI que podrían no haber existido o que habrían sido más fáciles de resolver si la red hubiera estado en las condiciones previstas, además de generar tiempo de inactividad para los usuarios.

Errores comunes a tener en cuenta al monitorear la deriva de configuración

En un mundo perfecto, todos los servidores de entorno para desarrolladores (Dev/QA/Staging/Prod) tendrían las mismas configuraciones. Desafortunadamente, no es así como funcionan las cosas en el mundo “real”. En entornos comerciales, los propietarios de aplicaciones modifican con frecuencia la infraestructura cuando se introducen nuevas capacidades en el software.

La deriva de la configuración de monitoreo es crucial para garantizar que los entornos de software sean lo más homogéneos posible. La gestión de configuración reduce los gastos, aumenta la productividad y el tiempo de depuración, y mejora la experiencia del usuario.

Para tener el mayor éxito posible con la supervisión, las organizaciones deben evitar errores incluso cuando utilizan la gestión de configuración y supervisan su deriva de configuración.

Los errores comunes se enumeran a continuación:

No mantener una CMDB

Mantener una base de datos de gestión de configuración (CMDB) actualizada es un elemento importante de la gestión de configuración. La información sobre las instalaciones de hardware y software de una red se puede examinar en un solo lugar, proporcionada por una base de datos de administración de configuración. Se recopilan datos para cada activo o elemento de configuración, lo que brinda visibilidad y transparencia en el lugar de trabajo.

La falta de mantenimiento de una CMDB expone a las empresas al peligro de no comprender completamente cómo la configuración de un elemento afecta a otro elemento. Las organizaciones corren el riesgo de dañar su infraestructura y seguridad sin comprender las consecuencias.

Las CMDB pueden ser un desafío para administrar, particularmente a medida que aumenta la cantidad de activos, pero la organización y administración efectivas de la base de datos son cruciales para rastrear con éxito la desviación de la configuración y comprender la infraestructura.

No tener un plan de cómo monitorear la desviación de configuración

Las organizaciones suelen tener infraestructuras masivas e intrincadas que deben vigilarse. Determinar qué componentes necesitan ser monitoreados más es crucial. De lo contrario, la gestión de la configuración puede volverse rápidamente inmanejable y caótica.

Las organizaciones deben especificar qué activos son esenciales para el seguimiento de la empresa y las unidades de negocio específicas. Se observarán los sistemas más cruciales, que diferirán de una unidad a otra y de una industria a otra.

No monitorear automáticamente

Las organizaciones pueden monitorear el cambio de configuración de varias maneras. Sin embargo, algunos enfoques son más refinados y exitosos que otros.

El monitoreo manual de la desviación de la configuración es costoso y requiere mucho tiempo. El monitoreo manual también expone la posibilidad de error humano. Esta no es la mejor técnica para monitorear la desviación de la configuración a menos que su empresa tenga una huella de infraestructura muy pequeña.

El monitoreo automático es la forma más desarrollada y eficiente de mantener las configuraciones en el estado deseado. Los sistemas de monitoreo de configuración dedicados pueden detectar desviaciones al instante y con frecuencia ofrecen soluciones, incluida una corrección rápida. Esto garantiza que la infraestructura del negocio vuelva al estado deseado lo más rápido posible y con efectos mínimos.

Cómo monitorear la deriva de configuración:

Se vuelve obvio por qué la detección de la desviación de configuración debe ser una preocupación principal una vez que se da cuenta del daño que puede causar. Saber qué conservar y por qué se presentó como un cambio que generó deriva es el primer paso de ese proceso.

Sabes que estas buscando

Puede clasificar su organización identificando los componentes cruciales para la organización en su conjunto y los cruciales para cada unidad de negocio.

Esto varía según la unidad y puede ser expansivo en industrias altamente reguladas o centrarse únicamente en archivos/aplicaciones críticos del sistema más específicos. La importancia del sistema determinará la frecuencia y seriedad de los sistemas de monitoreo.

Establecer una línea de base

Siempre habrá variaciones entre un entorno de producción y las etapas de prueba debido a las diversas configuraciones. La línea de base para verificar la deriva se crea definiendo cuál debe ser cada paso y los tipos de desviaciones que están permitidas.

Las primeras etapas de prueba pueden ser más adecuadas para una asignación de desviación más alta que una configuración de prueba de aceptación del usuario o una etapa de fabricación de desviación cero.

Supervise su sistema

El nivel de monitoreo requerido variará según la madurez de la organización, sus sistemas actuales, herramientas, la cantidad total de configuraciones que deben verificarse y el nivel de escrutinio requerido. Dependiendo de los requisitos y el cumplimiento, el monitoreo puede diferir para cada unidad dentro de una organización.

Cómo evitar la desviación de la configuración

El monitoreo debe garantizar que la infraestructura se mantenga en la configuración adecuada después de que se haya definido una línea de base de configuraciones y brechas permitidas. Sin una estrategia de monitoreo, construir planes de configuración y documentación es una pérdida de tiempo.

Se pueden emplear varios enfoques para monitorear la desviación de la configuración, y muchas empresas combinarán metodologías y herramientas en función de su madurez y requisitos de cumplimiento.

Monitoreo manual constante

Las configuraciones de máquinas individuales se pueden revisar manualmente y comparar con un archivo de configuración conocido. Debido al aspecto humano, este proceso sigue siendo propenso a errores y costoso en cuanto a las horas de trabajo de los empleados. Solo debería usarse a pequeña escala para unos pocos clústeres de servidores en particular o una empresa con una huella de infraestructura modesta.

Auditorias

Un equipo examina manualmente las configuraciones del servidor como parte de las auditorías de configuración, comparándolas con un modelo específico. Estas auditorías pueden ser costosas ya que requieren conocimientos especializados para determinar cómo se debe construir un sistema y luego una investigación exhaustiva de cualquier posibilidad no documentada para decidir si se debe preservar o no.

El equipo de auditoría también realiza los ajustes necesarios a los documentos de configuración que se aplicarán durante la próxima auditoría. Por lo general, las auditorías se retienen para clústeres de alto valor o de alto cumplimiento y se ejecutan regularmente, generalmente varias veces al año, debido a consideraciones de tiempo y costo.

La auditoría garantiza una configuración de servidor consistente y repetible en un horario predeterminado.

Sin embargo, hasta la próxima auditoría, la configuración variará y se mantendrá cada vez más.

Monitoreo automatizado en tiempo real

El monitoreo automatizado en tiempo real es la forma más sofisticada de mantener las configuraciones en el estado deseado. Para hacer esto, se deben crear servidores o grupos de servidores junto con una descripción de cómo se deben configurar utilizando herramientas de configuración de servidores dedicados.

Estos programas utilizarán un agente ligero para monitorear la configuración de un servidor dentro de ese grupo y compararlo con su definición.

Este proceso automatizado advierte instantáneamente sobre la desviación y, por lo general, ofrece varias opciones para corregir la desviación del servidor.

Ultimas palabras:

Los elementos de configuración (CI) inconsistentes entre computadoras o dispositivos son la causa raíz de la desviación de la configuración. La desviación de la configuración ocurre de forma natural en los entornos de los centros de datos cuando las modificaciones de software y hardware se realizan sobre la marcha sin documentarse ni rastrearse minuciosamente.

Muchas fallas del sistema de alta disponibilidad y recuperación ante desastres se atribuyen a cambios en la configuración. Los administradores deben mantener registros meticulosos de las direcciones de red de los dispositivos de hardware, junto con las versiones de software instaladas en ellos y las actualizaciones que se han realizado, para minimizar la desviación de la configuración.