#GlobalAzure
Azure DevOps y Powershell
Desired State Configuration
(DSC)
Fabián Calvo
Experto en cacharros varios...
[email protected]
@rainfc
http://blogs.encamina.com/sextosharepoint/
Agenda
■Que es DSC
■Un Caso Práctico
■Programación Declarativa
■Conclusiones
Guthrie
Approved!!
Retos Diarios
■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
Desired State Configuration
■Es un Framework que se relaciona con Azure Automation, parte de
Powershell 4.0
■Nativo en W2012R2, disponible desde W2008R2 mediante descarga
■Gestión de máquinas en host y nube
■Se integra con herramientas de gestión de la
configuración como Puppet o Chef
■No
instalamos máquinas,
solo
declaramos como deben ser
Cambio de Modelo
Scripts Clásicos
• 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
Motor DSC
Recursos
Retos para aplicación a nivel Empresarial
¿Cómo limito el acceso?
¿Como hago seguimiento de los cambios?
¿Cómo cambio configuraciones sin afectar el
servicio?
Azure DSC
■Nos proporciona un entorno securizado
con control de acceso
■Localización centralizada para:
■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
Execution
Pull Server
Nodo
Configuración
(MOF)
ZIP
Report Data
Authoring
Configuración
(Script)
Recursos
DSC
Staging
Nodo
Configuración
(MOF)
checksum
ZIP
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
La programación Declarativa
■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
Elementos a gestionar
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
Sintaxis
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)
Recursos
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
Pasos de Ejecución
■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
Puntos esenciales
■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
Que utilizar en cada caso
■Orquestar todo el proceso de aprovisionamiento con Azure
Automation o Azure Resource Manager
■Aprovisionar recursos de cloud fabric con Powershell Workflow Activites
usando 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!
DSC vs DCM
DCM
Entorno Estable
Servidores Individuales
Debe estar onPremise
DSC
Entorno muy cambiante
Roles de Servidores
Solución basada en
Nube
[email protected]
@rainfc
http://blogs.encamina.com/sextosharepoint/
Comentarios de: Azure DevOps y Powershell Desired State Configuration (DSC) (0)
No hay comentarios