#GlobalAzure
Automa(tisa)tion de votre
application Azure
Marius Zaharia, Maxime Launay
THE BIGGEST
MICROSOFT AZURE
COMMUNITY EVENT
192 LOCATIONS
57 COUNTRIES
+10000 PEOPLE
Global Sponsors
Groupe Econocom
2,0 Md€ de CA
en pro forma* en 2013
1,77 Md€ consolidé
collaborateurs
8 300
pays
20
40 ans
d’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: 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
■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
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 construction
1. 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 ARM
8. Scripter l’upload des artefactes dans le stockage (" PushResources.ps1 ")
B. Exécution
A. 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
++
■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
marius@lecampusazure.net
maxime.launay@econocom-osiatis.com
Thanks!

Automati(sati)on de votre application Azure

  • 1.
    #GlobalAzure Automa(tisa)tion de votre applicationAzure Marius Zaharia, Maxime Launay
  • 2.
    THE BIGGEST MICROSOFT AZURE COMMUNITYEVENT 192 LOCATIONS 57 COUNTRIES +10000 PEOPLE
  • 3.
  • 6.
    Groupe Econocom 2,0 Md€de CA en pro forma* en 2013 1,77 Md€ consolidé collaborateurs 8 300 pays 20 40 ans d’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
  • 7.
    ■Contexte et objectifs ■Concepts ■Approcheet solution ■Mise en route ■Conclusion Agenda
  • 9.
    ■Contexte: applicatifs etsystè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
  • 11.
    ■Azure Service ManagementAPI ■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
  • 12.
    ■Infrastructure As Code ■Simplifyconfiguration ■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
  • 13.
    ■Nouveau concept de code déclaratifde déploiement ■Nouvelle API Azure fournie avec/à la base du nouveau portail Azure ■Template (JSON) ■Exécution intélligente Azure Resource Manager (ARM)
  • 14.
    Other tools ■Configuration Managementtool ■Configuration Management tool ■Virtual development environments management tool
  • 15.
    ■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
  • 17.
  • 18.
    ■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
  • 19.
    A. Conception etconstruction 1. 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 ARM 8. Scripter l’upload des artefactes dans le stockage (" PushResources.ps1 ") B. Exécution A. 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
  • 20.
    ■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
  • 23.
    ++ ■Mécanismes très puissants ■Niveauhost (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
  • 24.
  • 25.