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
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 : 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
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)
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
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 !
Notes de l'éditeur
Configuration entre application/serveur
ALM
Exécution dans des processus isolés da,s des espaces utilisateurs de l'OS hôte,
Compétiteur rocket de CoreOs
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)