Architecture des Microservices

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quel est l'un des principaux avantages des microservices par rapport aux monolithes?

  • Tous les composants sont centralisés
  • Utilisation d'une seule technologie
  • Complexité réduite des déploiements
  • Évolutivité ciblée des services critiques (correct)

Quelle approche de gouvernance est utilisée dans une architecture de microservices?

  • Gouvernance par des instances tierces
  • Gouvernance centralisée pour tous les services
  • Gouvernance décentralisée pour chaque service (correct)
  • Gouvernance uniforme pour la gestion des données

Quel est un inconvénient majeur des architectures microservices?

  • Réduction de la vitesse de développement
  • Aucune possibilité d'utilisation de plusieurs langages
  • Échec de l'isolation des pannes
  • Complexité accrue par rapport aux monolithes (correct)

Quel aspect est essentiel pour la gestion d'une architecture de microservices?

<p>Catalogage approprié des services (D)</p> Signup and view all the answers

Pourquoi la gestion des transactions distribuées peut-elle poser des défis dans les microservices?

<p>Elles nécessitent des synchronisations et séquençages compliqués (A)</p> Signup and view all the answers

Quel est le rôle principal de l'Architecte Fonctionnel chez Capgemini ?

<p>Cadrage des besoins métiers (D)</p> Signup and view all the answers

Combien d'années d'expérience a l'individu dans le secteur des start-ups ?

<p>4 ans (A)</p> Signup and view all the answers

Quel langage n'est pas mentionné dans le parcours professionnel ?

<p>Python (D)</p> Signup and view all the answers

Dans quelle spécialité a obtenu son Master l'individu ?

<p>Réseaux Distribués (B)</p> Signup and view all the answers

Quel rôle l'individu n'occupe-t-il pas chez Capgemini ?

<p>Recruteur (D)</p> Signup and view all the answers

Quel est l'un des langages utilisés par l'ingénieur R&D dans l'industrie Spatial-Défense ?

<p>JAVA (B)</p> Signup and view all the answers

Combien d'années d'expérience a l'individu dans le secteur des services financiers ?

<p>8 ans (A)</p> Signup and view all the answers

Quel poste l'individu a-t-il occupé pendant 6 ans chez Capgemini Apps ?

<p>Développeur (A)</p> Signup and view all the answers

Quels sont les avantages d'une application monolithique ?

<p>Facilité de déploiement (C)</p> Signup and view all the answers

Quelle caractéristique n'est pas associée aux microservices ?

<p>Dépendance élevée (D)</p> Signup and view all the answers

Quelle limitation des applications monolithiques concerne la mise à jour du logiciel ?

<p>Déploiement en tant que package unifié (B)</p> Signup and view all the answers

Quel est le principal inconvénient de la taille d'une application monolithique ?

<p>Difficulté de gestion de la complexité (D)</p> Signup and view all the answers

Comment les microservices gèrent-ils les données ?

<p>Par des bases de données individuelles pour chaque service (A)</p> Signup and view all the answers

Quel est un inconvénient majeur de l'évolutivité d'une application monolithique ?

<p>Coût élevé et délais (B)</p> Signup and view all the answers

Quel est le principe fondamental de l'autonomie des microservices ?

<p>Chaque service fonctionne de manière indépendante (A)</p> Signup and view all the answers

Quel aspect d'une application monolithique complique la restauration en cas d'échec ?

<p>La mise à jour en tant que paquet (C)</p> Signup and view all the answers

Quel type de message a été enregistré lorsque la demande de création de commande a été reçue ?

<p>INFO (A)</p> Signup and view all the answers

Quel service a signalé que l'inventaire était faible pour un produit spécifique ?

<p>InventoryService (B)</p> Signup and view all the answers

Quel est le dernier événement enregistré dans la séquence des logs ?

<p>Erreur de traitement de paiement (D)</p> Signup and view all the answers

Quel ID de corrélation a été utilisé lors de la création réussie d'une commande ?

<p>wxyz-5678 (B)</p> Signup and view all the answers

Quel type de log indique le début d'un processus d'analyse ?

<p>DEBUG (B)</p> Signup and view all the answers

Quel service a essayé d'interroger la base de données pour les analyses ?

<p>AnalyticsService (B)</p> Signup and view all the answers

Combien de services ont été impliqués dans le traitement de la commande enregistrée ?

<p>Trois (C)</p> Signup and view all the answers

Quelle est la nature de l'événement consigné avec le niveau d'erreur dans les logs ?

<p>Échec du traitement de paiement (A)</p> Signup and view all the answers

Quel est le but principal du SSO (Single Sign-On) ?

<p>Autoriser une seule connexion pour plusieurs applications. (C)</p> Signup and view all the answers

Quel protocole permet d'accorder un accès limité à des applications tierces sans exposer les identifiants de l'utilisateur ?

<p>OAuth 2.0 (C)</p> Signup and view all the answers

Quelle est la combinaison offerte par OIDC ?

<p>Authentification et autorisation. (A)</p> Signup and view all the answers

Quelle affirmation résume le mieux la différence entre SSO et OAuth ?

<p>SSO implique une connexion unique, alors qu'OAuth concerne l'accès aux ressources. (D)</p> Signup and view all the answers

Quel est l'objectif principal d'OIDC (OpenID Connect) ?

<p>Vérifier l'identité de l'utilisateur et accéder aux informations de profil. (B)</p> Signup and view all the answers

Comment peut-on décrire le processus d'authentification associé à OIDC ?

<p>Il fonctionne en tandem avec OAuth 2.0. (A)</p> Signup and view all the answers

Quelle option représente le mieux la relation entre OAuth et ressources utilisateur ?

<p>OAuth accorde un accès limité à certaines ressources sans exposer les identifiants. (B)</p> Signup and view all the answers

Quel est l'élément clé qui différencie SSO des autres méthodes d'authentification ?

<p>SSO permet une seule connexion à plusieurs services. (C)</p> Signup and view all the answers

Quel outil est principalement utilisé pour la visualisation des données et le suivi des performances ?

<p>Grafana (D)</p> Signup and view all the answers

Quel logiciel est spécialisé dans la collecte et l'indexation des données générées par les applications ?

<p>Splunk (D)</p> Signup and view all the answers

Quel est le principal avantage de Grafana par rapport aux autres outils ?

<p>Son intégration avec plusieurs sources de données (C)</p> Signup and view all the answers

Quel outil serait le plus approprié pour la gestion en temps réel des événements et des logs ?

<p>Splunk (C)</p> Signup and view all the answers

Quel est le but principal de l'observabilité dans un système ?

<p>Suivre les performances et les alertes (C)</p> Signup and view all the answers

Quel outil est souvent utilisé pour le suivi des métriques dans un système basé sur des microservices ?

<p>Prometheus (B)</p> Signup and view all the answers

Quel outil est souvent intégré à Grafana pour améliorer l’observabilité ?

<p>Prometheus (D)</p> Signup and view all the answers

Dans quel contexte Splunk est-il le plus efficace ?

<p>Indexation des logs (D)</p> Signup and view all the answers

Flashcards

Architecte Solution

Un professionnel qui conçoit et développe des solutions de manière globale en tenant compte des besoins métier et techniques.

Architecte Fonctionnel

Un expert qui analyse et définit les besoins fonctionnels d'une solution informatique.

Team Lead

Un leader d'équipe qui encadre et dirige une équipe de développeurs ou d'analystes.

Chef de projet Technique

Un expert en gestion de projets techniques qui coordonne les équipes et les tâches.

Signup and view all the flashcards

Consultant

Un expert qui fournit des conseils et des solutions pour résoudre des problèmes dans un domaine particulier.

Signup and view all the flashcards

Delegate

Une personne qui représente une équipe ou une organisation.

Signup and view all the flashcards

Master MIA GE, spécialité Réseaux Distribués

Un master spécialisé dans les méthodes informatiques appliquées à la gestion d'entreprise, avec un focus sur les réseaux distribués.

Signup and view all the flashcards

Java

Un langage de programmation orienté objet très populaire pour le développement d'applications.

Signup and view all the flashcards

Évolutivité (Microservices)

La capacité à ajuster les ressources d'un service indépendamment des autres services pour répondre aux besoins changeants.

Signup and view all the flashcards

Vitesse de développement (Microservices)

La capacité à déployer des changements de code rapidement et indépendamment pour chaque service.

Signup and view all the flashcards

Optimisation/Compatibilité (Microservices)

L'utilisation de technologies différentes pour chaque service en fonction de leurs besoins spécifiques.

Signup and view all the flashcards

Isolation des pannes (Microservices)

La capacité à isoler les pannes d'un service sans affecter les autres.

Signup and view all the flashcards

Catalogue de services (Microservices)

Un catalogue centralisé qui répertorie tous les services disponibles dans une architecture de microservices.

Signup and view all the flashcards

Application monolithique

Une application monolithique est une application logicielle à un seul niveau où différents modules sont combinés en un seul programme.

Signup and view all the flashcards

Avantages des monolithes : Déploiement facile

Une application monolithique est facile à déployer car il n'y a qu'un seul fichier à gérer.

Signup and view all the flashcards

Avantages des monolithes : Gestion de la complexité

Dans une application monolithique, les services sont centralisés, ce qui facilite le test de bout en bout.

Signup and view all the flashcards

Avantages des monolithes : Faible dépendance

Une application monolithique est une seule unité et ne dépend pas de divers systèmes externes.

Signup and view all the flashcards

Limitations des monolithes : Évolutivité coûteuse

Scaler une application monolithique peut être coûteux et lent car tout le code doit être déployé et mis à l'échelle.

Signup and view all the flashcards

Limitations des monolithes : Mise à jour fréquente

Une application monolithique doit être déployée en tant que paquet unique, même si seule une petite partie du code est modifiée.

Signup and view all the flashcards

Limitations des monolithes : Difficultés de correction

Dans une application monolithique, une panne d'un composant peut affecter l'ensemble de l'application, ce qui rend la correction difficile et risquée.

Signup and view all the flashcards

Limitations des monolithes : Taille

Les applications monolithiques ont tendance à grossir au fil du temps à mesure que de nouvelles fonctionnalités sont ajoutées, ce qui amplifie leurs limitations.

Signup and view all the flashcards

SSO (Single Sign-On)

Autorise les utilisateurs à se connecter une seule fois pour accéder à plusieurs applications ou services sans se reconnecter.

Signup and view all the flashcards

OAuth 2.0

Protocole d'autorisation permettant aux applications tierces d'accéder à des ressources utilisateur limitées sans exposer les informations d'identification.

Signup and view all the flashcards

OIDC (OpenID Connect)

Couche d'identité basée sur OAuth 2.0, utilisée pour vérifier l'identité de l'utilisateur et accéder aux informations de profil, souvent dans des contextes SSO.

Signup and view all the flashcards

Microservices

Un ensemble de services indépendants qui communiquent entre eux via des API.

Signup and view all the flashcards

CI/CD (Intégration continue et livraison continue)

Processus automatisé qui permet de tester, d'intégrer et de déployer en continu du code dans un environnement de production.

Signup and view all the flashcards

DevOps

Ensemble de pratiques qui visent à améliorer la collaboration et la communication entre les équipes de développement et d'exploitation.

Signup and view all the flashcards

Sécurisation des microservices

Un ensemble de pratiques visant à assurer la sécurité des microservices en les protégeant des attaques.

Signup and view all the flashcards

Surveillance des microservices

Ensemble de techniques et d'outils utilisés pour surveiller les performances et la santé des microservices.

Signup and view all the flashcards

Logs : Importance pour le débogage

Les journaux (logs) sont des enregistrements de tout ce qui se passe dans un système informatique. Ils sont essentiels pour déboguer les erreurs et comprendre le comportement du système.

Signup and view all the flashcards

Niveaux de gravité des logs

Le niveau de gravité d'un log indique la sévérité de l'événement qui a été enregistré. INFO pour les messages courants, WARN pour les événements potentiellement problématiques et ERROR pour les erreurs critiques.

Signup and view all the flashcards

Identifiant de corrélation (correlationId)

Un identifiant de corrélation est un code unique qui permet de suivre un ensemble d'événements liés entre eux dans les logs. Il simplifie le dépannage en reliant les événements.

Signup and view all the flashcards

Trace de pile (Stacktrace)

Une trace de pile (stacktrace) est une liste des fonctions qui ont été appelées lors d'une erreur. Elle fournit des informations détaillées sur l'origine et le déroulement du problème.

Signup and view all the flashcards

Logs de débogage (DEBUG)

Les logs de débogage (DEBUG) affichent des informations détaillées sur l'exécution d'un programme. Ils sont utiles pour le dépannage des problèmes techniques.

Signup and view all the flashcards

Logs d'audit

Les logs d'audit enregistrent les actions effectuées par les utilisateurs d'un système. Ils sont importants pour la sécurité et la conformité.

Signup and view all the flashcards

Logs de performance

Les logs de performance collectent des mesures sur les performances d'un système. Ils aident à identifier les goulets d'étranglement et à optimiser les performances.

Signup and view all the flashcards

Gestion de la conservation des logs

Les logs peuvent être conservés pendant une durée définie pour les analyses, les audits et la conformité. Il faut trouver un équilibre entre la durée de conservation et la protection de la vie privée.

Signup and view all the flashcards

Splunk

Une plateforme d'analyse de données qui se spécialise dans la collecte, l'indexation et la visualisation des données générées par les applications, les serveurs et d'autres systèmes informatiques. Splunk permet aux utilisateurs d'analyser et de surveiller les données pour la sécurité, les opérations informatiques et le business intelligence.

Signup and view all the flashcards

Prometheus

Un outil de surveillance qui fonctionne comme un magasin de données chronologiques avec un langage de requête puissant pour les requêtes complexes. Permet aux utilisateurs de réaliser des requêtes sur les données collectées, de les analyser et de visualiser les tendances, les anomalies et d'autres informations essentielles.

Signup and view all the flashcards

Grafana

Un outil Open Source pour la visualisation de données et la surveillance. Il permet aux utilisateurs de créer des tableaux de bord et des graphiques interactifs à partir de diverses sources de données. Souvent utilisé pour le suivi des performances et l'analyse système, il améliore l'observabilité en temps réel.

Signup and view all the flashcards

Surveillance des logs

Un processus qui permet de gérer et de surveiller les événements en temps réel et les logs générés par les systèmes d'application et les infrastructures. Utilisé pour identifier et diagnostiquer les erreurs, les performances et les problèmes de sécurité.

Signup and view all the flashcards

Surveillance du système

Un processus qui implique la collecte et l'analyse de données essentielles à partir des systèmes et des applications pour identifier les anomalies, les tendances et les performances. Il contribue à fournir des informations précieuses pour la prise de décision, les diagnostics et l'optimisation.

Signup and view all the flashcards

Observabilité

Un ensemble de techniques qui améliorent la visibilité sur le fonctionnement des systèmes et des applications. Cela comprend la collecte de données, l'analyse et l'alerte pour améliorer la compréhension des performances, des erreurs et de la sécurité.

Signup and view all the flashcards

Alertes

Un système d'alerte qui notifie les équipes opérationnelles lorsqu'un système ou une application atteint un seuil pré-défini. Cela permet d'identifier les problèmes rapidement et de les résoudre de manière proactive.

Signup and view all the flashcards

Suivi des performances

Le suivi régulier des performances des systèmes et des applications pour identifier les tendances, les anomalies et les problèmes potentiels. Cela permet d'optimiser la performance et d'améliorer la fiabilité.

Signup and view all the flashcards

Study Notes

Microservices & Cloud Computing - ESIEA 4a

  • The course is held from 20/11/2024 to 21/11/2024
  • The course is offered by ESIEA, in the 4a year.
  • The speakers are Kevin Navarri, Thomas Desrut, and Julien Trouillet.

Agenda

  • The agenda includes 4 presentations about Cloud Concepts
  • The first presentation introduces the concept of IT systems (SI)
  • The second presentation covers Microservices and Cloud Computing
  • The third presentation focuses on Cloud Architecture
  • The fourth presentation discusses Cloud Scalability

Agenda (Microservices)

  • The agenda for the Microservices presentation covers:
    • About Us
    • Introduction to Microservices
    • Essential Microservices Patterns
    • Securing Microservices
    • Deploying and Maintaining Microservices
    • Logging
    • Monitoring
    • Introduction to Cloud Computing

Monolite Applications

  • Monoliths are single-tiered software applications where different modules are combined into one program.
  • Benefits include easy deployment and managed complexity.
  • Limitations include costly scalability, infrequent updates, and the potential for significant rollout issues.

Microservices

  • In contrast to monoliths, microservices are mini-applications with unique features and functionality.
  • Key properties include modularity, autonomy, and data decentralization.

Microservices - Benefits

  • Scalability: Resource usage is optimized by scaling only the needed components.
  • Development speed: Individual teams can deploy independent services more quickly
  • Optimization/Compatibility : Developers can utilize various languages to maximize efficiency.
  • Fault Isolation: Failure within one service won't affect the entire system.

Decentralized Architecture

  • The shift from a centralized governance model in monoliths to a decentralized model in microservices is highlighted.
  • Microservices (per service governance) permits each team to follow its own timeline (schedule and roadmap)
  • Service Catalog is used as a repository listing details of various services (making discovery, reuse, and monitoring easy).
  • While microservices architectures are more complex, proper cataloging and distributed transactions support the decentralized model.

Notable Example: Netflix with AWS

  • Netflix used an AWS-based microservices architecture to avoid the issues often associated with monoliths (e.g., difficulties with memory leaks, network latency, congestion, failure, or scaling issues)
  • This notable example illustrates the distinct architecture from the monolithic approach.

Authentication vs Authorization

  • Authentication verifies the user's identity through credentials (passwords, tokens, biometric data).
  • Authorization defines the granted permissions for authenticated users or actions they can perform.

SSO and JWT Patterns

  • Single Sign-On (SSO) permits users to log in once to access multiple applications.
  • OAuth 2.0 grants limited access to third-party applications, without exposing credentials.
  • OpenID Connect (OIDC) is an identity layer built on top of OAuth 2.0, which is commonly used for verifying user identity and profile access and information in SSO contexts.

OAuth Pattern

  • The OAuth protocol describes how users can grant limited access to third-party applications that need to access user information provided by a resource owner (like a social media account).
  • Steps involved: User initiates the request, the resource owner gets confirmation, the access token is given to the third-party application.

OIDC Pattern

  • OpenID Connect (OIDC) is an authentication protocol that provides standards to verify user identity using OAuth 2.0.
  • The IdP (Identity Provider) verifies a client's identity and permissions.
  • The token (and access details) are passed back to the initial application.

CI/CD and DevOps

  • CI/CD stands for Continuous Integration and Continuous Delivery
  • DevOps is used to create automation pipelines

CI/CD for a Java project

  • Various tools (e.g., Jenkins, Maven, SonarQube, Docker) are used for code quality checks, compilation, dependency checking, deployment, and containerization, resulting in a seamless CI/CD pipeline.

Centralized Logging Tools (ELK Stack)

  • ELK Stack (Elasticsearch, Logstash, Kibana): Aggregation of logs across various services
  • Tools aggregate, process, and visualize logs across services.

Importance of Logs for Diagnostics

  • Logs are valuable for quickly pinpointing troubleshooting difficulties, resolving issues, and assessing performance/efficiency.

Monitoring Tools

  • Grafana : Open-source platform for data visualization and monitoring.
  • Splunk: Data analytics platform used to collect, index, and visualize machine data.
  • Prometheus: An open-source system for monitoring and alerting on applications, servers and other IT systems.

Importance of Observability

  • Observability enhances the ability of development teams to promptly identify potential system or application failures with minimal effort.

Cloud Services

  • On-demand IT services
  • Automated deployment
  • Elasticity
  • Pay per use model

Non-Cloud vs Cloud Projects

  • Non-cloud projects ('Pets'): personalized, unique projects.
  • Cloud projects ('Cattle'): repetitive and standardized projects.

Liabilities (Clouders vs Client)

  • Customer responsibility for security within the cloud.
  • AWS responsibility for security outside the cloud, in their infrastructure.

Contact Information

  • Contact information for the speakers is provided.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Architecture des Microservices
44 questions
Architecture Microservices et Scalabilité
44 questions
Microservices Architecture Concepts
10 questions
Use Quizgecko on...
Browser
Browser