Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Cedric LEBLOND
Retour d'expérience Docker: Puissance et
s...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
GAB 2016 LYON ORAGANIZER
LOCAL SPONSORS
www.iot-world.fr
...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Contexte et objectifs de la démo Docker / VSTS
• Les él...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Lancer un ASP.NET Core "PartsUnlimited" sur un
Raspberr...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
LES ÉLÉMENTS MIS EN PLACE
Repos GitHub, VSTS Team Project...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
L’usine logicielle de la démo
6
ASP.NET Core
Visual Studi...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
LES TECHNOLOGIES DE L’USINE
LOGICIELLE
Mise en œuvre dans...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Ordinateur à <40€
• Linux
• Windows IOT
• Usage multipl...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• ASP.NET 5.0 ASP.NET Core
• Cross-Platform
– Windows
– ...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Docker
– Construire des images de conteneurs (build)
– ...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Conteneurs vs. VM
• Machines virtuelles
– Chaque VM est i...
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 201...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
DevOps – délivrer rapidement de la valeur
Améliorer le fl...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Code Repository
Backlog
Build + Deploy
Monitor and improv...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Construire l’application ASP.NET
– Compiler l’applicati...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Comment pouvons-nous
itérer rapidement, tout en
mainten...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Générer les conteneurs
– Tirer le paquet construit par ...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Release Management (VSTS)
• Continuous Delivery
– Définir...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Comment pouvons-nous obtenir
un feedback au plus tôt de...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
• Créer une mini production
• Déployer à partir simplemen...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
Conteneurs et Azure
• Installer manuellement sur une VM L...
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...
Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE
GAB 2016 LYON ORAGANIZER
LOCAL SPONSORS
www.iot-world.fr
...
Prochain SlideShare
Chargement dans…5
×

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

859 vues

Publié le

Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
859
Sur SlideShare
0
Issues des intégrations
0
Intégrations
12
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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
  • 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)
  • https://github.com/punlimitlab
    https://punlimit.visualstudio.com/DefaultCollection/PartsUnlimited
  • Github  Base ASPNET conteneur// appli Build 
  • http://www.docker.com/products/docker-universal-control-plane
  • 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
  • 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
  • Marathon est l’orchestrateur , Mesos est le cluster
  • Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur Linux / Windows / Raspberry PI

    1. 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. 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. 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. 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. 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. 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. 7. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE LES TECHNOLOGIES DE L’USINE LOGICIELLE Mise en œuvre dans la démonstration 7
    8. 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. 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. 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. 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. 12. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE • Build • Ship • Run Docker Universal Control Plane
    13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 23. Global Azure Bootcamp#GlobalAzure #MUGLyon #AZUGFR LYON - FRANCE App1 App2 Azure Container Services
    24. 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. 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

    ×