Gestión de la configuración o Configuration Management (CM), características y beneficios

julio 21, 2016 — por David Mataró0

main

ConsultoríaCPDDevOpsMetodología

Gestión de la configuración o Configuration Management (CM), características y beneficios

julio 21, 2016 — por David Mataró0

Una de la practicas que da más sentido a DevOps es la gestión de la configuración de los sistemas o Configuration Management (CM). La automatización juega un role esencial en la gestión de la configuración. Este es el mecanismo utilizado para hacer que un sistema tenga el estado deseado según scripts definidos previamente utilizando lenguajes e herramientas específicas para ello. Podemos decir que la automatización es el elemento principal o el corazón de la gestión de la configuración de un servidor.

Las herramientas de gestión de la configuración o Configuration Management (CM) permiten gestionar de uno a cientos de servidores de forma centralizada.

Como comentemos en el post anterior “Herramientas y Devops” , en el mercado hay diferentes herramientas disponibles como  Chef, Puppet o Ansible. Todas ellas tienes el mismo propósito, asegurar los un sistema esta en un estado deseado y descrito mediante un programa.

La tabla siguiente describe las características principales de los sistemas de gestión de la configuración para servidores.

Versionable

Permite disponer de versiones de la configuración.

Registro de todos los cambios realizados.

Testeable

Al tratarse de código se pueden aplicar las mejores prácticas de testing del desarrollo de software.

Repetible

Replicar en diferentes entornos (desarrollo, test, integración, porducción,…)

Permite escalar facilmente.

El hecho de disponer de un servidor versionable, testeable y repetible, aporta un conjunto de beneficios. A continuación se describen los beneficios más destacados:

 

Despliegue rápido de nuevos servidores

Cuando es necesario instalar un nuevo servidor, un sistema de gestión de la configuración permite automatizar la mayoría de tareas a realizar. Automatizar el proceso de instalación permite disponer del nuevo servidor operativo en cuestión de minutos y evita tener que realizar tareas manuales repetitivas y que a menudo conducen al error.

 

Recuperación rápida ante caídas

devops IIEl hecho de poder disponer del proceso de instalación y configuración de un nuevo servidor automatizado,  permite que ante la caída de un servidor este sea remplazado en cuestión de minutos. Además, permite liberar el servidor dañado para su análisis mientras el nuevo servidor ya esta prestando servicio. Así evitamos que el proceso de análisis de los sucedido afecte la prestación del servicio. Los sistemas de gestión de configuración permiten disponer de un sistema de recuperación anti desastre ágil e independiente de proveedor e infraestructura. Basta con tener el código de programación que define la configuración de los servidores, los datos y nuevos recursos computacionales.

 

Replicar o sincronizar entornos

Los sistema de configuración de servidores hacen que replicar entornos con las mismas versiones de software sea un proceso trivial. Esto permite establecer flujos de trabajo en los procesos de desarrollo y configuración de sistemas sobre entornos idénticos. Esta practica evita los problemas causados por las diferencias de versiones y configuraciones entre entornos como desarrollo, testing o producción.

 

Mejora la estabilidad de los servidores

Uno de los beneficios de los sistema de gestión de la configuración es la posibilidad de utilizar test automáticos, practica común el los procesos de desarrollo de software. Permite prevenir configuraciones erróneas pasen a producción, detectando estos en etapas anteriores en el proceso de gestión de cambios.

 

Minimizar el impacto del cambio

Debido a que el código de programación se puede versionar mediante un sistema de control de versiones como Git – estos sistemas están muy extendidos en los procesos de desarrollo de software – se puede deshacer un cambio de forma rápida, minimizando así el impacto de un error de configuración sobre el entorno de producción.

 

Auto-documentado

El hecho de disponer de un programa que define el estado de un servidor, hacer que este programa en si mismo sea un inventario detallado del software instalado y de su configuración. Cualquier ingeniero familiarizado con el sistema de configuración utilizado puede aprender rápidamente y hacerse cargo de la infraestructura a gestionar.

 

Escalar rápidamente

Junto a los beneficios de la virtualización, los sistemas de gestión de la configuración permiten desplegar nuevos servidores de forma automática y sin intervención humana. Esta combinación permite disponer de sistemas  autoescalables. Imagina que dispones de una aplicación web que tiene una demanda variable durante el dia, donde en condiciones normales solo requiere de un servidor activo, pero que en las puntas de demanda requiere de cuatro servidores. Con la automatización de la configuración de los servidores y junto a la virtualización podemos disponer un sistema que provisione nuevos servidores cuando la media de cpu utilizada sea superior al 80% o que elimine servidores cuando la media de utilización de la cpu baje del 40%. Esto ajusta los costes a la demanda de los usuarios.
Quiza te gustaría ver el anterior post:

Puede que te inetresen los siguientes posts:

Dejar comentario

Tu dirección de correo no será publicada Los campos requeridos están marcados con *

dieciseis − 12 =