Podcast
Questions and Answers
Quelle est une des limites d'une application monolithique ?
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 ?
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 ?
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 ?
Quelle propriété ne s'applique pas à un microservice ?
Pourquoi les mises à jour dans une application monolithique peuvent-elles être difficiles ?
Pourquoi les mises à jour dans une application monolithique peuvent-elles être difficiles ?
Quel inconvénient peut survenir en cas d'échec d'un composant dans une application monolithique ?
Quel inconvénient peut survenir en cas d'échec d'un composant dans une application monolithique ?
Quelle affirmation est vraie concernant les microservices en termes de base de données ?
Quelle affirmation est vraie concernant les microservices en termes de base de données ?
Quel est un inconvénient lié à l'évolution des applications monolithiques ?
Quel est un inconvénient lié à l'évolution des applications monolithiques ?
Quel outil est utilisé pour la visualisation et le suivi des données, permettant de créer des tableaux de bord interactifs?
Quel outil est utilisé pour la visualisation et le suivi des données, permettant de créer des tableaux de bord interactifs?
Quel outil excelle dans la gestion de grands volumes de journaux et d'événements en temps réel?
Quel outil excelle dans la gestion de grands volumes de journaux et d'événements en temps réel?
Quelle est la fonction principale de Prometheus dans le contexte des microservices?
Quelle est la fonction principale de Prometheus dans le contexte des microservices?
Quelle fonctionnalité de Grafana aide à l'observabilité en temps réel?
Quelle fonctionnalité de Grafana aide à l'observabilité en temps réel?
Quel est l'objectif principal de Splunk dans la gestion des données?
Quel est l'objectif principal de Splunk dans la gestion des données?
Pour quelle raison Grafana est-il considéré comme un outil essentiel dans le suivi des microservices?
Pour quelle raison Grafana est-il considéré comme un outil essentiel dans le suivi des microservices?
Quel aspect de la surveillance des microservices est le plus directement associé à l'observabilité?
Quel aspect de la surveillance des microservices est le plus directement associé à l'observabilité?
Quel outil peut être classé comme un système de surveillance des API dans la documentation?
Quel outil peut être classé comme un système de surveillance des API dans la documentation?
Quelle est la fonctionnalité principale du patron Event Broker ?
Quelle est la fonctionnalité principale du patron Event Broker ?
Comment le patron Event Broker permet-il l'évolutivité ?
Comment le patron Event Broker permet-il l'évolutivité ?
Quelle affirmation décrit le mieux le concept de couplage lâche dans le patron Event Broker ?
Quelle affirmation décrit le mieux le concept de couplage lâche dans le patron Event Broker ?
Quelle est la différence principale entre l'authentification et l'autorisation ?
Quelle est la différence principale entre l'authentification et l'autorisation ?
Quelle question l'authentification essaie-t-elle de répondre ?
Quelle question l'authentification essaie-t-elle de répondre ?
Quel processus intervient généralement après l'authentification ?
Quel processus intervient généralement après l'authentification ?
Quels sont les principaux avantages d'un service cloud?
Quels sont les principaux avantages d'un service cloud?
Quel est le modèle de paiement associé aux services cloud?
Quel est le modèle de paiement associé aux services cloud?
Quel est un exemple de moyen d'authentification ?
Quel est un exemple de moyen d'authentification ?
Quelles actions l'autorisation peut-elle déterminer ?
Quelles actions l'autorisation peut-elle déterminer ?
Quelle infrastructure supplémentaire complète souvent les services cloud?
Quelle infrastructure supplémentaire complète souvent les services cloud?
Qu'est-ce que l'élasticité dans le contexte des services cloud?
Qu'est-ce que l'élasticité dans le contexte des services cloud?
Combien de régions et de zones de disponibilité AWS a-t-il en janvier 2022?
Combien de régions et de zones de disponibilité AWS a-t-il en janvier 2022?
Quelle est une caractéristique des projets non-cloud par rapport aux projets cloud ?
Quelle est une caractéristique des projets non-cloud par rapport aux projets cloud ?
Comment les projets cloud diffèrent-ils dans la gestion des ressources par rapport aux projets non-cloud ?
Comment les projets cloud diffèrent-ils dans la gestion des ressources par rapport aux projets non-cloud ?
Quelle affirmation décrit le mieux l'approche envers les projets cloud ?
Quelle affirmation décrit le mieux l'approche envers les projets cloud ?
Quel terme décrit mieux la manière dont les ressources sont identifiées dans les projets cloud ?
Quel terme décrit mieux la manière dont les ressources sont identifiées dans les projets cloud ?
Quel aspect des projets non-cloud souligne leur connexion avec l'environnement ?
Quel aspect des projets non-cloud souligne leur connexion avec l'environnement ?
Quelle est la première étape pour construire un microservice à partir d'un monolithe?
Quelle est la première étape pour construire un microservice à partir d'un monolithe?
Qu'est-ce qu'il faut faire après avoir identifié les capacités commerciales distinctes du monolithe?
Qu'est-ce qu'il faut faire après avoir identifié les capacités commerciales distinctes du monolithe?
Pourquoi est-il important d'examiner les dépendances de données lors de la création de microservices?
Pourquoi est-il important d'examiner les dépendances de données lors de la création de microservices?
Quel type de communication est couramment utilisé entre les microservices?
Quel type de communication est couramment utilisé entre les microservices?
Quel est l'avantage de séparer les bases de code pour chaque microservice?
Quel est l'avantage de séparer les bases de code pour chaque microservice?
Que signifie décomposer la base de données dans le contexte des microservices?
Que signifie décomposer la base de données dans le contexte des microservices?
Quelle description correspond le mieux à un microservice?
Quelle description correspond le mieux à un microservice?
Quel est l'objectif principal de définir les frontières de service?
Quel est l'objectif principal de définir les frontières de service?
Flashcards
Application monolithique
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
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
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
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
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 ?
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
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é
É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"
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
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
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é
É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
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
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
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)
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)
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)
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)
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
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
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 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
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
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 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
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
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
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 ?
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 ?
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 ?
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?
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 ?
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 ?
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 ?
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 ?
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 flashcardsStudy 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.