Publicité
Publicité

Contenu connexe

Présentations pour vous(20)

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

Publicité
Publicité

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
Publicité