Hola a todos!

Hoy vamos a hablar de Desired State Configuration, o Configuración de Estado Deseado, de ahora en adelante referida como «DSC».

DSC es una plataforma de administración de PowerShell que nos permite administrar toda la infraestructura tanto desde la parte de desarrollo como la de infraestructura IT usando para ello configuración hechas código.

Desired State Configuration es una plataforma de tipo declarativo que se usa para configurarar, implementar y administrar sistemas. 

Esta consta de tres componentes básicos:

  1. Configuraciones.
  2. Recursos.
  3. LCM: Administrador de configuración local.

Vamos a hablar brevemente de cada uno de ellos.

  • Configuraciones: Scripts de PowerShell declarativos, definen y configuran instancias de recursos. Cuando DSC ejecuta la configuración, se ejecuta un «guion» que asegura que el sistema exista en el estado que se haya planificado y programado, sin la más mínima desviación. 
  • Recursos: Contienen el código que coloca y mantiene el destino de una configuración en el estado especificado. Los recursos depende de los módulos de PowerShell, y pueden escribirse para crear un «blueprint» de procesos de Windows, manipulación de archivos, o la configuración de un servidor IIS o la provisión de una VM que se ejecuta on-premises o en Azure.
  • LCM: Motor mediante el que DSC genera la interacción entre recursos y configuraciones. El LCM va consultando cada x tiempo el sistema en el que está trabajando mediante el flujo de control que han implementado los recursos. De esta manera se asegura de que se mantiene el status-quo definido. Si se detecta una desviación, el LCM lanza los scripts para que se vuelva a ejecutar la configuración establecida.

DSC simplifica el modo en que se leen, almacenan y actualizan las configuraciones ya que declaran el estado de los dispositivos de destino, y hacen que no se escriban las instrucciones sobre cómo configurar los dispositivos en un estado dado. 

DSC reduce la curva de aprendizaje, la de adopción e implementación y permiten mantener la configuración de manera automática.

Para la creación de configuraciones se deben capturar el proceso de implementación compleja como un punto único de origen. Y se hace que las configuraciones repetidas de un conjunto de máquinas sean mucho más estables y se eliminen los errores. 

De esta manera se consigue que las implementaciones sean más rápidas y estables (confiables), permitiendo un tiempo de entrega mucho más rápido en implementaciones complejas.

Una de las cosas interesantes que tiene DSC es la compartición de scripts a través de la Galería de PowerShell ya que nos encontraremos con escenarios en los que podemos tener las mismas características y podemos ahorrar bastante tiempo de programación.

PowerShell Gallery | Home

Aquí podemos abrir el clásico debate de ¿cuando empieza a ser rentable que invirtamos en crear estos DSC?

Continuamos mañana 😉

Por jioller

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *