Développement sur OpenStack
Public Cible : Développeurs, ingénieurs cloud, et professionnels IT ayant une expérience préalable avec les concepts de base du cloud computing et des environnements Linux.
Prérequis: maitriser les concepts du cloud computing et les environnements linux
Durée Totale : 5 jours (40 heures)
Objectif de la Formation : Acquérir les compétences nécessaires pour développer, déployer et intégrer des applications et des services sur la plateforme OpenStack.
Méthodologie Pédagogique
Approche Pratique : L'apprentissage par la pratique est priorisé avec des labs et des projets réels.
Progression Pédagogique : La formation évolue du développement des services de base à des scénarios complexes.
Support Continu : Les participants bénéficient d'une assistance régulière, de feedbacks, et de sessions de discussion.
Travail Collaboratif : Le travail en équipe est encouragé pour favoriser l'échange d'idées et la collaboration.
Plan de Formation : Développement sur OpenStack
Durée Totale : 8 semaines (40 heures)
Sessions hebdomadaires : 2 sessions de 2 heures chacune
Labs & Hands-on : 4 heures par semaine
1ere journée : Introduction à OpenStack et à l'Environnement de Développement
Session 1 : Concepts de Base et Architecture d'OpenStack
Objectifs pédagogiques :
Comprendre les concepts fondamentaux d'OpenStack et son architecture.
Identifier les principaux services d'OpenStack et leur rôle.
Contenu :
Introduction à OpenStack : Historique, communauté, et cas d'utilisation.
Architecture d'OpenStack : Composants principaux (Nova, Neutron, Glance, Keystone, Swift, Cinder).
Cycle de vie d'une instance et interaction entre les services OpenStack.
Hands-on :
Installation d'un environnement de développement OpenStack (DevStack) sur une machine virtuelle.
Exploration des services d'OpenStack via Horizon (le tableau de bord web).
2ème journée : Configuration de l'Environnement de Développement
Objectifs pédagogiques :
Préparer un environnement de développement pour OpenStack.
Configurer les outils et les dépendances nécessaires pour le développement sur OpenStack.
Contenu :
Introduction à DevStack pour l'installation d'OpenStack sur une machine locale.
Configuration des environnements Python et Git pour le développement sur OpenStack.
Présentation des outils de développement : IDE, débogueurs, outils de test.
Hands-on :
Installation de DevStack sur une machine locale pour l'environnement de développement.
Configuration de Git et clonage du code source d'OpenStack.
Configuration d'un environnement virtuel Python et installation des dépendances.
3ème journée: Développement d'APIs et de Services OpenStack
Session 1 : Développement d'APIs avec OpenStack
Objectifs pédagogiques :
Comprendre la structure des APIs dans OpenStack.
Développer et étendre les APIs OpenStack existantes.
Contenu :
Présentation de l'architecture RESTful des APIs OpenStack.
Exploration des APIs Nova, Neutron, et Glance.
Développement et extension des APIs OpenStack : Ajout de nouvelles fonctionnalités.
Hands-on :
Analyse des APIs OpenStack via la documentation et Postman.
Développement d'une nouvelle API ou extension d'une API existante dans Nova.
Test de l'API développée via des requêtes REST.
Session 2 : Création de Services et Microservices OpenStack
Objectifs pédagogiques :
Apprendre à développer un nouveau service ou microservice dans OpenStack.
Comprendre le cycle de vie et l'architecture d'un service OpenStack.
Contenu :
Introduction au développement de services dans OpenStack : Structure du code, interactions entre services.
Développement d'un microservice avec Oslo (la bibliothèque de base pour les services OpenStack).
Intégration du nouveau service dans l'écosystème OpenStack : Communication avec RabbitMQ et interaction avec d'autres services.
Hands-on :
Création d'un microservice simple avec Oslo.
Intégration du service développé avec d'autres composants d'OpenStack.
Test et validation du service via l'environnement DevStack.
4ème journée: Interaction avec les Services de Calcul (Nova) et Réseautage (Neutron)
Session 1 : Développement sur le Service de Calcul (Nova)
Objectifs pédagogiques :
Apprendre à développer des fonctionnalités spécifiques pour le service Nova.
Personnaliser le comportement du gestionnaire de calcul dans OpenStack.
Contenu :
Architecture de Nova : Interaction avec les hyperviseurs, gestion des instances.
Développement de fonctionnalités avancées pour la gestion des instances (ex: gestion des ressources, extensions d'API).
Introduction à la personnalisation des schémas de placement et des stratégies de planification.
Hands-on :
Développement d'une fonctionnalité spécifique dans Nova (ex: une nouvelle stratégie de planification).
Extension du gestionnaire de calcul pour ajouter des options de configuration avancées.
Test des nouvelles fonctionnalités développées dans un environnement de simulation.
Session 2 : Développement sur le Service de Réseautage (Neutron)
Objectifs pédagogiques :
Comprendre la structure de Neutron et développer des extensions pour le réseau.
Développer des plugins et des drivers pour gérer les réseaux dans OpenStack.
Contenu :
Introduction à l'architecture de Neutron : Gestion des réseaux, sous-réseaux, routeurs.
Développement de plugins et drivers Neutron pour gérer les réseaux physiques et virtuels.
Intégration des solutions de réseautage tierces avec Neutron.
Hands-on :
Développement d'un plugin Neutron pour gérer un réseau spécifique (ex: VLAN, VXLAN).
Extension d'un driver Neutron pour prendre en charge de nouveaux équipements de réseau.
Test du plugin ou driver développé dans un environnement de test Neutron.
5ème journée: Développement d'Interfaces et Intégration de Services
Session 1 : Développement de Dashboards avec Horizon
Objectifs pédagogiques :
Apprendre à développer des extensions pour le tableau de bord Horizon.
Personnaliser l'interface utilisateur pour répondre à des besoins spécifiques.
Contenu :
Introduction à Horizon : Architecture et composants.
Développement de panneaux personnalisés et de plugins pour Horizon.
Intégration de nouvelles fonctionnalités dans le tableau de bord utilisateur.
Hands-on :
Création d'un panneau personnalisé dans Horizon pour une nouvelle fonctionnalité.
Intégration du panneau dans le tableau de bord existant et test de l'interface utilisateur.
Extension d'Horizon pour inclure des graphiques ou des rapports personnalisés.
Session 2 : Intégration et Automatisation avec Heat
Objectifs pédagogiques :
Comprendre comment Heat orchestre les ressources dans OpenStack.
Développer des templates Heat avancés pour orchestrer des déploiements complexes.
Contenu :
Introduction à Heat : Templates, stacks, et ressources.
Développement de templates Heat pour déployer des applications multi-tiers.
Automatisation des déploiements et gestion des dépendances entre services.
Hands-on :
Développement d'un template Heat pour déployer une application complexe (ex: application web multi-niveaux).
Configuration des dépendances et du scaling automatique via Heat.
Test et déploiement du template dans un environnement OpenStack.
6ème journée: Sécurité, Gestion des Identités, et Authentification
Session 1 : Développement sur le Service d'Identité (Keystone)
Objectifs pédagogiques :
Apprendre à développer des extensions et des politiques de sécurité dans Keystone.
Personnaliser l'authentification et l'autorisation dans OpenStack.
Contenu :
Introduction à Keystone : Gestion des utilisateurs, rôles, et projets.
Développement de plugins d'authentification et d'autorisation pour Keystone.
Gestion des domaines et des politiques de sécurité avancées.
Hands-on :
Développement d'un plugin d'authentification pour Keystone.
Personnalisation des politiques RBAC (Role-Based Access Control) dans Keystone.
Test et validation des extensions dans un environnement OpenStack.
Session 2 : Sécurisation et Gestion des Clés avec Barbican
Objectifs pédagogiques :
Comprendre comment sécuriser les données et gérer les clés de chiffrement dans OpenStack.
Développer des solutions sécurisées pour la gestion des secrets et des certificats.
Contenu :
Introduction à Barbican : Service de gestion des secrets et des clés.
Développement d'applications sécurisées intégrées avec Barbican.
Automatisation de la gestion des certificats et des secrets pour les services OpenStack.
Hands-on :
Développement d'une application utilisant Barbican pour stocker et gérer les secrets.
Automatisation de la génération et de la rotation des certificats avec Barbican.
Intégration de la gestion des clés dans un workflow sécurisé.
7ème journée : Automatisation et Orchestration Avancées
Session 1 : Orchestration de Déploiements Complexes avec Mistral
Objectifs pédagogiques :
Apprendre à automatiser des workflows complexes dans OpenStack avec Mistral.
Intégrer des services OpenStack dans des workflows orchestrés.
Contenu :
Introduction à Mistral : Moteur d'orchestration des workflows.
Développement de workflows Mistral pour automatiser des tâches complexes.
Intégration de Mistral avec d'autres services OpenStack (Heat, Nova, Neutron).
Hands-on :
Développement d'un workflow Mistral pour automatiser une chaîne de déploiement d'applications.
Intégration des services OpenStack dans le workflow pour orchestrer les ressources.
Test et validation du workflow dans un environnement de simulation.
Session 2 : Développement de Services Auto-Scaling avec Senlin
Objectifs pédagogiques :
Comprendre comment implémenter des solutions d'auto-scaling dans OpenStack.
Développer et configurer des services d'auto-scaling basés sur les métriques.
Contenu :
Introduction à Senlin : Moteur de clustering et d'auto-scaling dans OpenStack.
Développement de politiques d'auto-scaling pour gérer les charges de travail dynamiques.
Intégration de Senlin avec Ceilometer pour surveiller les performances et ajuster les ressources.
Hands-on :
Création et configuration de clusters avec Senlin.
Développement de politiques d'auto-scaling basées sur les métriques de performances.
Test et ajustement des stratégies d'auto-scaling dans un environnement OpenStack.
8ème journée : Monitoring, Testing et Optimisation
Session 1 : Surveillance et Monitoring des Applications OpenStack
Objectifs pédagogiques :
Apprendre à surveiller les applications et services développés dans OpenStack.
Mettre en place des solutions de monitoring pour garantir la performance et la disponibilité.
Contenu :
Introduction à Monasca et Ceilometer pour le monitoring des services.
Développement de tableaux de bord de surveillance personnalisés.
Configuration d'alertes pour la détection proactive des incidents.
Hands-on :
Configuration de Monasca pour surveiller les services développés dans OpenStack.
Création de tableaux de bord Grafana pour visualiser les métriques en temps réel.
Mise en place d'alertes pour surveiller la santé des applications.
Session 2 : Testing et Optimisation des Performances
Objectifs pédagogiques :
Apprendre à tester les performances des services et applications dans OpenStack.
Optimiser les performances des services en fonction des résultats des tests.
Contenu :
Introduction aux outils de test de performance (ex: Rally, Tempest).
Techniques d'optimisation des performances pour les services OpenStack.
Analyse des résultats des tests et ajustements des configurations.
Hands-on :
Exécution de tests de performance sur les services OpenStack avec Rally.
Analyse des résultats et identification des goulots d'étranglement.
Optimisation des services OpenStack en fonction des résultats obtenus.
9ème journée : Projet Final et Clôture de la Formation
Session 1 : Développement et Implémentation du Projet Final
Objectifs pédagogiques :
Appliquer toutes les compétences acquises pour développer une solution complète sur OpenStack.
Intégrer, tester, et optimiser une solution OpenStack basée sur un cas d'utilisation réel.
Contenu :
Conception du projet final : Définition des objectifs et des exigences techniques.
Développement et intégration des services nécessaires pour le projet.
Sécurisation, test, et optimisation de la solution développée.
Hands-on :
Développement d'un projet final basé sur un cas d'utilisation spécifique.
Intégration et test des services développés dans un environnement OpenStack.
Optimisation et documentation de la solution pour la présentation finale.
Session 2 : Présentation du Projet Final et Clôture de la Formation
Objectifs pédagogiques :
Présenter le projet final et démontrer les solutions techniques mises en œuvre.
Réviser les concepts clés de la formation et discuter des futures opportunités.
Contenu :
Présentation des projets finaux devant les formateurs et les pairs.
Discussion sur les points forts et les axes d’amélioration.
Bilan de la formation et perspectives de carrière.
Hands-on :
Présentation finale du projet : Démonstration et résultats.
Discussion libre et échanges de feedback.
Last updated