Microsoft PowerShell DSC

Artículo

Microsoft PowerShell DSC Codificación

En artículos anteriores hice una introducción a la herramienta, también expliqué cuáles eran sus principales características y su funcionamiento interno.

A continuación, voy a profundizar cómo sería trabajar en un script para dar contexto a todo lo que he comentado hasta el momento.

Esquema de un script en PowerShell DSC

Lo primero que hay que conocer para trabajar en PowerShell DSC es como se estructuran los scripts dentro de DSC, para ellos retomaremos los puntos del artículo anterior donde explicábamos las claves de este lenguaje:

  • El bloque de configuración.
  • Uno o varios bloques de Nodos.
  • Uno o varios bloques de recursos.

code-shell-1

Ejemplo de un script en PowerShell DSC

En Internet podemos encontrar scripts muy básicos sobre cómo crear un sitio web, pero en este apartado voy a mostrar un ejemplo más completo.

code-shell-1

Conclusiones

Como he comentado en varias ocasiones a lo largo de estos artículos, desde el punto de vista de DevOps es una herramienta muy interesante que nos permite realizar plantillas de infraestructura como código y tener en ficheros la configuración deseada de nuestros entornos. Además, nos facilita el desarrollo de scripts al minimizar la cantidad de código y hacer que sean más claros.

Por otro lado, como también he comentado este tipo de programación ayuda a proporciona agilidad en los procesos de CI/CD y nos permite una fácil y rápida estabilidad de nuestros entornos.

Desde mi experiencia no puedo decir que todo sean ventajas, se trata de una plataforma “joven” y en continuo crecimiento y aún encontramos cosas que no podemos desarrollar con este sistema como lo haríamos con el PowerShell tradicional. Es cierto que existen recursos específicos para integrar el código PowerShell tradicional y así complementar algunas de esas carencias, a la vez que también nos permiten crear nuestros propios recursos.

A continuación, les dejo un enlace a la página de GitHub donde podéis contactar con los principales desarrolladores de este sistema y abrir un canal de comunicación para revisar vuestras dudas o incluso colaborar en la creación de código: https://github.com/dsccommunity/SharePointDsc

Conoce al autor del artículo

David Martínez

David Martínez es un jefe de equipo con un amplio conocimiento en los siguientes campos:

  • Consultor de SharePoint: administración de las tecnologías de SharePoint Server 2010 y 2013, diseño de la arquitectura de acuerdo con la topología, edición de webparts, webparts, incidencias de correlación de ids, implantación de la arquitectura en las granjas, administración y análisis de pruebas de rendimiento, optimización de Entornos, resolución de fallos de seguridad.
  • Administración del sistema Wintel: administración de los sistemas operativos, resolución de incidentes y optimización de los entornos como técnico de nivel 3. Además del análisis, documentación del entorno y el desarrollo de una arquitectura en HA y DR de las soluciones. La capacitación técnica que tiene es Ingeniería Técnica en Informática de Sistemas por la Universidad de San Antonio de Murcia.