Description de la formation Containers
La containerisation répond au besoin de déploiement rapide et de redimensionnement facile des charges de travail. C’est également devenu un format de livraison universel entre les fournisseurs de logiciel et les productions informatiques.
Au-delà des solutions technologiques Docker et Kubernetes dont nous décrirons les bénéfices et les limites, nous détaillerons la philosophie, les concepts d’architecture (découplage du calcul et du stockage,..) et le comportement applicatif attendu (12 facteurs) qui doivent être assimilés par ceux qui conçoivent, transforment et assurent l’exploitation des applications.
Enfin, l’impact sur les organisations (devops, SRE, platform team,..) sera analysé car fondamental au succès des transformations Cloud-Native.
Objectifs
Objectif opérationnel :
Connaître le fonctionnement de la conteneurisation et ses principes d’architecture.
Objectifs pédagogiques :
À l’issue de cette formation Conteunerisation vous aurez acquis les connaissances et les compétences nécessaires pour :
- Connaître les besoins métiers du cloud native
- Maîtriser les concepts des architectures à base de containers
- Comprendre les gains et limites des solutions Docker, Kubernetes et de l’écosysteme
- Comprendre les impacts sur les organisations
À qui s’adresse cette formation ?
Public :
Ce cours Conteneurisation s’adresse à des responsables informatiques, chefs de projet et membres des équipes étude, développement ou infrastructure devant participer à la transformation et au maintien en conditions opérationnelles des applications à base de containers.
Prérequis :
Il est préférable d’avoir déjà travaillé dans un département de développement ou d’infrastructure d’une DSI pour suivre cette formation Conteneurisation.
Contenu du cours Containers
Besoins métiers et principes Cloud Native
Principe des 12 facteurs
Infrastructure as Code (Terraform, Cloud-init, GitOps)
Intégration, déploiement continu (CI/CD)
PaaS, Serverless, Faas
Primitives des Clouds privé/public : stockage objet et bloc, instances, DBaaS…DémosDéploiement d’une application manuellement puis via Terraform/Cloud-init en mode GitOps
Déploiement d’une application en serverless (ex Lambda AWS ou Knative)
Patterns d’architecture
Microservices synchrones et asynchrones
Découplage compute/storage ; replication inter-région
Écosystème CNCF : cache clé/valeur (redis) , file de message (rabbitmq, kakfa), side-car/ambassador (nats/dapr) , broker de base de données (vitess/mysql ; yugabyte/pgsql..)Étude de casTransformation d’un monolithe complexe en application cloud native
Container (Docker)
Concepts de base : immutabilité, image, layers, gestion des variables, registry, problématique réseau et stockage
Automatisation du build avec Dockerfile
Lancement coordonné avec docker-compose
Bénéfices attendus : reproductibilité, manageabilité
Apports en termes d’élasticité, agilité, évolutivitéDémosManipulation des containers. Build autonome et intégration dans pipeline CI
Orchestration de containers (Kubernetes)
Nœuds Master/Workers, concepts de Pods et NameSpace, Secret
Problématique de la localisation du stockage (statefulset, persistent volume)
Présentation des fonctionnalités réseaux (LoadBalancer, Ingress, API Gateway)
Gestion du templating avec le packaging HelmDémosCréation d’un cluster Kubernetes et déploiement d’une application 3 tiers
Mise à l’échelle, déploiement avec reprise sur erreur
Impacts sur les organisations
Équipes de développement et d’infrastructure
Cloud_native patterns : SRE, platform team
Travaux Pratiques
Cette formation propose une alternance (50% / 50%) de théorie et d’illustrations pratiques via des manipulations réalisées par l’animateur pour une meilleure assimilation des connaissances.
La documentation des démonstrations est fournie aux participants.