gab paris 2015 automatisation

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

Upload: aymeric-weinbach

Post on 20-Jul-2015

775 views

Category:

Technology


2 download

TRANSCRIPT

#GlobalAzure

Automa(tisa)tion de votreapplication AzureMarius Zaharia, Maxime Launay

THE BIGGEST

MICROSOFT AZURE

COMMUNITY EVENT192 LOCATIONS

57 COUNTRIES

+10000 PEOPLE

Global Sponsors

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: 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ésde 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 environmentsmanagement tool

■Provisionner un environnementcomposé 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 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 ARM

8. 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

++

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