#GlobalAzure
Automa(tisa)tion de votre application AzureMarius Zaharia, Maxime Launay
THE BIGGEST MICROSOFT AZURE COMMUNITY EVENT
192 LOCATIONS57 COUNTRIES
+10000 PEOPLE
Global Sponsors
Marius Zaharia LeCampusAzure.net
About us (1)
• Manager Practice Azure, Econocom-Osiatis
• P-SELLER / AVV Technique pour Microsoft France
• MVP Azure / Architecte Solutions Microsoft
Maxime Launay
About us (2)
• Consultant Azure, Econocom-Osiatis• Azure, Powershell, DevOps
Groupe Econocom
2,0 Md€ de CA
en pro forma* en 20131,77 Md€ consolidé
collaborateurs
8 300
pays
20
40 ansd’expérience
Millions d’actifs technologiques gérés en 2013
6,3
dont 650 M€ en Services en pro forma*443 M€ consolidé
>100 M€de Résultats Opérationnels Courants en pro forma*89 M€ en consolidé Le 22 novembre 2013, Econocom a finalisé l'acquisition
de la totalité du capital d'Osiatis, acteur majeur des services aux infrastructures et spécialiste des
applications connexes. * Osiatis inclus sur 12 mois
■Contexte et objectifs■Concepts■Approche et solution■Mise en route■Conclusion
Agenda
Contexte et objectifs
■Contexte: applicatifs et systèmes divers:■IaaS : VMs de tout type, réseaux virtuels, env. hybride on/off
premises■PaaS : sites web, cloud services, apps mobiles, bases de données,
…■Hybride: IaaS / PaaS [ / SaaS]
■OBJECTIF■Déployer / provisionner des environnements applicatifs
standardisés de manière automatisée et répétable
CIBLE : l’environnement applicatif
Concepts d’automatisation
■Azure Service Management API■PowerShell : “Manage your Azure services and apps using
scripts from the command line.”Install Documentation Browse script center■Azure Automation : “Simplify cloud management with
process automation.” Console-as-a-Service. Schedule or one-shot.
Get started Automation Library Authoring Runbooks Backing up Azure Automation
Azure / PowerShell / Automation
■Infrastructure As Code■Simplify configuration■Prevent configuration drift■Enable continuous deployment■Create an ecosystem
■Three phases■Authoring Phase■Staging ■“Make it So”
Powershell Desired State Configuration (DSC)
Configuration MyConfig { Param( … ) Node ‘localhost’ { … }}
Node 1 … Node n
■Nouveau concept de code déclaratif de déploiement
■Nouvelle API Azure fournie avec/à la base du nouveau portail Azure
■Template (JSON)
■Exécution intélligente
Azure Resource Manager (ARM)
Other tools
■Configuration Management tool
■Configuration Management tool
■Virtual development environments management tool
■Provisionner un environnement composé de:
■Storage Account■Virtual Network■VMs IaaS de Back End
■Active Directory■SQL Server
■SQL Express installé à la volée■Avec provisionnement d’une base■Ouverture de port et parefeu pour SQL
■Site Web frontal – Azure Web App
Exemple CIBLE: App web hybride IaaS / PaaS
Virtual Network w/ subnet
Cloud Service
Azure Web App
Storage Account
Active Directory SQL Server
Approche et solution
Solution
■Azure Resource Manager : 1 template ARM unifié■Déployer par groupe de ressource pour provisionner à la fois tout
l’environnement.■Reprise du provisionnement pour les déploiements partiels/non
aboutis■Déprovisionnement facile: suppression du groupe
■PowerShell DSC : 1 script unifié pour les ressources IaaS (VMs)■Référencé directement dans le template ARM
■Spécifique : pour SQL Server - configuration INI, script SQL■Site Web: package de déploiement buildé par Visual Studio (projet
Cloud Deployment)■Le tout lancé dans PowerShell (pour exécutions multiples de
provisionnement)■Artefacts (templates, package, MSI, ISO etc.) à monter dans un
stockage Azure disponible■Azure Automation : exécution du script (**** PAS IMPLEMENTE ****)
Solution
A. Conception et construction1. ARM : Trouver le template de chaque ressource Azure du groupe (?)2. Le puzzle du template ARM. Assembler des templates individuels
(“environnement.json”)3. Script PowerShell d’exécution ARM ("Environment.ps1")4. DSC: déployer des fonctionnalités dans les VMs (Windows)
("eoBootCampDSC.ps1")5. Encore des fonctionnalités: enrichir le DSC avec des fichiers de configuration et scripts
spécifiques (ex. install SQL) ("ConfigurationFile.ini", "database.sql")6. Intégrer le DSC dans te template ARM (via PowerShell DSC VM extension)7. Le package Web App: intégrer le déploiement de website dans le template ARM8. Scripter l’upload des artefactes dans le stockage (" PushResources.ps1 ")
B. ExécutionA. Exécution one-shot de l’upload des artefactes (" PushResources.ps1 ")B. Exécution (x fois) du script de déploiement ("Environment.ps1")
C. Nettoyage : Suppression (manu/script) du groupe de ressource
Approche
■Portail Azure (preview) http://portal.azure.com ■téléchargement de templates ARM
■Resource Explorer https://resources.azure.com/ ■Visualisation des structures et valeurs d’objets Azure
■Visual Studio – (nouveau) type de projet Cloud App■génération de scripting et template ARM pour déploiement■génération de package web
■PowerShell [ISE]
■Documentation / Script center■Azure Resource Manager Template Language
Outillage
Demo
Conclusion
++■Mécanismes très puissants
■Niveau host (Azure)■Niveau guest (Windows mais aussi Linux)■Ressources PaaS
■Degré élevé d’automatisation (voire complet)--■Intégration incomplète à jour : fiabilité – à suivre■Templates perfectibles/encore à venir■Intégration parfois difficile avec legacy config & scripting
Conclusion
Thanks!