Ingénierie de la Performance et la Planification de la Capacité
Cette formation est conçue pour fournir des connaissances approfondies et une expérience pratique en ingénierie de la performance et en planification de la capacité, en mettant l'accent sur les outils open source. Elle couvre des concepts théoriques, des outils pratiques, et des scénarios réels, garantissant ainsi que les participants acquièrent les compétences nécessaires pour optimiser les performances des systèmes et planifier les besoins futurs en capacité.
Public Cible
Administrateurs Systèmes
Ingénieurs DevOps
Ingénieurs de Fiabilité des Sites (SRE)
Ingénieurs en Tests de Performance
Architectes IT
Développeurs Logiciels
Prérequis
Compréhension de base de l'administration système (Linux/Windows)
Familiarité avec le développement logiciel et les pratiques DevOps
Connaissance de base des réseaux et de l'informatique en nuage
Durée de la Formation
Durée Totale : 8 semaines (3 sessions par semaine, 2 heures par session)
Format : Combinaison de sessions en ligne en direct, d'apprentissage en autonomie, et de laboratoires pratiques
Semaine 1 : Introduction à l'Ingénierie de la Performance
Session 1 : Fondamentaux de l'Ingénierie de la Performance
Sujets :
Qu'est-ce que l'ingénierie de la performance ?
Importance de la performance dans les logiciels et les systèmes
Principaux indicateurs de performance (Temps de réponse, Débit, Latence, etc.)
Ingénierie de la performance vs. Tests de performance
Activité Pratique :
Analyse des indicateurs de performance d'une application échantillon en utilisant des outils de surveillance de base (ex : top, htop, Windows Performance Monitor).
Ressources :
"Web Performance in Action" de Jeremy L. Wagner
Session 2 : Comprendre l'Architecture Système
Sujets :
Composants du système et leur impact sur la performance (CPU, Mémoire, Disque, Réseau)
Architecture d'application (Monolithique vs. Microservices)
Goulots d'étranglement communs en matière de performance
Activité Pratique :
Cartographie de l'architecture d'un système donné et identification des goulots d'étranglement potentiels en matière de performance.
Ressources :
"Designing Data-Intensive Applications" de Martin Kleppmann
Session 3 : Introduction aux Tests de Charge
Sujets :
Bases des tests de charge
Types de tests de charge : Stress, Spike, Soak, et tests de capacité
Outils pour les tests de charge (Apache JMeter, Gatling, Locust)
Activité Pratique :
Mise en place d'un test de charge simple en utilisant Apache JMeter sur une application web échantillon.
Ressources :
Semaine 2 : Outils et Techniques de Tests de Performance
Session 4 : Tests de Charge Avancés avec JMeter
Sujets :
Conception de plans de test avancés dans JMeter
Tests de charge distribués avec JMeter
Analyse des résultats des tests de charge
Activité Pratique :
Création d'un scénario de test de charge complexe dans JMeter et exécution dans un environnement distribué.
Ressources :
"Master Apache JMeter from Basics to Expert Level" (cours Udemy)
Session 5 : Tests de Performance avec Gatling
Sujets :
Introduction à Gatling pour les tests de performance
Écriture et exécution de simulations Gatling
Intégration de Gatling avec des pipelines CI/CD
Activité Pratique :
Écriture d'un script Gatling pour tester un point de terminaison API, et analyse des résultats.
Ressources :
Session 6 : Surveillance de la Performance en Temps Réel
Sujets :
Introduction aux outils de surveillance en temps réel (Prometheus, Grafana, New Relic)
Mise en place de tableaux de bord de surveillance
Alertes basées sur les seuils de performance
Activité Pratique :
Mise en place d'un tableau de bord Grafana pour surveiller la performance d'une application web en temps réel.
Ressources :
Semaine 3 : Fondamentaux de la Planification de la Capacité
Session 7 : Introduction à la Planification de la Capacité
Sujets :
Qu'est-ce que la planification de la capacité ?
Importance de la planification de la capacité dans l'infrastructure IT
Concepts clés : Utilisation des ressources, évolutivité, et prévision de la demande
Activité Pratique :
Analyse des données historiques pour prévoir les besoins futurs en ressources à l'aide d'outils simples comme Excel.
Ressources :
"Capacity Planning for Web Services: Metrics, Models, and Methods" de Daniel A. Menasce
Session 8 : Outils et Techniques de Planification de la Capacité
Sujets :
Outils pour la planification de la capacité (AWS Trusted Advisor, Google Cloud Operations Suite)
Techniques pour estimer les besoins futurs en capacité
Planification de la capacité pour les environnements cloud vs. on-premises
Activité Pratique :
Utilisation d'AWS Trusted Advisor pour évaluer et planifier la capacité d'une application basée sur AWS.
Ressources :
Session 9 : Équilibrage de Charge et Auto-Scaling
Sujets :
Importance de l'équilibrage de charge dans la performance et la planification de la capacité
Techniques et bonnes pratiques d'auto-scaling
Mise en œuvre de l'équilibrage de charge et de l'auto-scaling dans les environnements cloud
Activité Pratique :
Configuration de l'auto-scaling pour une application web sur AWS et test de sa réponse sous différentes conditions de charge.
Ressources :
Semaine 4 : Optimisation Avancée des Performances
Session 10 : Techniques d'Optimisation des Performances
Sujets :
Techniques d'optimisation du code
Optimisation des bases de données (Indexation, Optimisation des requêtes)
Stratégies de mise en cache (CDN, Redis, Memcached)
Activité Pratique :
Analyse et optimisation d'une requête SQL lente dans une base de données.
Ressources :
"High Performance MySQL" de Baron Schwartz, Peter Zaitsev, Vadim Tkachenko
Session 11 : Profilage des Applications et Identification des Goulots d'Étranglement
Sujets :
Outils de profilage (VisualVM, YourKit, Py-Spy)
Identification et résolution des goulots d'étranglement dans les applications
Ajustement des performances au niveau du code
Activité Pratique :
Utilisation de VisualVM pour profiler une application Java et identifier les goulots d'étranglement en matière de performance.
Ressources :
Session 12 : Optimisation des Ressources Cloud
Sujets :
Stratégies d'optimisation des coûts dans les environnements cloud
Dimensionnement optimal des ressources cloud
Mise en œuvre de l'étiquetage des ressources pour une meilleure gestion
Activité Pratique :
Analyse et optimisation de l'utilisation des ressources d'une application basée sur le cloud en utilisant Google Cloud Operations Suite.
Ressources :
Semaine 5 : Planification Avancée de la Capacité et Prévision
Session 13 : Techniques de Prévision Avancées
Sujets :
Mé
thodes statistiques pour la prévision de la capacité (Analyse des séries temporelles, Régression) - Outils pour la prévision (R, Python, Excel) - Comprendre les tendances saisonnières et les anomalies
Activité Pratique :
Utilisation de Python et de pandas pour effectuer une analyse des séries temporelles et prévoir les besoins futurs en capacité.
Ressources :
Session 14 : Planification de la Capacité Basée sur des Scénarios
Sujets :
Planification pour les scénarios les plus défavorables
Planification de la capacité pour la reprise après sinistre
Analyse de scénarios et modélisation "et si"
Activité Pratique :
Réalisation d'une analyse de scénarios pour un site de commerce électronique afin de planifier les événements de trafic de pointe.
Ressources :
"Scenario-Based Strategic Planning" de Burkhard Schwenker, Torsten Wulf
Session 15 : Planification de la Capacité pour les Microservices
Sujets :
Défis de la planification de la capacité dans les architectures microservices
Allocation des ressources pour les microservices
Surveillance et mise à l'échelle des microservices
Activité Pratique :
Mise en œuvre de stratégies de planification de la capacité pour une application basée sur des microservices déployée sur Kubernetes.
Ressources :
"Kubernetes: Up & Running" de Kelsey Hightower, Brendan Burns, Joe Beda
Semaine 6 : Études de Cas et Applications Réelles
Session 16 : Étude de Cas - Optimisation des Performances dans une Plateforme E-Commerce à Grande Échelle
Sujets :
Comprendre les défis rencontrés par une grande plateforme de commerce électronique
Stratégies pour optimiser la performance sous forte charge
Leçons tirées des problèmes de performance réels
Activité Pratique :
Analyse d'un incident de performance réel et proposition d'une solution basée sur l'étude de cas.
Ressources :
[Matériaux d'étude de cas pertinents fournis pendant la session]
Session 17 : Étude de Cas - Planification de la Capacité pour une Application Cloud-Native
Sujets :
Défis de la planification de la capacité dans les environnements cloud-native
Techniques utilisées par les grandes entreprises technologiques pour la planification de la capacité
Principaux enseignements et bonnes pratiques
Activité Pratique :
Élaboration d'un plan de capacité pour une application cloud-native hypothétique basée sur l'étude de cas.
Ressources :
[Matériaux d'étude de cas pertinents fournis pendant la session]
Session 18 : Intégration de l'Ingénierie de la Performance avec DevOps
Sujets :
Le rôle de l'ingénierie de la performance dans les pipelines DevOps
Tests de performance continus et surveillance
Automatisation des tâches de performance et de planification de la capacité
Activité Pratique :
Intégration d'un outil de test de performance (ex : Gatling) dans un pipeline CI/CD en utilisant Jenkins ou GitLab CI.
Ressources :
"The DevOps Handbook" de Gene Kim, Jez Humble, Patrick Debois, John Willis
Semaine 7 : Projet Final et Préparation à la Certification
Session 19 : Présentation du Projet Final
Sujets :
Explication des exigences du projet final
Choix entre des projets d'optimisation de la performance ou de planification de la capacité
Définition des jalons et des livrables du projet
Activité Pratique :
Début des travaux sur le projet final, avec l'encadrement des instructeurs.
Ressources :
[Lignes directrices et ressources pour le projet fournies pendant la session]
Session 20 : Travaux de Projet et Révision
Sujets :
Travail pratique sur le projet avec le soutien en temps réel de l'instructeur
Révisions intermédiaires des projets et retours d'information
Activité Pratique :
Poursuite des travaux sur le projet final, avec des retours d'information en temps réel des instructeurs.
Ressources :
[Soutien des instructeurs et ressources supplémentaires fournies pendant la session]
Session 21 : Présentation du Projet Final et Évaluation
Sujets :
Présentation du projet final à la classe
Révision par les pairs et retours des instructeurs
Discussion sur les solutions alternatives et les approches
Activité Pratique :
Présenter et défendre le projet final devant les pairs et les instructeurs.
Ressources :
[Lignes directrices pour la présentation du projet final fournies pendant la session]
Semaine 8 : Apprentissage Continu et Certification
Session 22 : Préparation à la Certification
Sujets :
Vue d'ensemble des certifications pertinentes (ex : Certified Performance Engineering Professional, AWS Certified DevOps Engineer)
Conseils et stratégies pour la préparation à l'examen
Révision des sujets clés et questions pratiques
Activité Pratique :
Passer un examen de certification pratique et discuter des réponses et solutions.
Ressources :
[Guides d'étude pour la certification et examens pratiques]
Session 23 : Construire une Carrière dans l'Ingénierie de la Performance et la Planification de la Capacité
Sujets :
Parcours et opportunités de carrière dans l'ingénierie de la performance et la planification de la capacité
Construire un portfolio et mettre en valeur vos compétences
Réseautage et ressources pour l'apprentissage continu
Activité Pratique :
Élaboration d'un plan personnel d'apprentissage et de croissance professionnelle.
Ressources :
[Ressources de l'industrie et guides de planification de carrière]
Session 24 : Q&R Final et Prochaines Étapes
Sujets :
Session de questions-réponses ouverte pour répondre à toutes les questions restantes
Discussion sur les prochaines étapes après la fin de la formation
Ressources pour l'apprentissage continu et le développement professionnel
Activité Pratique :
Fixer des objectifs personnels pour l'apprentissage continu et l'amélioration.
Ressources :
[Liste des livres recommandés, cours et communautés professionnelles]
Certification
À la fin du cours, les participants recevront une certification d'achèvement, reconnaissant les compétences acquises en ingénierie de la performance et en planification de la capacité. Ils recevront également des conseils et des ressources pour poursuivre des certifications reconnues dans l'industrie.
Apprentissage Continu et Support
Après la formation, les participants auront accès à un forum communautaire où ils pourront discuter des défis, partager des expériences, et demander des conseils aux pairs et aux instructeurs. Des webinaires et ateliers réguliers seront proposés pour aider les participants à rester à jour avec les dernières tendances et outils du domaine.
Last updated