2. Les afterworks
• Partager l'expérience et les passions
• Etre un point de rencontre des passionnés de technologies Microsoft
• Réunir et rencontrer des personnes intéressés par les nouvelles technologies
• Axé sur l'échange et le partage
• 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 16/03/2016 - Agenda
• DevOps
• Virtualisation VS Container
• Docker
• Windows Container / Hyper-V Container
• Nano server
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 en pratique
• Intégration continue et Livraison continue
• Code as Infrastructure
• Déploiement continue
• Surveillance continue
15. 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
17. 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
18. 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
19. 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)
21. 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
23. 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
24. Un peu de lecture … pour en savoir plus
• The Phoenix Project
• Next Gen Devops : creating the DevOps
Organisation
• What is DevOps : Infrastructure as code
• Continuous Delivery
25. DevOps et "Containerization"
Où comprendre comment le container a rendu possible
DevOps - Julien CHABLE – Mercredi 16 Mars 2016
MERCI POUR VOTRE ECOUTE !
Notes de l'éditeur
Configuration entre application/serveur
ALM
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)