Introducción a PowerShell DSC – DevOps – Parte 3 | PowerShell

En la parte 1 de esta serie de entregas orientadas a PowerShell DSC – DevOps, vimos los nuevos desafíos que trae la nube con su paradigma, la transformación que deben hacer los profesionales de IT, las herramientas que facilitan el camino hacia dicha transformación y la introducción sobre PowerShell Desire State Configuration (DSC) con sus conceptos y funcionamiento básico.

En la parte 2, vimos cómo generar el código necesario para nuestro archivo de configuración con un ejemplo real.

En esta ocasión, finalizáremos el aprovisionamiento de nuestro sitio LaCasa. Por lo que veremos las fases de Staging y Make it So.

Escenario:

Pueden consultar el escenario con el cual estamos trabajando, en la entrega anterior.

Staging Phase:

Como se puede observar en la siguiente imagen, en el servidor destino no hay roles ni características de servidor instalados hasta el momento:

000

Abrimos en PowerShell ISE, el archivo PS1 que escribimos hasta el momento en el servidor DC-NG-01:

Configuration LaCasaWebSite {

param(
[string[]]$TargetComputer
)

node $TargetComputer{

    #Instalación de rol IIS
    WindowsFeature IIS
    {

        Ensure = 'Present'
        Name = 'Web-Server'

    }

    #Instalación de ASP .NET 4.5
    WindowsFeature ASP
    {

            Ensure = 'Present'
            Name = 'Web-Asp-Net45'

    }

    #CopiadoArchivos
    File LaCasaSourceCode
    {
        Ensure = 'Present'
        Type =  'Directory'
        Recurse = $true
        SourcePath = '\\DC-NG-01\LaCasaSourceCode'
        DestinationPath = '%systemdrive%\inetpub\wwwroot'

    } 

}

Hacemos click en ejecutar o presionamos F5, para correr el código y que pase a memoria.

Luego debemos ejecutar el siguiente cmdlet para generar el archivo MOF de configuración:

LaCasaWebSite -TargetComputer NG-VM-RDG01 -OutputPath C:\Temp

Como pueden ver, se ejecuta mediante el nombre de la configuración que generamos y los parámetros. Para nuestro caso LaCasaWebSite y el parámetro TargetComputer.

Una vez ejecutado obtenemos por resultado el archivo MOF, que se genera por defecto sobre el perfil del usuario en una carpeta con el nombre de la configuración. En nuestro caso:

C:\Temp\LaCasaWebSite

002

Ya estamos listos para realizar el despliegue.

Make it So Phase

En este momento estamos parados en el servidor DC-NG-01, como se muestra en la siguiente imagen:

001

Desde dicho servidor, ejecutamos desde una consola de PowerShell, el siguiente cmdlet:

Start-DscConfiguration -Path "C:\Temp\" -Wait -Verbose

Luego de ejecutarlo, veremos el log de todas las actividades que se están llevando a cabo para realizar la configuración:

003

004

Una vez finalizado, ingresamos a la URL que tenemos configurado para el acceso externo por el puerto 80 en nuestro Cloud Service de Azure donde implementamos el equipo virtual:

4

Como vemos en la imagen, ya estas desplegado y configurado rápidamente nuestro sitio web.

Conclusión:

En esta serie de 3 articulo, vimos que es DSC, como nos ayuda con los nuevos paradigmas de nube, entrega continua, auto-corrección y monitoreo de nuestros servicios.

A su vez nos facilita el camino a la hora de generar nuestro código para el despliegue o configuración. Escribimos menos cantidad de líneas, es más legible y fácil de transmitir.

Esto es solo un pequeño ejemplo sencillo para que puedan observar el potencial de esta herramienta de configuración.

Si desean volver a ver los otros artículos:

¡Espero que les sea útil!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: