Applications Monolithiques vs Microservices

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quelle est une des limites d'une application monolithique ?

  • Décentralisation des données
  • Facilité de déploiement
  • Autonomie des services
  • Scalabilité coûteuse (correct)

Qu'est-ce qui caractérise l'autonomie d'un microservice ?

  • Chaque service est mis à jour simultanément avec tous les autres
  • Chaque service dépend d'une base de données commune
  • Chaque service est indépendant, permettant flexibilité dans le développement (correct)
  • Chaque service est un sous-ensemble d'une application plus grande

Quel est un avantage des applications monolithiques ?

  • Haute dépendance entre les modules
  • Gestion de la complexité centralisée (correct)
  • Déploiement en continu
  • Mise à jour quotidienne

Quelle propriété ne s'applique pas à un microservice ?

<p>Haute dépendance (B)</p> Signup and view all the answers

Pourquoi les mises à jour dans une application monolithique peuvent-elles être difficiles ?

<p>L'application doit être déployée comme un package unifié (A)</p> Signup and view all the answers

Quel inconvénient peut survenir en cas d'échec d'un composant dans une application monolithique ?

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

Quelle affirmation est vraie concernant les microservices en termes de base de données ?

<p>Chaque microservice peut avoir sa propre base de données (D)</p> Signup and view all the answers

Quel est un inconvénient lié à l'évolution des applications monolithiques ?

<p>Elles tendent à grandir en taille avec l'ajout de fonctionnalités (D)</p> Signup and view all the answers

Quel outil est utilisé pour la visualisation et le suivi des données, permettant de créer des tableaux de bord interactifs?

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

Quel outil excelle dans la gestion de grands volumes de journaux et d'événements en temps réel?

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

Quelle est la fonction principale de Prometheus dans le contexte des microservices?

<p>Suivi des performances (A)</p> Signup and view all the answers

Quelle fonctionnalité de Grafana aide à l'observabilité en temps réel?

<p>Création de tableaux de bord (C)</p> Signup and view all the answers

Quel est l'objectif principal de Splunk dans la gestion des données?

<p>Collecte et indexation des données (C)</p> Signup and view all the answers

Pour quelle raison Grafana est-il considéré comme un outil essentiel dans le suivi des microservices?

<p>Il permet l'interaction avec plusieurs sources de données. (C)</p> Signup and view all the answers

Quel aspect de la surveillance des microservices est le plus directement associé à l'observabilité?

<p>Métriques et alertes (D)</p> Signup and view all the answers

Quel outil peut être classé comme un système de surveillance des API dans la documentation?

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

Quelle est la fonctionnalité principale du patron Event Broker ?

<p>La réception et la distribution d'événements (B)</p> Signup and view all the answers

Comment le patron Event Broker permet-il l'évolutivité ?

<p>En permettant à plusieurs consommateurs de recevoir des événements en parallèle (D)</p> Signup and view all the answers

Quelle affirmation décrit le mieux le concept de couplage lâche dans le patron Event Broker ?

<p>Les composants peuvent être ajoutés ou supprimés sans affecter le système (B)</p> Signup and view all the answers

Quelle est la différence principale entre l'authentification et l'autorisation ?

<p>L'authentification concerne l'identité de l'utilisateur, l'autorisation concerne les permissions (B)</p> Signup and view all the answers

Quelle question l'authentification essaie-t-elle de répondre ?

<p>Qui est l'utilisateur ? (B)</p> Signup and view all the answers

Quel processus intervient généralement après l'authentification ?

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

Quels sont les principaux avantages d'un service cloud?

<p>Accès aux services à la demande (B), Elasticité des ressources (C)</p> Signup and view all the answers

Quel est le modèle de paiement associé aux services cloud?

<p>Modèle 'pay per use' (C)</p> Signup and view all the answers

Quel est un exemple de moyen d'authentification ?

<p>Les mots de passe (D)</p> Signup and view all the answers

Quelles actions l'autorisation peut-elle déterminer ?

<p>L'accès aux ressources et les actions permises (A)</p> Signup and view all the answers

Quelle infrastructure supplémentaire complète souvent les services cloud?

<p>Des appliances dédiées sur site (A)</p> Signup and view all the answers

Qu'est-ce que l'élasticité dans le contexte des services cloud?

<p>La capacité de s'ajuster aux fluctuations de la demande (B)</p> Signup and view all the answers

Combien de régions et de zones de disponibilité AWS a-t-il en janvier 2022?

<p>30 Régions et 96 Zones de disponibilité (B)</p> Signup and view all the answers

Quelle est une caractéristique des projets non-cloud par rapport aux projets cloud ?

<p>Ils sont unique et soigneusement entretenus. (A)</p> Signup and view all the answers

Comment les projets cloud diffèrent-ils dans la gestion des ressources par rapport aux projets non-cloud ?

<p>Les projets cloud peuvent être remplacés facilement en cas de problème. (D)</p> Signup and view all the answers

Quelle affirmation décrit le mieux l'approche envers les projets cloud ?

<p>Ils sont traités de façon interchangeable. (A)</p> Signup and view all the answers

Quel terme décrit mieux la manière dont les ressources sont identifiées dans les projets cloud ?

<p>Par des numéros. (D)</p> Signup and view all the answers

Quel aspect des projets non-cloud souligne leur connexion avec l'environnement ?

<p>Ils nécessitent des efforts pour être intégrés dans leur environnement. (A)</p> Signup and view all the answers

Quelle est la première étape pour construire un microservice à partir d'un monolithe?

<p>Analyser le monolithe et comprendre son architecture. (C)</p> Signup and view all the answers

Qu'est-ce qu'il faut faire après avoir identifié les capacités commerciales distinctes du monolithe?

<p>Définir les frontières de service. (C)</p> Signup and view all the answers

Pourquoi est-il important d'examiner les dépendances de données lors de la création de microservices?

<p>Pour décider comment les données seront partagées entre les microservices. (D)</p> Signup and view all the answers

Quel type de communication est couramment utilisé entre les microservices?

<p>gRPC ou APIs RESTful. (D)</p> Signup and view all the answers

Quel est l'avantage de séparer les bases de code pour chaque microservice?

<p>Permet une indépendance dans le développement et le déploiement. (C)</p> Signup and view all the answers

Que signifie décomposer la base de données dans le contexte des microservices?

<p>Spliter une base de données unique en petites bases ou schémas. (B)</p> Signup and view all the answers

Quelle description correspond le mieux à un microservice?

<p>Un service autonome avec une logique métier spécifique. (D)</p> Signup and view all the answers

Quel est l'objectif principal de définir les frontières de service?

<p>Établir des responsabilités claires pour chaque microservice. (C)</p> Signup and view all the answers

Flashcards

Application monolithique

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

Avantages des applications monolithiques

Facilité de déploiement : un seul morceau de logiciel à fusionner et à déployer. Complexité gérée : services centralisés avec possibilité de tests de bout en bout. Faible dépendance : infrastructure appropriée non partagée.

Limitations des applications monolithiques

Coûts de mise à l'échelle élevés : capacité à mettre à l'échelle si la base de code le permet, mais avec un délai et des coûts d'infrastructure importants. Fréquence de mise à jour : doit être déployée en tant que package unifié, indépendamment de la mise à jour du contenu. Pas de déploiement continu. Retour arrière ou mort : Difficulté à corriger rapidement et en toute sécurité un composant défaillant. Généralement, le retour arrière est obligatoire si une défaillance critique est exposée après et une mise à jour.

Définition des microservices

Un microservice implémente généralement un ensemble de fonctionnalités ou de fonctionnalités distinctes. Chaque microservice est une mini-application qui a sa propre architecture et sa propre logique métier.

Signup and view all the flashcards

Propriétés des microservices

Chaque microservice représente une fonction métier spécifique. Chaque service est indépendant, ce qui permet une flexibilité de développement et de déploiement. Chaque microservice peut avoir sa propre base de données, assurant l'isolation des données.

Signup and view all the flashcards

Qu'est-ce qu'un service cloud ?

Un service cloud offre des ressources informatiques (serveurs, stockage, bases de données, etc.) sur demande, permettant aux utilisateurs de payer uniquement pour ce qu'ils utilisent.

Signup and view all the flashcards

Déploiement automatique

Les services cloud sont basés sur le déploiement automatique, ce qui permet de provisionner et de configurer rapidement des ressources informatiques sans intervention manuelle.

Signup and view all the flashcards

Élasticité

La capacité des services cloud à s'adapter aux besoins changeants en termes de performances et de ressources. Ils peuvent s'adapter automatiquement à la demande.

Signup and view all the flashcards

Modèle "payer à l'utilisation"

Le modèle de paiement des services cloud où les utilisateurs sont facturés en fonction de la consommation réelle des ressources (temps de calcul, stockage, etc.).

Signup and view all the flashcards

Infrastructures cloud

Les services cloud sont basés sur un large réseau d'infrastructures réparties dans le monde entier, offrant une grande disponibilité et une faible latence.

Signup and view all the flashcards

Routage d'événements

Le courtier d'événements achemine les événements des producteurs aux consommateurs appropriés en fonction de règles, comme les abonnements ou les sujets.

Signup and view all the flashcards

Évolutivité

Un courtier d'événements permet à plusieurs consommateurs de recevoir des événements en parallèle, ce qui permet d'échelonner facilement le système au fur et à mesure que de nouveaux consommateurs se joignent.

Signup and view all the flashcards

Couplage lâche

Les producteurs et les consommateurs sont découplés, simplifiant l'ajout ou la suppression de composants sans impact sur le système.

Signup and view all the flashcards

Authentification

L'authentification vérifie l'identité d'un utilisateur à l'aide de mécanismes comme les mots de passe, les jetons ou la biométrie.

Signup and view all the flashcards

Autorisation

L'autorisation décide des actions qu'un utilisateur authentifié peut effectuer ou des ressources auxquelles il peut accéder.

Signup and view all the flashcards

Approche 'Animaux de compagnie' (Non-Cloud)

Dans les projets traditionnels, les systèmes sont considérés comme des entités uniques et précieuses, comme des animaux de compagnie, nécessitant des soins et une attention particuliers.

Signup and view all the flashcards

Approche 'Bétail' (Cloud)

Les projets cloud s'appuient sur des systèmes interchangeables et identiques, comme du bétail, où l'accent est mis sur la quantité et la gestion.

Signup and view all the flashcards

Partage des responsabilités (Non-Cloud)

Dans les projets non-cloud, les responsabilités sont réparties entre le client et l'entreprise qui fournit les services.

Signup and view all the flashcards

Partage des responsabilités (Cloud)

Dans les projets cloud, le fournisseur cloud assume la majorité des responsabilités pour la sécurité et la maintenance de l'infrastructure.

Signup and view all the flashcards

Modèle de responsabilité partagée

L'approche du modèle de responsabilité partagée définit clairement les responsabilités du fournisseur cloud et du client en matière de sécurité et de conformité.

Signup and view all the flashcards

Analyser le monolithe

Comprendre l'application monolithique actuelle, y compris son architecture, ses dépendances et ses fonctionnalités.

Signup and view all the flashcards

Identifier les capacités métier

Identifier les fonctionnalités métier distinctes de l'application monolithique. Il peut s'agir de fonctionnalités, de modules ou de services qui peuvent être logiquement séparés.

Signup and view all the flashcards

Définir les frontières des services

Établir des limites claires pour chaque microservice. Déterminer les responsabilités de chaque microservice et s'assurer qu'elles sont cohésives et bien définies.

Signup and view all the flashcards

Dépouiller les données

Examiner les dépendances de données et décider comment les données seront partagées entre les microservices. Il peut être nécessaire d'introduire la réplication de données, la synchronisation de données et des bases de données séparées pour chaque microservice.

Signup and view all the flashcards

Définir les protocoles de communication

Définir les protocoles et API de communication entre les microservices. RESTful APIs, gRPC ou les files d'attente de messages sont couramment utilisés pour la communication inter-services.

Signup and view all the flashcards

Séparer les bases de code

Créer des bases de code différentes pour chaque microservice. Cela peut impliquer l'extraction du code et des fonctionnalités pertinents du monolithe dans des référentiels individuels ou en tant que packages dans une stratégie monorepo.

Signup and view all the flashcards

Décomposer la base de données

Si l'application monolithique s'appuie sur une seule base de données, il peut être nécessaire de diviser la base de données en bases de données plus petites ou en schémas au sein d'une base de données pour chaque microservice.

Signup and view all the flashcards

Implémenter la logique du service

Développer la logique métier de chaque microservice.

Signup and view all the flashcards

Qu'est-ce que Grafana ?

Grafana est un outil open source de visualisation et de surveillance de données. Il permet aux utilisateurs de créer des tableaux de bord et des graphiques interactifs à partir de différentes sources de données (Prometheus, InfluxDB, Elasticsearch, etc.). Utilisé pour le suivi des performances et l'analyse du système, il améliore l'observabilité en temps réel. L'outil Grafana est souvent utilisé avec les données d'autres outils de surveillance comme Prometheus.

Signup and view all the flashcards

Qu'est-ce que Splunk ?

Splunk est une plateforme d'analyse de données spécialisée dans la collecte, l'indexation et la visualisation des données machine générées par les applications, les serveurs et d'autres systèmes informatiques. Il permet aux utilisateurs d'analyser et de surveiller les données à des fins de sécurité, d'exploitation informatique et de business intelligence. Splunk excelle dans la gestion de gros volumes de journaux et d'événements en temps réel. Il est souvent utilisé pour la surveillance des logs.

Signup and view all the flashcards

Quelle est l'importance de la surveillance ?

La surveillance est essentielle pour comprendre la santé, les performances et le comportement des systèmes et des API. Elle permet de détecter les problèmes et d'agir rapidement pour éviter des temps d'arrêt importants. Il est crucial de surveiller les performances du système, les logs d'application et les événements en temps réel.

Signup and view all the flashcards

Qu'est-ce qu'une métrique?

Les métriques fournissent des données quantifiables sur la performance, l'utilisation et le comportement des systèmes. Elles permettent de suivre les indicateurs clés et de détecter les anomalies ou les tendances. Des exemples de métriques pourraient inclure la latence des requêtes, la consommation de mémoire ou le nombre d'erreurs.

Signup and view all the flashcards

Qu'est-ce qu'une alerte ?

Les alertes sont des notifications déclenchées lorsque les métriques atteignent un seuil critique. Elles permettent d'avertir les équipes d'exploitation rapidement en cas de problèmes ou d'événements potentiels. Les alertes sont essentielles pour garantir une réponse rapide en cas de besoin.

Signup and view all the flashcards

En quoi consiste le suivi des performances ?

Le suivi des performances est essentiel pour identifier les goulets d'étranglement, les problèmes de performance et les tendances négatives. En surveillant les performances des systèmes et des applications, vous pouvez améliorer l'expérience utilisateur, optimiser les ressources et prévenir les problèmes. Le suivi des performances est souvent effectué à l'aide des métriques et des outils de visualisation.

Signup and view all the flashcards

Qu'est-ce que Prometheus ?

Prometheus est un système de surveillance open source qui collecte et stocke des métriques. Il est souvent utilisé pour la surveillance des infrastructures, des applications conteneurisées et des microservices. Il est très performant pour la collecte et la récupération de métriques, et peut être configuré pour envoyer des alertes.

Signup and view all the flashcards

Qu'est-ce que Log4j ?

Log4j est un outil de journalisation Java open source utilisé pour gérer les journaux d'application. Il permet de personnaliser le format des journaux et de les envoyer à différents destinataires. Il peut être intégré à Splunk pour analyser les logs et identifier les problèmes en temps réel.

Signup and view all the flashcards

Study Notes

Présentation Capgemini sur les Microservices et le Cloud Computing

  •  Thème principal : Microservices et Cloud Computing
  • Dates : 20/11/2024 - 21/11/2024
  • Lieu : ESIEA - 4a
  • Présentations fournies par : Kevin Navarri, Thomas Desrut, Julien Trouillet
  • Objectif des présentations : Les présentations ont abordé différents aspects des concepts de Cloud Computing, incluant les microservices, l'architecture cloud, et la scalabilité du cloud.
  • Ordre des présentations de l'agenda : Introduction des Systèmes d'Information, Microservices et Cloud Computing, Architecture Cloud, Scalabilité du Cloud.
  • Sujets abordés dans l'agenda : Présentation de l'entreprise, introduction aux microservices, modèles essentiels, sécurisation des microservices, déploiement et maintenance, journalisation, surveillance, introduction au cloud computing.

Parcours professionnel de JT

  • Diplôme : Licence en Mathématiques (Parcours Mathématiques Fondamentales, Université d'Avignon), Master en Mathématiques (Data-Mining & Recherche Opérationnelle, Université d'Aix-Marseille)
  • Expérience de 4 ans : Start-up éditeur de logiciel en tant que Data-scientist spécialisé dans le développement Java et R.
  • Expérience de 3 ans : Première ESN (entreprise de services en informatique) en tant qu'ingénieur R&D dans l'industrie Spatial-Défense avec expertise en Java, Matlab et R.
  • Expérience de 8 ans : Capgemini Financial Services en tant qu'architecte solution / responsable d'équipe (team lead) et architecte fonctionnel.

Parcours professionnel de TD

  • Diplôme : Licence Sciences et Technologies de l'Information et de la Communication (Université d'Orléans), Master Méthodes Informatiques Appliquées à la Gestion d'Entreprise, spécialité Réseaux Distribués (Université d'Orléans)
  • Six ans chez Capgemini Apps : Développeur Java, C++, GraphTalk
  • Trois ans chez Capgemini : Team Lead et Project Manager
  • Cinq ans chez Capgemini Financial Services : Architecte Solutions, Référent Technique pour la migration vers le Cloud

Parcours professionnel de KN

  • Diplôme : Master Génie Biotechnologique et management en agro-industries, Université de La Rochelle, Reconversion en développement informatique.
  • Expérience de 2 ans : Responsable de production en industrie agro-alimentaire.
  • Expérience de 6 ans chez Capgemini Financial Services : Développeur Java, et management d'équipe, architecture applicative.

Autres points importants

  • Le rôle des architectes solution/fonctionnel et de tech lead/architecte applicative.
  • Le rôle de consultant/manager chez Capgemini.
  • Présentation des modèles d'architecture et des pratiques de gouvernance liés aux microservices.
  • Importance des logs pour le diagnostic et la résolution des problèmes.
  • Les outils de surveillance : Prometheus, Grafana, et Splunk.
  • L'architecture décentralisée : gouvernance et catalogue de services.
  • Les modèles SSO, OAuth et OIDC.
  • Les outils CI/CD et DevOps.
  • Différences entre les projets non cloud et cloud (perspective architectes et ingénieurs).
  • Responsabilité de la sécurité dans le cloud (AWS vs Client).
  • Le modèle d'implémentation de Retry, tels que Fixed Delay, Incremental Delay, et Exponential BackOff.
  • Le modèle d'Event Broker et ses avantages, notamment en matière de routage, scalabilité, et couplage lâche.
  • Définition et propriétés d'un microservice (Modularité, Autonomie, et Décentralisation de donnée)
  • Avantages des microservices (Scalabilité, Rapidité de développement, et isolation des défaillances).
  • Limites des monolithes (la mise à l'échelle coûteuse, la fréquence de mise à jour, la gestion des rétrogradations difficiles).
  • L'importance de l'observabilité pour le suivi des performances avec des alertes.
  • Le modèle d'architecture cloud (IaaS, PaaS, SaaS).

Studying That Suits You

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

Quiz Team

More Like This

Microservices Architecture Quiz
15 questions

Microservices Architecture Quiz

WarmheartedHeliotrope avatar
WarmheartedHeliotrope
Monolithic Application vs Microservices
36 questions
Microservices in the real world
91 questions
Use Quizgecko on...
Browser
Browser