SlideShare une entreprise Scribd logo
1  sur  25
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Cedric LEBLOND
Retour d'expérience Docker: Puissance et
simplicité de VSTS, déploiement sur
Linux / Windows / Raspberry PI
1
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
GAB 2016 LYON ORAGANIZER
LOCAL SPONSORS
www.iot-world.fr
Prochaine édition
21 et 22 mars 2016 à Paris
2
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Contexte et objectifs de la démo Docker / VSTS
• Les éléments mis en place
– Repo GitHub, VSTS, Docker Hub
– ASP.NET Core sur conteneurs Docker Linux, Windows, ARM
• Les technos de l’usine logicielle
– Raspberry PI
– ASP.NET, Docker
– VSTS Build, Release Management
– Azure Container Service
SOMMAIRE
3
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Lancer un ASP.NET Core "PartsUnlimited" sur un
Raspberry PI 2 au sein d'un conteneur Docker Linux.
• Mise en place d’un pipeline de build et déploiement
avec VSTS
Contexte – Démo soirée Geek du 16 mars
4
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
LES ÉLÉMENTS MIS EN PLACE
Repos GitHub, VSTS Team Project, Docker Hub
ASP.NET Core sur conteneurs Docker Linux, Windows,
Raspberry PI (ARM)
5
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
L’usine logicielle de la démo
6
ASP.NET Core
Visual Studio
Docker
VSTS BUILD
Compiler, tester,
publier le site
Créer images ASP.NET
Déclencher
la build
Azure Container Service
Mesos / Marathon
Déployer les
conteneurs
Déclencher
le déploiement
Docker Hub
Tirer les images
(docker build)
Publier les images
(docker publish)
Machines Linux,
Windows, ARM
Créer images
(docker build)
GitHub
punlimitlab
Tirer les
sources
Publier les
changements
VSTS Release
Management
Déclencher
la release
Créer images du site
Démarrer le site
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
LES TECHNOLOGIES DE L’USINE
LOGICIELLE
Mise en œuvre dans la démonstration
7
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Ordinateur à <40€
• Linux
• Windows IOT
• Usage multiples
– Server
– Media center
– IOT
– …
Raspberry PI pour notre démo
8
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• ASP.NET 5.0 ASP.NET Core
• Cross-Platform
– Windows
– Linux
– Mac
– iOS
– Android
ASP.NET Core pour notre démo
9
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Docker
– Construire des images de conteneurs (build)
– Pour les OS Linux (Debian), Windows (2016), Raspberry
(ARM)
– Exécuter les conteneurs (run)
• Docker Hub
– Partager les images
– Déployer vers des instances de production
Docker et Docker Hub pour notre démo
10
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Conteneurs vs. VM
• Machines virtuelles
– Chaque VM est indépendante, OS complet
– Isolation complète
– Frameworks d’application séparés
– Support de fonctionnalités comme la
migration à chaud
• Conteneurs
– OS de l’hôte partagé
– Proche d’un démarrage instantané
– Process dans les conteneurs sont isolés
– Les librairies et services applicatifs
dépendants sont liés au conteneur (couches)
– Tous les conteneurs partagent sur une
machine la même version d’OS invité
Physical Server
Guest OS w/ Docker
ASP.NET Core
Parts Parts Music Music
Guest OS Guest OS
App
Framework
App
Framework
App
A
App
A
Guest OS
App
Framework
App
B
Hypervisor
App
Framework
App
C
App
C
Guest OS
App
Framework
App
C
Physical Server
Hypervisor
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Build
• Ship
• Run
Docker Universal Control Plane
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Publier le site dans une VM Azure
– Linux
– Windows 2016
Technical Preview
– Construit le package du site
– Build l’image du conteneur
à partir du dockerfile
– Run le conteneur
Visual Studio 2015 Tools for Docker - Preview
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
DevOps – délivrer rapidement de la valeur
Améliorer le flux de
valeur métier
Raccourcir les temps de
cycle
Réduire les coûts
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Code Repository
Backlog
Build + Deploy
Monitor and improve
Automated Testing User Feedback
Visual Studio Team Services
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Construire l’application ASP.NET
– Compiler l’application
– Tester unitairement l’application
– Créer un package unique
• Construire les images ASP.NET de base
– Image ASP.NET Mono pour ARM à partir du dockerfile
– Image ASP.NET Clr x64 pour Windows 2016 Technical preview
– (utilisation image officielle ASP.NET Mono pour Linux (Debian)
VSTS Build pour notre démo
17
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Comment pouvons-nous
itérer rapidement, tout en
maintenant la qualité?
• Recommendations:
– Configurer une build automatisée
qui se déclenche à chaque commit
– Créer des tests automatisés et les
éxecuter pendant notre Build
– Utiliser une solution de test
fonctionnel cloud
Continuous Integration (CI)
18
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Générer les conteneurs
– Tirer le paquet construit par la build
– Tirer l’image de base
– Construire les images ASP.NET
• Démarrer les conteneur en Test
• Publier les conteneurs dans docker Hub
– Activer uniquement pour un déploiement manuel
– Indisponible pour Windows en mars 2016
Release Management pour notre démo
19
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Release Management (VSTS)
• Continuous Delivery
– Définir par environnement un pipeline
– Déclencher manuellement ou via une build
réussie
• Règles d’approbation
– Configurer les approbations par
environnement
– Demandes de validations manuelles
• Visibilité de la Release
– Vue par environnement du statut de la
release
– Suivre la release jusqu’au commit
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Comment pouvons-nous obtenir
un feedback au plus tôt des
testeurs et early adopters?
• Recommendations:
– Etablir et suivre un programme de beta
pour collecter le feedback
– Automatiser le déploiement des nouvelles
build depuis le serveur de build CI
– Monitorer l’usage et les rapports d’erreurs
au plus tôt
Continuous Delivery (CD)
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Créer une mini production
• Déployer à partir simplement du Docker Hub
• Utilisation de la preview cluster Mesos
Azure Container Service pour notre démo
22
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Conteneurs et Azure
• Installer manuellement sur une VM Linux
• Inclus dans Windows Server 2016 TP
• Docker-Machine
• Marketplace
– Pré-insatllé sur Ubuntu
– Applications composées de multiples conteneurs (ex: Wordpress+mySQL)
– Docker Trusted Registry, Jenkins, …
• ARM Templates
– Docker Swarm, Kubernetes, MesoSphere
• Azure Container Service
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
App1
App2
Azure Container Services
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• À L’équipe
– Pierre-Henri Gache @phgache
– Cédric Derue @cderue
– Vincent Thavonekham @vThavo
– Cédric Leblond @leblond_c
• Et pour leur aide et soutien à
– Hypriot : http://blog.hypriot.com/
– Microsoft
Merci à vous !
25
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
GAB 2016 LYON ORAGANIZER
LOCAL SPONSORS
www.iot-world.fr
Prochaine édition
21 et 22 mars 2016 à Paris
26

Contenu connexe

Tendances

Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
Luis Lopez
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 

Tendances (20)

Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 

En vedette

ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
ICHEC-PME - présentation stratégie de contenu - 20 mars 2015ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
Frédéric Wauters
 
Lejournaldesindignes3
Lejournaldesindignes3Lejournaldesindignes3
Lejournaldesindignes3
WKTL-Agency
 
Stratégies alternatives (Biblioquest, Montpellier, 2012)
Stratégies alternatives (Biblioquest, Montpellier, 2012)Stratégies alternatives (Biblioquest, Montpellier, 2012)
Stratégies alternatives (Biblioquest, Montpellier, 2012)
Le Lirographe
 
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
Inno³
 
G06 propuesta f
G06 propuesta fG06 propuesta f
G06 propuesta f
tallera
 
Tabulador salarial 2012 con fecha 1 de octubre
Tabulador salarial 2012 con fecha 1 de octubreTabulador salarial 2012 con fecha 1 de octubre
Tabulador salarial 2012 con fecha 1 de octubre
Jorge Murillo
 

En vedette (20)

ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
ICHEC-PME - présentation stratégie de contenu - 20 mars 2015ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
ICHEC-PME - présentation stratégie de contenu - 20 mars 2015
 
Calendario academico2013general 1
Calendario academico2013general 1Calendario academico2013general 1
Calendario academico2013general 1
 
Lejournaldesindignes3
Lejournaldesindignes3Lejournaldesindignes3
Lejournaldesindignes3
 
Arb 8 virtu
Arb 8 virtuArb 8 virtu
Arb 8 virtu
 
ASA-SHS - Présentation de l'atelier Archives Rencontre des Cultures
ASA-SHS - Présentation de l'atelier Archives Rencontre des CulturesASA-SHS - Présentation de l'atelier Archives Rencontre des Cultures
ASA-SHS - Présentation de l'atelier Archives Rencontre des Cultures
 
E crm-wdgold-lite
E crm-wdgold-liteE crm-wdgold-lite
E crm-wdgold-lite
 
Stratégies alternatives (Biblioquest, Montpellier, 2012)
Stratégies alternatives (Biblioquest, Montpellier, 2012)Stratégies alternatives (Biblioquest, Montpellier, 2012)
Stratégies alternatives (Biblioquest, Montpellier, 2012)
 
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
Présentation de l’ouvrage « Option Libre. Du bon usage des licences libres »
 
Colloqvivm aestivvm
Colloqvivm aestivvmColloqvivm aestivvm
Colloqvivm aestivvm
 
Cr pôle com 11.05.10.lnk
Cr pôle com 11.05.10.lnkCr pôle com 11.05.10.lnk
Cr pôle com 11.05.10.lnk
 
Urdu 48
Urdu 48Urdu 48
Urdu 48
 
EUROPA DESDE EL CIELO
EUROPA DESDE EL CIELOEUROPA DESDE EL CIELO
EUROPA DESDE EL CIELO
 
Presentacion1 alberto villar
Presentacion1 alberto villarPresentacion1 alberto villar
Presentacion1 alberto villar
 
G06 propuesta f
G06 propuesta fG06 propuesta f
G06 propuesta f
 
LAS MIL ISLAS DE CANADÁ
LAS MIL ISLAS DE CANADÁLAS MIL ISLAS DE CANADÁ
LAS MIL ISLAS DE CANADÁ
 
Tabulador salarial 2012 con fecha 1 de octubre
Tabulador salarial 2012 con fecha 1 de octubreTabulador salarial 2012 con fecha 1 de octubre
Tabulador salarial 2012 con fecha 1 de octubre
 
Previa Casamiento de Chupe y Naty
Previa Casamiento de Chupe y NatyPrevia Casamiento de Chupe y Naty
Previa Casamiento de Chupe y Naty
 
ANIMALES VERTEBRADOS
ANIMALES VERTEBRADOSANIMALES VERTEBRADOS
ANIMALES VERTEBRADOS
 
Faites la différence grâce au web !
Faites la différence grâce au web !Faites la différence grâce au web !
Faites la différence grâce au web !
 
Convocatorias IMJUVE
Convocatorias IMJUVEConvocatorias IMJUVE
Convocatorias IMJUVE
 

Similaire à Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur Linux / Windows / Raspberry PI

Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
Microsoft Technet France
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
vlabatut
 

Similaire à Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur Linux / Windows / Raspberry PI (20)

[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
 
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
 
Le Bulletin Azure épisode 1
Le Bulletin Azure épisode 1Le Bulletin Azure épisode 1
Le Bulletin Azure épisode 1
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec Azure
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans Azure
 
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 ParisMarius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
Déploiement automatisé d'un environnement dans Azure
Déploiement automatisé d'un environnement  dans AzureDéploiement automatisé d'un environnement  dans Azure
Déploiement automatisé d'un environnement dans Azure
 
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
[Gab2016] Déploiement automatisé d'un environnement dans Azure - Manon Pernin
 
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
 
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
 
[GAB2016] La gestion des identités avec Azure - Maxime Rastello
[GAB2016] La gestion des identités avec Azure - Maxime Rastello [GAB2016] La gestion des identités avec Azure - Maxime Rastello
[GAB2016] La gestion des identités avec Azure - Maxime Rastello
 

Plus de Cédric Leblond

Mes Outils Kanban, tout un programme !
Mes Outils Kanban, tout un programme !Mes Outils Kanban, tout un programme !
Mes Outils Kanban, tout un programme !
Cédric Leblond
 

Plus de Cédric Leblond (9)

Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 
Mes outils électroniques Agile, tout un programme!
Mes outils électroniques Agile, tout un programme!Mes outils électroniques Agile, tout un programme!
Mes outils électroniques Agile, tout un programme!
 
Mes Outils Kanban, tout un programme !
Mes Outils Kanban, tout un programme !Mes Outils Kanban, tout un programme !
Mes Outils Kanban, tout un programme !
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Bon App - Création collaborative de maquettes efficaces
Bon App -  Création collaborative de maquettes efficacesBon App -  Création collaborative de maquettes efficaces
Bon App - Création collaborative de maquettes efficaces
 
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
 
Agile Tour 2012 Paris - Nouveaux Outils Agile MS
Agile Tour 2012 Paris - Nouveaux Outils Agile MS Agile Tour 2012 Paris - Nouveaux Outils Agile MS
Agile Tour 2012 Paris - Nouveaux Outils Agile MS
 
Je démarre avec TFS 2012
Je démarre avec TFS 2012Je démarre avec TFS 2012
Je démarre avec TFS 2012
 
Actionner ses processus qualité avec Visual Studio ALM
Actionner ses processus qualité avec Visual Studio ALMActionner ses processus qualité avec Visual Studio ALM
Actionner ses processus qualité avec Visual Studio ALM
 

Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur Linux / Windows / Raspberry PI

  • 1. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE Cedric LEBLOND Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur Linux / Windows / Raspberry PI 1
  • 2. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE GAB 2016 LYON ORAGANIZER LOCAL SPONSORS www.iot-world.fr Prochaine édition 21 et 22 mars 2016 à Paris 2
  • 3. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Contexte et objectifs de la démo Docker / VSTS • Les éléments mis en place – Repo GitHub, VSTS, Docker Hub – ASP.NET Core sur conteneurs Docker Linux, Windows, ARM • Les technos de l’usine logicielle – Raspberry PI – ASP.NET, Docker – VSTS Build, Release Management – Azure Container Service SOMMAIRE 3
  • 4. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Lancer un ASP.NET Core "PartsUnlimited" sur un Raspberry PI 2 au sein d'un conteneur Docker Linux. • Mise en place d’un pipeline de build et déploiement avec VSTS Contexte – Démo soirée Geek du 16 mars 4
  • 5. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE LES ÉLÉMENTS MIS EN PLACE Repos GitHub, VSTS Team Project, Docker Hub ASP.NET Core sur conteneurs Docker Linux, Windows, Raspberry PI (ARM) 5
  • 6. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE L’usine logicielle de la démo 6 ASP.NET Core Visual Studio Docker VSTS BUILD Compiler, tester, publier le site Créer images ASP.NET Déclencher la build Azure Container Service Mesos / Marathon Déployer les conteneurs Déclencher le déploiement Docker Hub Tirer les images (docker build) Publier les images (docker publish) Machines Linux, Windows, ARM Créer images (docker build) GitHub punlimitlab Tirer les sources Publier les changements VSTS Release Management Déclencher la release Créer images du site Démarrer le site
  • 7. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE LES TECHNOLOGIES DE L’USINE LOGICIELLE Mise en œuvre dans la démonstration 7
  • 8. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Ordinateur à <40€ • Linux • Windows IOT • Usage multiples – Server – Media center – IOT – … Raspberry PI pour notre démo 8
  • 9. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • ASP.NET 5.0 ASP.NET Core • Cross-Platform – Windows – Linux – Mac – iOS – Android ASP.NET Core pour notre démo 9
  • 10. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Docker – Construire des images de conteneurs (build) – Pour les OS Linux (Debian), Windows (2016), Raspberry (ARM) – Exécuter les conteneurs (run) • Docker Hub – Partager les images – Déployer vers des instances de production Docker et Docker Hub pour notre démo 10
  • 11. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE Conteneurs vs. VM • Machines virtuelles – Chaque VM est indépendante, OS complet – Isolation complète – Frameworks d’application séparés – Support de fonctionnalités comme la migration à chaud • Conteneurs – OS de l’hôte partagé – Proche d’un démarrage instantané – Process dans les conteneurs sont isolés – Les librairies et services applicatifs dépendants sont liés au conteneur (couches) – Tous les conteneurs partagent sur une machine la même version d’OS invité Physical Server Guest OS w/ Docker ASP.NET Core Parts Parts Music Music Guest OS Guest OS App Framework App Framework App A App A Guest OS App Framework App B Hypervisor App Framework App C App C Guest OS App Framework App C Physical Server Hypervisor
  • 12. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Build • Ship • Run Docker Universal Control Plane
  • 13. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Publier le site dans une VM Azure – Linux – Windows 2016 Technical Preview – Construit le package du site – Build l’image du conteneur à partir du dockerfile – Run le conteneur Visual Studio 2015 Tools for Docker - Preview
  • 14. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE DevOps – délivrer rapidement de la valeur Améliorer le flux de valeur métier Raccourcir les temps de cycle Réduire les coûts
  • 15. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE Code Repository Backlog Build + Deploy Monitor and improve Automated Testing User Feedback Visual Studio Team Services
  • 16. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Construire l’application ASP.NET – Compiler l’application – Tester unitairement l’application – Créer un package unique • Construire les images ASP.NET de base – Image ASP.NET Mono pour ARM à partir du dockerfile – Image ASP.NET Clr x64 pour Windows 2016 Technical preview – (utilisation image officielle ASP.NET Mono pour Linux (Debian) VSTS Build pour notre démo 17
  • 17. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Comment pouvons-nous itérer rapidement, tout en maintenant la qualité? • Recommendations: – Configurer une build automatisée qui se déclenche à chaque commit – Créer des tests automatisés et les éxecuter pendant notre Build – Utiliser une solution de test fonctionnel cloud Continuous Integration (CI) 18
  • 18. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Générer les conteneurs – Tirer le paquet construit par la build – Tirer l’image de base – Construire les images ASP.NET • Démarrer les conteneur en Test • Publier les conteneurs dans docker Hub – Activer uniquement pour un déploiement manuel – Indisponible pour Windows en mars 2016 Release Management pour notre démo 19
  • 19. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE Release Management (VSTS) • Continuous Delivery – Définir par environnement un pipeline – Déclencher manuellement ou via une build réussie • Règles d’approbation – Configurer les approbations par environnement – Demandes de validations manuelles • Visibilité de la Release – Vue par environnement du statut de la release – Suivre la release jusqu’au commit
  • 20. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Comment pouvons-nous obtenir un feedback au plus tôt des testeurs et early adopters? • Recommendations: – Etablir et suivre un programme de beta pour collecter le feedback – Automatiser le déploiement des nouvelles build depuis le serveur de build CI – Monitorer l’usage et les rapports d’erreurs au plus tôt Continuous Delivery (CD)
  • 21. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Créer une mini production • Déployer à partir simplement du Docker Hub • Utilisation de la preview cluster Mesos Azure Container Service pour notre démo 22
  • 22. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE Conteneurs et Azure • Installer manuellement sur une VM Linux • Inclus dans Windows Server 2016 TP • Docker-Machine • Marketplace – Pré-insatllé sur Ubuntu – Applications composées de multiples conteneurs (ex: Wordpress+mySQL) – Docker Trusted Registry, Jenkins, … • ARM Templates – Docker Swarm, Kubernetes, MesoSphere • Azure Container Service
  • 23. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE App1 App2 Azure Container Services
  • 24. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • À L’équipe – Pierre-Henri Gache @phgache – Cédric Derue @cderue – Vincent Thavonekham @vThavo – Cédric Leblond @leblond_c • Et pour leur aide et soutien à – Hypriot : http://blog.hypriot.com/ – Microsoft Merci à vous ! 25
  • 25. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE GAB 2016 LYON ORAGANIZER LOCAL SPONSORS www.iot-world.fr Prochaine édition 21 et 22 mars 2016 à Paris 26

Notes de l'éditeur

  1. 1. Ce qui' on a voulu :  Faire du nouveau avec des technos re  : Docker, ASP.NET vNext, Raspberry   Pas de dev : utilisation PartsUnlimited disposition sur GitHub + montrer appli sur webapps Azure Le partager avec Github  Créer une Build pipeline et Continuous Delivery 2. Le résultat  Github page Lien vers le site linux, windows, mesos, Docker hub  Récupérer et lancer localement le conteneur sur PI ! -->  vous assister à une première mondiale ASP.Net 3. La Team ! 4. Le schéma du pipeline Bien inclure les 3 couches d'images Expliquer 1ou 2 choix Partie détail Technos et leur apport 5.Raspberry PI  1slide rapide 6. Docker -->démo Linux + Push docker hub 7. Azure Container Services Slides Build --> démo windows (mêmes commandes ou presque) 8. VSTS (Build + RM) partie principale DevOps Ne rien cacher Remontrer schéma global Montrer nos essais
  2. Notre démo principale est de faire tourner le site ASP.NET Core "PartsUnlimited" sur un Raspberry PI 2 au sein d'un conteneur Docker Linux. Du pure Geek, personne n'a encore fait cela à notre connaissance ;) Le Rasperry PI 2 est un objet connecté. Nous enverrons ces données de télémétrie vers IOT Azure. Nous allons aussi mettre en place un pipeline de build et déploiement avec VSTS, et pousserons les sources modifiées automatiquement vers GitHub. (et pourquoi pas créer une pull request vers le repo d'origine)
  3. https://github.com/punlimitlab https://punlimit.visualstudio.com/DefaultCollection/PartsUnlimited
  4. Github  Base ASPNET conteneur// appli Build 
  5. http://www.docker.com/products/docker-universal-control-plane
  6. https://visualstudiogallery.msdn.microsoft.com/0f5b2caa-ea00-41c8-b8a2-058c7da0b3e4 Attention , changement depuis mars la partie création du host Docker est basé sur docker-machine
  7. Pour noter démonnstration, il s’agit surtout de conserver une trace vivante et actice de ce que l’on a appris . Et l’appliquer sur de vrais projets
  8. Marathon est l’orchestrateur , Mesos est le cluster