infrastructure as a code
DESCRIPTION
Infrastructure as a code in DevOpsTRANSCRIPT
![Page 1: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/1.jpg)
Michel Hubert – MVP Azure
Idriss Selhoum
Infrastructure as a Code
![Page 2: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/2.jpg)
Sommaire
• Infra-as-code, kesako ?
• PowerShell DSC
• Azure Resource Manager
• PowerShell v5 : OneGet et JEA
• Q&A
![Page 3: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/3.jpg)
Kesako ?
Infrastructure as Code
![Page 4: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/4.jpg)
Infrastructure as Code
• Automatisation des procesus
▪ Provisioning d’infrastructure (Compute, Network and Storage)
▪ Installation et configuration
• Versioning des scripts de provisioning et d’automatisation
▪ Evolution des infrastructures
▪ Réduire les erreurs liées aux interventions humaines
• Réduire le temps de mise à disposition des plateformes
DevOps
![Page 5: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/5.jpg)
PowerShell DSC
![Page 6: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/6.jpg)
6
Desired State Configuration (Intro)
Operating System
Middleware
Applications & Services
Virtualization
Application Deployment
Desired State Configuration
![Page 7: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/7.jpg)
7
Windows OS
PowerShell v4
Local Configuration Manager WINRM
DSC Resources
DSC
Desired State Configuration (Composants)
![Page 8: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/8.jpg)
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
![Page 9: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/9.jpg)
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)
![Page 10: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/10.jpg)
10
Authoring
Managed Object Framework
Apply configuration
![Page 11: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/11.jpg)
demo
![Page 12: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/12.jpg)
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
![Page 13: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/13.jpg)
demo
![Page 14: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/14.jpg)
Infra-as-a-code pour Azure
Azure Resource Manager
![Page 15: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/15.jpg)
Resource Group
Resource Group est une unitéde gestion
Lifecycle: déploiement, mise à jour, suppression, statut
Identity: devient une partie de l’identité des ressources contenues
Grouping: Mesures, factration, quota: appliqué à un groupe
Access Control: Support des permissions RBAC
RESOURCE GROUP
![Page 16: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/16.jpg)
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êmeniveau de management ?
Réponse:
A vous de decider .
![Page 17: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/17.jpg)
Templates
Azure Templates permettent de :• Assurer l’idempotence
• Simplifier l’Orchestration des ressources
• Simplifier le Roll-back
• Fournir une configuration Cross-Ressource
Azure Templates sont : • Des fichiers sources, checked-in
• Décrivent les ressources et leurs dépendances
(VMs, WebSites, DBs) e les connexions (config,
LB sets)
• Paramétrables (input/output)
SQL - A Website VirtualMachines
SQL-AWebsite[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQL Config
![Page 18: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/18.jpg)
Resource Tag
• Assigner des notes aux ressources
• Tag = Clé / Valeur
• Exemple :
▪ Environnement = {Dev, Staging, Prod}
▪ Owner = « … »
▪ Cost Center = 12345
![Page 19: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/19.jpg)
Role Based Access
![Page 20: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/20.jpg)
demo
Azure Resource Manager
![Page 21: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/21.jpg)
OneGet et JEA
PowerShell v5 - preview
![Page 22: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/22.jpg)
OneGet
• Le chainon manquant ? Un compagnon indispensable à
PowerShell DSC
• OneGet est un jeu de comdlets powershell
• OnetGet permet d’installer des packages logiciels à partir
de bibliothèques internes ou externes (ex : Chocolatey)
• OneGet efficace pour se constituer un « Master »
![Page 23: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/23.jpg)
OneGet
• Import-Module –Name OneGet
• Get-Command –Module OneGet
• register-packagesource -Name chocolatey -
Provider PSModule -Trusted -Location
http://chocolatey.org/api/v2/ -Verbose
• Find-Package -Name paint.net,
notepadplusplus |
Install-Package -Force
![Page 24: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/24.jpg)
demo
PowerShell OneGet
![Page 25: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/25.jpg)
PS> Enter-PSSession Server1FAIL! – 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-PSSession Server1 –Config MaintenanceServer1> Restart-Service MSSQLSERVER
Server1
Server1> Steal-SecretsError: You are not authorized to Steal-Secrets
![Page 26: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/26.jpg)
JEA – Just Enough Administration
• La plus grande faille de sécurité : les administrateurs !
• Objectif : Réduire les droits admin▪ Réduire le nb de personnes avec les droits Admin
▪ Réduire le périmètre des privileges admin
▪ Fournir au plus juste des besoins des privileges admin
• Basé sur PowerShell DSC▪ JeaToolkit
– Définir les jeux de commandes supportés
▪ JeaEndPoint
– Point de Management où les utilisateurs sont autorisés
▪ JeaEndPointAccount
– Compte local avec les privileges admin
![Page 27: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/27.jpg)
Exemple
JeaToolkit SQLMaintenace{ Name = ‘SQLMaintenance’
CommandSpecs = @'Module,Name,Parameter,ValidateSet,ValidatePatternSQL,GET-*
,Get-Process,Get-Service,Stop-Process,Name,calc;notepad,Restart-Service,Name,,^SQL
'@}
![Page 28: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/28.jpg)
demo
PowerShell JEA
![Page 29: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/29.jpg)
Merci pour votre attention
Q & A
![Page 30: Infrastructure as a code](https://reader035.vdocuments.mx/reader035/viewer/2022062514/559c64301a28abcc0c8b46cf/html5/thumbnails/30.jpg)
© 2012 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays.
Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce document ne doit
pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE OU STATUTAIRE, EN CE QUI
CONCERNE CETTE PRÉSENTATION.