Concevoir un PaaS Open Source avec Docker

2 jours (14 heures) - Tarif sur demande

 Formation Perspectives et évolution de la DSI

PROGRAMME

Jour 1


RÔLE DES CONTENEURS DANS LES PLATEFORMES CLOUD

• Place du conteneur dans les plateformes cloud (PaaS)
• Exemples : Google App Engine, Heroku et OpenShift

INTRODUCTION AUX CONTENEURS LINUX

• Notion de virtualisation logicielle avec des conteneurs Linux
• Mise en parallèle avec les technologies de virtualisation matérielle, et différences entre une machine
virtuelle et un conteneur
• Architecture générale de LXC : cgroups, namespaces et sécurité (SELinux et AppArmor)

INTRODUCTION À DOCKER

• Historique et présentation de l'outil
• Explication du problème de dépendances logicielles, et la réponse apportée par Docker et les conteneurs Linux
• Présentation de l'architecture et de l'organisation globale du système avec le démon Docker
• Explication de la place que prend Docker dans le mouvement DevOps

GESTION DES CONTENEURS

• Rôle du conteneur comme brique de base du système
• Création et lancement d'un conteneur
• Lancement d'un conteneur en mode démon
• Gestion globale : lancement, suppression, accès aux logs, redémarrage, attachement au conteneur

GESTION DES IMAGES DOCKER

• Système de fichiers en couches (AUFS, Union Mount)
• Création d'une image par sauvegarde des changements d'un conteneur lancé
• Création d'images avec un Dockerfile

SYNTAXE ET PRISE EN MAIN DU DOCKERFILE

• Zoom sur le Dockerfile et les différentes commandes
• Processus de création des couches de fichiers au sein du Dockerfile

UTILISATION DU REGISTRE DOCKER : LE DOCKER HUB

• Le registre Docker et sa place dans la gestion des images
• Présentation du workflow pull / push pour le partage d'images

EXERCICE PRATIQUE : « CRÉATION ET GESTION DE CONTENEURS »

• Introduction à la gestion de conteneurs avec la création ou la suppression de conteneurs

EXERCICE PRATIQUE « CRÉATION D'IMAGE, DOCKERFILE ET REGISTRE »

• Création d'images et manipulation dans un registre
• Mise en pratique du pull/push d'images et création d'un Dockerfile pour construire sa propre image

LIAISON DE CONTENEURS ET RELATION PARENT / ENFANT

• Mapping de ports réseaux entre le conteneur et l'hôte, et liens directs TCP entre conteneurs (relation parent / enfant)
• Utilisation des liens pour créer des applications liées entre elles (exemple du lien entre une base de données et une application web

GESTION ET PARTAGE DES VOLUMES (CONTENEURS DE DONNÉES)

• Création de volumes persistants entre le conteneur et l'hôte
• Explication de son utilité pour la sauvegarde des changements persistants typiquement lors de l'utilisation d'une base de données ou la création de logs
• Création de conteneurs de données pouvant être montés par plusieurs conteneurs à la demande


Jour 2

DÉPLOYER SON ENVIRONNEMENT DE DÉVELOPPEMENT AVEC FIG

• Introduction à Fig
• Création d'un fichier fig.yaml décrivant l'architecture à base de conteneurs Docker
• Déploiement et utilisation de l'architecture déployée pour développer et tester son application

PATTERN "DÉCOUVERTE DE SERVICE" ET "MICRO-SERVICES" AVEC DES CONTENEURS DOCKER

• Présentation du pattern avec l'utilisation de Key/Value stores distribués : etcd et Consul
• Mise en place de l'architecture pour appliquer un pattern de "micro-services"

INTRODUCTION À KUBERNETES

• Présentation de Kubernetes et de son utilisation pour déployer une flotte de conteneurs à large échelle

EXERCICE PRATIQUE : « CRÉATION D'UN ENVIRONNEMENT DE DÉVELOPPEMENT À BASE DE CONTENEURS DOCKER AVEC FIG »

• Prise en main de Fig, un Domain Specific Language dédié à la création d'environnement de développement à base de conteneurs Docker

EXERCICE PRATIQUE « SYNTAXE ET CRÉATION D'UN FICHIER DE DÉPLOIEMENT AVEC FIG »

• Création de conteneurs, ajout d'applications, liens entre conteneurs et montage de volumes au travers d'un exemple complet

EXERCICE PRATIQUE « INTRODUCTION À KUBERNETES ET AU DÉPLOIEMENT DE CONTENEUR À LARGE ÉCHELLE »

• Présentation des concepts et manipulation de Kubernetes

SYNTHÈSE ET PERSPECTIVES

OBJECTIF

Découvrir ce que sont que les conteneurs Linux
Savoir utiliser Docker et son outil en ligne de commande
Créer des conteneurs et lancer des programmes dans des conteneurs
Utiliser le registre Docker et la création d'images à l'aide d'un Dockerfile
Déployer un environnement de développement à l'aide de conteneurs Docker

PUBLIC

Architecte
Développeur
Opérateur
Administrateur
Responsable intégration

PRÉREQUIS

Connaissances de l'environnement Linux
Connaissances de base en programmation ou en scripting

Demande d'informations


Liste des sous-pages