Transcript

#GlobalAzure

Azure DevOps y PowershellDesired State Configuration (DSC)

Fabián Calvo

Experto en cacharros varios...

@rainfc

http://blogs.encamina.com/sextosharepoint/

[email protected]

■Que es DSC

■Programación Declarativa

■Un Caso Práctico

■Conclusiones

Agenda

Guthrie Approved!!

■Muchos servidores a configurar con diferentes roles

■Configurar servidores de forma rápida para escalar

■Servidores con configuración idéntica

■Servidores con diferente configuración

■Personas con capacidad de alterar la configuración

■Actualizaciones de Configuración

■Equipos diferentes para diferentes “partes” de configuración

Retos Diarios

■Es un Framework que se relaciona con Azure Automation, parte dePowershell 4.0

■Nativo en W2012R2, disponible desde W2008R2 mediante descarga

Desired State Configuration

■Gestión de máquinas en host y nube

■Se integra con herramientas de gestión de laconfiguración como Puppet o Chef

■No instalamos máquinas, solodeclaramos como deben ser

Cambio de Modelo

• Resolución de Dependencias

• Configuración deseada (Intent)

• Logging y Gestión de Errores

• Resilencia al reinicio• Repetición de la

Automatización• Específicos por Tecnología

Configuración

Recursos

Motor DSC

Scripts Clásicos

Retos para aplicación a nivel Empresarial

¿Cómo cambio configuraciones sin afectar el servicio?

¿Como hago seguimiento de los cambios?

¿Cómo limito el acceso?

■Nos proporciona un entorno securizado con control de acceso

■Localización centralizada para:

Azure DSC

■Credenciales

■Programaciones

■Certificados

■Conexiones

■Variables

■Módulos

■Nos proporciona información actual e histórica de forma visual y detallada

■Y nos permite integrar nuestro código con control de código fuente

Modelos de Ejecución: Push vs Pull

ZIP

Configuración(Script)

Recursos DSC

Nodo Configuración

(MOF)

Authoring Staging

checksum

Execution Pull Server

ZIPNodo

Configuración(MOF)

Report Data

Relación entre DSC y Azure Resource Manager (ARM)

Resource Manager Definir Infraestructura

Un modelo de ejecución

Permite instalar software

Permite definir Templates y programación gráfica

DSC Configurar Infraestructura

Ejecución periódica y capacidad de corregir o avisar

Permite instalar software

Permite configuraciones “Parciales” y dos modos de ejecución

100 % Compatibles. Trabajan mejor juntos

■Paradigma distinto de la Imperativa (haz uno, luego dos, luego tres)

■Se establecen objetivos, afirmaciones o restricciones

■Con las declaraciones se establece el estado final correcto

■Más cercana al lenguaje natural

La programación Declarativa

Habilitar o deshabilitar roles y características

Gestionar configuraciones de Registro

Gestionar Archivos y Características

Arrancar, para y gestionar proceso y servicios

Gestionar usuarios locales, y grupos

Desplegar nuevos paquetes de software

Gestionar variables de entorno

Ejecutar Scripts de Powershell

Elementos a gestionar

Se añaden dos palabras reservadas a Powershell: Configuration y Node

Configuration define una familia de configuraciones en las que normalmente existe una relación

Node define las características asociadas comúnmente con un rol

Cada Node se convertirá en un fichero MOF que se subirá al servidor de configuraciones (incluido en la cuenta de Azure Automation)

Sintaxis

Estándar:

File, User, Group, WindowsFeature, Service, Registry, Package, Environment

Custom:

GitHub: https://github.com/Powershell/

xSQLServer, xSharePoint, xNetworking, xDnsServer, xExchange, xWebAdministration, xWindowsUpdate, xStorage, xDisk

Otros Recursos:

ResKit Wave 10

Repositorio GitHub: PowerShell/DSCResources

Recursos

■Compilar configuración en un conjunto de ficheros (MOF) para cada servidor

# Compile MOF files for each assigned server

SharePointHost -NodeName "SP2013SV1","SP2013SV12"

■Ejecutar Start-DSCConfiguration para copiar el fichero y ejecutar la

configuración

# Copy MOF file to node(s) and invoke the configuration

Start-DSCConfiguration -Path .\ SharePointHost -Wait -Verbose –Force

■O registro a través del Portal de Azure

Pasos de Ejecución

■Azure Automation simplifica la automatización y la

configuración a través de nubes e infraestructura local

■DSC: fiable, alta disponibilidad, y escalablilidad

■Azure DSC: DSC con seguridad, escenarios pull y push, y

servicio de reporting

■Se integra de forma nativa con ARM

Puntos esenciales

■Aprovisionar recursos de cloud fabric con Powershell Workflow Activitesusando Azure Runbooks

■Configurar el sistema operativo y requisitos de aplicación dentro de las

máquinas virtuales de Azure con Powershell DSC

■Publicar las configuraciones de Powershell DSC a una cuenta de Azure Automation

■Usar los Agentes de Azure VM para aplicar las configuraciones de Powershell DSC

■Muy recomendable: Ojo con las versiones!

Que utilizar en cada caso

■Orquestar todo el proceso de aprovisionamiento con Azure Automation o Azure Resource Manager

DSC vs DCM

DCM

Entorno Estable

Servidores Individuales

Debe estar onPremise

DSC

Entorno muy cambiante

Roles de Servidores

Solución basada en Nube

@rainfc

http://blogs.encamina.com/sextosharepoint/

[email protected]


Top Related