DevOps et "Containerization"
Lundi 14 Décembre 2015
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
Afterworks 14/12/15 - Agenda
• DevOps
• Virtualisation VS Container
• Docker
• Windows Container / Hyper-V Container
• Nano server
Remerciements
DevOps et "Containerization"
Où comprendre comment le container a rendu possible
l'approche DevOps - Julien CHABLE – Lundi 14 Décembre 2015
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
Agenda
• DevOps
• VM versus Container
• Docker et "Docker for Windows"
• Windows Server container
• Hyper-V container
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"
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
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
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
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
DevOps et
industrialisation
par le container
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
DevOps : une réalité
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
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
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)
Portabilité
• Résolument orienté Cloud
• Changement d'hébergement
(serveur ou fournisseur) simple
et fiable
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
Démonstration
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
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é
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
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
DevOps et "Containerization"
Où comprendre comment le container a rendu possible
DevOps - Julien CHABLE – Lundi 14 Décembre 2015
MERCI POUR VOTRE ECOUTE !

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

  • 1.
  • 2.
    Les afterworks • Partagerl'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.
  • 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 : [email protected] • Mob : +687 95 61 57 • Blog : http://julien.chable.net • Twitter : @JChable
  • 7.
    Agenda • DevOps • VMversus Container • Docker et "Docker for Windows" • Windows Server container • Hyper-V container
  • 8.
    Dev versus Ops Lorsd'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 lerô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 leDevOps • 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.
  • 14.
    DevOps : approchepar 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 : uneré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 pasde 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 dela 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.
  • 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

  • #9 Configuration entre application/serveur
  • #13 ALM
  • #19 Exécution dans des processus isolés da,s des espaces utilisateurs de l'OS hôte,
  • #21 Compétiteur rocket de CoreOs
  • #22 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)