Publicité
Publicité

Contenu connexe

Présentations pour vous(20)

Publicité
Publicité

Afterworks @Nouméa - DevOps, approche par container et Docker

  1. DevOps et "Containerization" Lundi 14 Décembre 2015
  2. Les afterworks • Partager l'expérience et les passions • Etre un point de rencontre des passionnés de technologie Microsoft • Réunir et rencontrer des personnes intéressés par les nouvelles technologies • Axé sur l'échange • Evènement "Non Microsoft" (officiel) • Retrouvez-nous sur : • Facebook "Afterworks Nouméa" : https://www.facebook.com/groups/afterworks.communautes.noumea/ • Lien : https://lescommunautesms-public.sharepoint.com/afterworks
  3. Afterworks 14/12/15 - Agenda • DevOps • Virtualisation VS Container • Docker • Windows Container / Hyper-V Container • Nano server
  4. Remerciements
  5. DevOps et "Containerization" Où comprendre comment le container a rendu possible l'approche DevOps - Julien CHABLE – Lundi 14 Décembre 2015
  6. Speaker Julien CHABLE Société : NCIT – Consultant SharePoint & .NET Most Valuable Professional SharePoint Server Certifications : • MCT & MCP SharePoint 2010/2013 Compétences : • SharePoint • Office 365 & Azure • Développement .NET Me contacter : • Email : julien.chable@ncit.nc • Mob : +687 95 61 57 • Blog : http://julien.chable.net • Twitter : @JChable
  7. Agenda • DevOps • VM versus Container • Docker et "Docker for Windows" • Windows Server container • Hyper-V container
  8. Dev versus Ops Lors d'un déploiement : Ops : "Ton appli se déploit pas !" Dev : "Ca marche sur ma machine" Ops : "C'est pas mon serveur, c'est ton code"
  9. Les différences … • Le déconnexion entre ces publics amène à des conflits et un manque d'efficacité • Les Devs ne déploient pas des applications exemptes de bugs • Les Ops sont motivés pour résister au changement • Le processus de développement est Agile • Le processus opérationnel est statique
  10. Quel est le rôle des Devs et des Ops • Développeur • Crée le changement • Ajout ou modifie des fonctionnalités (et des bugs) • Ops • Crée la stabilité du service • Crée ou améliorer les services
  11. N'oublions pas que … • Nous sommes tous là pour apporter des fonctionnalités et des solutions aux utilisateurs • Le changement : • … est requis pour améliorer le fonctionnement de l'entreprise et de sa compétitivité/efficacité • … ne signifie pas une rupture • … doit être exploité et non craint
  12. Qu'est-ce que le DevOps • C'est une approche qui relie le fossé entre le développement logiciel agile et les opérations • Un esprit collaboratif entre les Devs et les Ops • Pour les Ops, ce que Agile est au développement logiciel pour les Devs • C.A.M.S. : Culture, Automation, Measurement, Sharing
  13. DevOps et industrialisation par le container
  14. DevOps : approche par container • Dans un monde idéal : • Je suis un développeur : • Je fabrique un container pour mon application (frameworks, dépendances, etc) • Je ne m'occupe pas du stockage, réseau, etc • Je suis un opérateur : • Je lance des containers (et pas besoin de les modifier) • J'arrange la plomberie stockage/réseau selon mon référentiel
  15. DevOps : une réalité
  16. Machine virtuelle • Ressemble à une machine physique • Boot, noyau, drivers • Système d'exploitation • Utilitaires et framework • Processeur et RAM dédiée • Stockage dédié (dont OS et autres dépendances) • Communique avec l'extérieur via des périphériques virtuels • La virtualisation aujourd'hui : • Virtualiser le processeur et la mémoire : (relativement) facile • Virtualiser le stockage et le réseau : (plus) difficile  défaillances, plusieurs composants doivent interagir
  17. Container • N'essaie pas de ressembler à une machine physique • Pas de boot, de noyau, de drivers • Pas d'OS, d'utilitaires, … • Exécute du code dans un processus (qui tourne sur le noyau hôte) • Communique avec l'extérieur via des appels systèmes • Analogie à une machine virtuel (CLR, JVM) • Exécution de MSIL/bytecode, communication via les APIs • Pas de noyau, OS, … juste l'application Un container inclut les applications et les dépendances mais partage l'OS avec les autres containers
  18. Avantage du container • Elimination du risque de dépendances manquantes  Le Dev livre sa machine • Isolation des applications • Densification des serveurs applicatifs • Amélioration de la consistance des environnements • Réutilisation des images (configuration + application) • Accélération des déploiements et des livraisons vers les utilisateurs • Plus de fiabilité ( Devs <-> Ops)
  19. Portabilité • Résolument orienté Cloud • Changement d'hébergement (serveur ou fournisseur) simple et fiable
  20. Docker • Réutilisation de la fonctionnalité du container Linux existante dans le kernel (mais trop complexe à mettre en œuvre) • Leader du container en 2015 • Projet open source : • https://github.com/docker/docker • Disponible nativement sur Linux • Docker Hub dispose de 100 000 images
  21. Démonstration
  22. Docker et Windows • Même expérience Docker sur Windows que sur Linux • Windows 7.1, 8/8.1 (Windows 10 non supporté) • Windows Server 2016 (TP4 aujourd'hui) propose 2 types de containes : • Windows Server container • Hyper-V container
  23. Windows Server container • Implémentation des containers Docker sur Windows Server • Peut-être gérer avec les clients Docker (même ligne de commande) et PowerShell • Chaque application s'exécute dans son propre espace utilisateur, isolant les containers sur l'OS partagé
  24. Windows Server Container - Limites • Une isolation insuffisante (l'isolation user-mode  partage du kernel). Sur un tenant de confiance (entreprise), cela n'est pas un souci. Sur un multi- tenant Cloud, un tenant pourrait essayer d'utiliser le noyau partagé pour attaquer les autres tenants • Il existe une dépendance avec la version de l'OS hôte et le niveau de patch qui peut causer des soucis si un patch est déployé sur l'hôte qui pourrait rendre inopérationnel les applications  Solution : Hyper-V container
  25. Hyper-V container • Nouveauté dans Windows Server 2016 • Exécution du container en silo dans une VM Hyper-V légère et sans état • VM Hyper-V invisible : identifié comme un processus
  26. DevOps et "Containerization" Où comprendre comment le container a rendu possible DevOps - Julien CHABLE – Lundi 14 Décembre 2015 MERCI POUR VOTRE ECOUTE !

Notes de l'éditeur

  1. Configuration entre application/serveur
  2. ALM
  3. Exécution dans des processus isolés da,s des espaces utilisateurs de l'OS hôte,
  4. Compétiteur rocket de CoreOs
  5. sudo docker run –it ubuntu bash sudo docker run –it tomcat:7 /bin/bash Sudo docker run –d –P tomcat:7 (se connecter localhost:32768 ou suivant)
Publicité