Infrastructure as Code
•Automatisation des procesus
▪Provisioningd’infrastructure (Compute, Network and Storage)
▪Installation et configuration
•Versioningdes scripts de provisioninget d’automatisation
▪Evolution des infrastructures
▪Réduire les erreurs liées aux interventions humaines
•Réduire le temps de mise à disposition des plateformes DevOps
6
Desired State Configuration (Intro)
Operating SystemMiddlewareApplications & ServicesVirtualizationApplication DeploymentDesired State Configuration
7
Windows OS
PowerShell v4
Local Configuration Manager WINRM
DSC Resources
DSC
Desired State Configuration (Composants)
8
IIS
IIS
SQL
APP
Web Server
Master Deployment
Push
IIS
IIS
SQL
APP
Server
Master Deployment
Pull
Release Manage Deployment Agent
WinRM (HTTP & HTTPS)
Desired State Configuration
9
Authoring Managed Object Framework Apply configuration
1- Vérifier que les ressources DSC
sont installées
2- Vérifier les pré-requis sur la
machine (EnableRemoting et
WinRM)
2- Création de script DSC (fichier
powershell .ps1)
3 - Création du fichier de
configuration (.psd1)
4- Lancement de la configuration
5 - Génération du fichier .MOF 6 - Exécution de la configuration
souhaitée par le LCM (Start-
DSCConfiguration)
Desired State Configuration (Etapes)
12
Ressources
•Les modules PowerShell utilisées par le LCM pour appliquer une configuration
•Get-TargetResource
•Set-TargetResource
•Test-TargetResource
•Microsoft fournit des modules (ex: xWebAdmininstation, xWebSite)
•Les modules DSC sont extensibles
Resource Group
Resource Group estuneunitéde gestion
Lifecycle: déploiement, miseà jour, suppression, statut
Identity: devientunepartiede l’identitédes ressourcescontenues
Grouping:Mesures, factration, quota: appliqué à un groupe
Access Control: Support des permissions RBAC
RESOU
R
CE G
R
OUP
Cycle de vie
Question:
Dois-je mettre mes ressources dans un
seul groupe ou plusieurs?
Indice:
Ont-ils le même cycle de vie et le même
niveau de management ?
Réponse:
A vous de decider .
Templates
Azure Templates permettentde :
•Assurer l’idempotence
•Simplifier l’Orchestrationdes ressources
•Simplifier le Roll-back
•Fourniruneconfiguration Cross-Ressource
Azure Templates sont:
•Des fichierssources, checked-in
•Décriventles ressourceset leursdépendances(VMs, WebSites, DBs) e les connexions(config, LB sets)
•Paramétrables(input/output)
SQL -A
Website
Virtual
Machines
SQL-A
Website
[SQL CONFIG] VM (2x)
DEPENDS ON SQL
DEPENDS ON SQL
SQL Config
Resource Tag
•Assigner des notes aux ressources
•Tag = Clé / Valeur
•Exemple :
▪Environnement = {Dev, Staging, Prod}
▪Owner= «…»
▪CostCenter = 12345
OneGet
•Le chainon manquant ? Un compagnon indispensable à PowerShell DSC
•OneGetest un jeu de comdletspowershell
•OnetGetpermet d’installer des packages logiciels à partir de bibliothèques internes ou externes (ex : Chocolatey)
•OneGetefficace pour se constituer un «Master»
PS> Enter-PSSessionServer1FAIL! –Talk to your supervisor for assistance
“Jeffrey I need to be admin on Server1 to restart SQL”
“No Eddie.
Just connect to the ‘Maintenance’ EndPoint”
PS> Enter-PSSessionServer1 –ConfigMaintenance
Server1> Restart-Service MSSQLSERVER
Server1
Server1> Steal-SecretsError: You are not authorized to Steal-Secrets
JEA –Just EnoughAdministration
•La plus grande faille de sécurité : les administrateurs !
•Objectif : Réduire les droits admin
▪Réduirele nbde personnesavec les droits Admin
▪Réduirele périmètredes privileges admin
▪Fournirau plus justedes besoinsdes privileges admin
•BasésurPowerShell DSC
▪JeaToolkit
–Définirles jeuxde commandessupportés
▪JeaEndPoint
–Point de Management oùles utilisateurssontautorisés
▪JeaEndPointAccount
–Comptelocal avec les privileges admin