Upload
julien-chable
View
271
Download
0
Embed Size (px)
Citation preview
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 CHABLESocié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
Agenda• DevOps
• VM versus Container
• Docker et "Docker for Windows"
• Windows Server container
• Hyper-V container
Dev versus OpsLors 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 !