25
#GlobalAzure Automa(tisa)tion de votre application Azure Marius Zaharia, Maxime Launay

Automati(sati)on de votre application Azure

Embed Size (px)

Citation preview

Page 1: Automati(sati)on de votre application Azure

#GlobalAzure

Automa(tisa)tion de votre application AzureMarius Zaharia, Maxime Launay

Page 2: Automati(sati)on de votre application Azure

THE BIGGEST MICROSOFT AZURE COMMUNITY EVENT

192 LOCATIONS57 COUNTRIES

+10000 PEOPLE

Page 3: Automati(sati)on de votre application Azure

Global Sponsors

Page 4: Automati(sati)on de votre application Azure

Marius Zaharia LeCampusAzure.net

About us (1)

• Manager Practice Azure, Econocom-Osiatis

• P-SELLER / AVV Technique pour Microsoft France

• MVP Azure / Architecte Solutions Microsoft

Page 5: Automati(sati)on de votre application Azure

Maxime Launay

About us (2)

• Consultant Azure, Econocom-Osiatis• Azure, Powershell, DevOps

Page 6: Automati(sati)on de votre application Azure

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

Page 7: Automati(sati)on de votre application Azure

■Contexte et objectifs■Concepts■Approche et solution■Mise en route■Conclusion

Agenda

Page 8: Automati(sati)on de votre application Azure

Contexte et objectifs

Page 9: Automati(sati)on de votre application Azure

■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

Page 10: Automati(sati)on de votre application Azure

Concepts d’automatisation

Page 12: Automati(sati)on de votre application Azure

■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

Page 13: Automati(sati)on de votre application Azure

■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)

Page 14: Automati(sati)on de votre application Azure

Other tools

■Configuration Management tool

■Configuration Management tool

■Virtual development environments management tool

Page 15: Automati(sati)on de votre application Azure

■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

Page 16: Automati(sati)on de votre application Azure

Approche et solution

Page 17: Automati(sati)on de votre application Azure

Solution

Page 18: Automati(sati)on de votre application Azure

■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

Page 19: Automati(sati)on de votre application Azure

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

Page 20: Automati(sati)on de votre application Azure

■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

Page 21: Automati(sati)on de votre application Azure

Demo

Page 22: Automati(sati)on de votre application Azure

Conclusion

Page 23: Automati(sati)on de votre application Azure

++■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

Page 24: Automati(sati)on de votre application Azure

Marius Zaharia

Questions ?

[email protected]•@lecampusazure

Maxime Launay

[email protected]

Page 25: Automati(sati)on de votre application Azure

Thanks!