Logo ÉTS
Session
Cours
Responsable(s)

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours :


PLAN DE COURS

Automne 2025
MGL870 : Sujets spéciaux II : génie logiciel (3 crédits)
Surveillance et observabilité des systèmes logiciels





Préalables
Aucun préalable requis




Descriptif du cours
Sujets d'intérêt majeur dans le domaine du génie et familiarisation avec les derniers développements technologiques dans un ou plusieurs domaines de pointe. Sujets particuliers dans différentes spécialités du domaine du génie.



Objectifs du cours

Ce cours de niveau gradué explore des concepts et des techniques avancés dans le domaine de la journalisation et de l'observabilité des logiciels. Les étudiants étudieront la conception, la mise en œuvre et la gestion de systèmes de surveillance et d'observabilité robustes pour garantir la fiabilité, les performances et la résilience systèmes logiciels complexes et de systèmes distribués. À travers une combinaison d'études théoriques et de travaux pratiques, d'études de cas et de projets concrets, les étudiants acquerront une compréhension approfondie des meilleures pratiques de surveillance et d'observabilité ainsi que de leur application dans le développement et les opérations modernes de logiciels.

Néanmoins, l'objectif de ce cours est de maîtriser une variété de technologies cruciales, notamment des logiciels dédiés à l'observation des systèmes tels que Graphana et Prometheus, configurés dans un environnement de système distribué comme Kubernetes. En complément, le cours explorera des techniques avancées d’observation des systèmes, y compris l'analyse approfondie des journaux, la classification méthodique des messages de journalisation et la prédiction proactive des pannes en mobilisant l’intelligence artificielle. Cela favorise une compréhension exhaustive et une application pratique des outils et méthodes essentiels pour une gestion et une optimisation efficaces des systèmes distribués modernes.
 

À la fin du cours, les étudiants devraient être en mesure de :

  • Comprendre les concepts fondamentaux de la journalisation et de l'observabilité des logiciels, notamment les métriques, les alertes, les journaux, la traçabilité et les systèmes distribués.
  • Concevoir et mettre en œuvre des stratégies efficaces de surveillance et d'observabilité pour différents types d'applications logicielles et d'architectures.
  • Analyser et interpréter les données de surveillance collectées pour identifier les problèmes du système, les goulots d'étranglement de performance et les anomalies.
  • Utiliser des outils et des technologies de l'industrie pour la surveillance, les journaux, la traçabilité et la traçabilité distribuée.
  • Développer des stratégies pour gérer et dimensionner les solutions de surveillance et d'observabilité dans des environnements dynamiques et en évolution rapide.
  • Appliquer les principes d'observabilité pour diagnostiquer et résoudre des problèmes complexes dans les systèmes distribués.
  • Collaborer efficacement au sein d'équipes multidisciplinaires pour concevoir et mettre en œuvre des solutions complètes d'observabilité.
     



Stratégies pédagogiques

Le cours sera dispensé sous forme de cours magistraux, de séances pratiques, de discussions de groupe et d'études de cas. Les étudiants auront l'opportunité de travailler sur des projets concrets et d'acquérir une expérience pratique dans la mise en œuvre de solutions de surveillance et d'observabilité.

Les cours seront administrés de façon hybride pour accommoder les personnes étudiantes qui ont des enjeux pour participer en personne. Les personnes étudiants seront invitées à participer d'un serveur Discord du cours, et les séances seront disponible par Zoom de façon synchronisée avec le cours présentiel. Des outils pédagogiques comme Moodle and Wooclap seront utilisés pour le soutien aux activités en classe.




Horaire
Groupe Jour Heure Activité
01 Lundi 18:00 - 21:30 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Mohammed Sayagh Activité de cours Mohammed.Sayagh@etsmtl.ca A-4451
01 Fabio Petrillo Activité de cours fabio.petrillo@etsmtl.ca A-2422



Cours

Cette section présente le plan de cours prévu. Il est à noter que certaines modifications pourraient être proposées au cours du trimestre.

- Survol des pratiques techniques liées à l'observabilité et la surveillance des systèmes : 

  • L'instrumentation des systèmes.
  • Plateformes d'observabilité.
  • Pipeline de la surveillance des systèmes.
  • Les pratiques liés à la surveillance des systèmes. 

- Techniques avancés de la surveillance des systèmes, tel que

  • L'utilisation de l'apprentissage machine pour l'instrumentation des systèmes.
  • Les algorithmes de classification pour l'analyse des fichiers de logs. 
  • La prédiction des pannes en utilisant AiOPs. 

- Ces concepts seront mises en place via deux laboratoires et un projet final.




Laboratoires et travaux pratiques

L'objectif du travail pratique consiste à permettre aux étudiants de mettre en œuvre concrètement les principes en classe. Aussi, l'objectif des travaux pratiques est de permettre aux étudiants de concevoir et de mettre en œuvre un processus de surveillance et observabilité efficace dans le contexte du développement logiciel. Les étudiants auront l'opportunité de appliquer les concepts et les compétences acquises dans le cours projets logiciels réels, en mettant l'accent sur la planification, l'exécution, la surveillance et l'amélioration continue des activités liées à la surveillance et observabilité.

Pendant le cours, vous aurez l'occasion de compléter deux travaux notés. Les spécifications détaillées de chaque travail seront fournies au cours du trimestre.




Évaluation
TP1 50%
TP2 50%



Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.

Dispositions additionnelles

L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation est explicitement autorisée par les enseignants du cours. Toutefois, tout contenu produit et remis dans le cadre de ces activités peut faire l’objet d’une évaluation supplémentaire, que ce soit à l’oral ou par écrit. Si l’étudiant(e) n’est pas en mesure d’expliquer son travail ou de justifier ses choix, cela sera considéré comme du plagiat.




Documentation obligatoire

Batoun et al. (2024). A literature review and existing challenges on software logging practices: From the creation to the analysis of software logs

Majors, C., Fong-Jones, L., Miranda, G. (2022). Observability Engineering. (n.p.): O'Reilly Media. 

Young, T., Parker, A. (2023). Learning OpenTelemetry: Setting Up and Operating a Modern Observability System. Japan: O'Reilly Media, Incorporated.

Julian, M. (2018). Practical Monitoring: Effective Strategies for the Real World. Japan: O'Reilly Media




Ouvrages de références

Hausenblas, M. (2024). Cloud Observability in Action. United States: Manning.Riedesel, J. (2021). Software Telemetry: Reliable Logging and Monitoring. United Kingdom: Manning.Wilkins, P. (2022). Logging in Action: With Fluentd, Kubernetes and More. United States: Manning.

Chuvakin, A., Schmidt, K., Phillips, C. (2012). Logging and Log Management: The Authoritative Guide to Understanding the Concepts Surrounding Logging and Log Management. Netherlands: Elsevier Science.

Pivotto, J., Brazil, B. (2023). Prometheus: Up & Running. United States: O'Reilly Media.

Parker, A., Spoonhower, D., Mace, J., Isaacs, R., Sigelman, B. (2020). Distributed Tracing in Practice: Instrumenting, Analyzing, and Debugging Microservices. United States: O'Reilly Media.

Chapman, R., Holmes, P. (2024). Observability with Grafana: Monitor, Control, and Visualize Your Kubernetes and Cloud Platforms Using the LGTM Stack. United Kingdom: Packt Publishing.

Posta, C. E., Maloku, R. (2022). Istio in Action. United States: Manning.

 




Adresse internet du site de cours et autres liens utiles

Site Web du cours:

voir sur Moodle