ESIEA Microservices & Cloud Computing Module 2 Past Paper 2024-11-21 PDF
Document Details
Uploaded by Deleted User
ESIEA
2024
ESIEA
Tags
Summary
This document is a past paper from ESIEA's 2024-2024 Microservices and Cloud Computing module. The paper comprises various sections like agenda, presentation structure, and historical information about Capgemini. It highlights valuable insights on microservices and cloud computing. The content should be helpful for exam preparation.
Full Transcript
Machine Translated by Google MICROSERVICES & NUAGE COMPUTING 20/11/2024 – 21/11/2024 ESIEA – 4a Kévin Navarri Thomas Desrut Julien Trouillet Machine Translated by Google Ordre du jour...
Machine Translated by Google MICROSERVICES & NUAGE COMPUTING 20/11/2024 – 21/11/2024 ESIEA – 4a Kévin Navarri Thomas Desrut Julien Trouillet Machine Translated by Google Ordre du jour Quatre présentations sur les concepts du Cloud 1. Introduire la notion de SI 2. Microservices et Cloud Computing 3. Les Archi Cloud 4. Scalabilité du Cloud Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 2 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 3 Machine Translated by Google NOTRE HISTOIRE Un partenaire de OMS transformation commerciale et NOUS SOMMES technologique Capgemini est un leader mondial, regroupant plus de 360 000 collaborateurs dans plus de 50 pays. Partenaire incontournable des entreprises pour transformer leurs activités en exploitant toute la puissance de la technologie, le Groupe est guidé au quotidien par sa raison d’être : libérer les énergies humaines par la technologie pour un avenir inclusif et durable. Responsable et diversifié, le Groupe compte plus de 360 000 collaborateurs dans plus de 50 pays. Alors que nous exploitons le cloud, les données, l'IA, la connectivité, les logiciels, l'ingénierie numérique et les plateformes pour répondre à l'ensemble des besoins des entreprises, cette passion suscite un engagement puissant. Pour libérer la véritable valeur de la technologie pour votre entreprise, notre planète et la société pour un avenir plus inclusif et durable. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 4 Machine Translated by Google CAPGEMINI EN BREF DÉVERROUILLAGE DU VALEUR DE TECHNOLOGIE Nous avons la chance d’ être au cœur des grandes transformations d’aujourd’hui, de Travailler avec 1,9 million contribuer au développement de 85% bénéficié d'initiatives des 200 plus grands publics d'inclusion numérique tous les secteurs d’activité et de entreprises sur Forbes depuis 2018 Liste Global 2000 contribuer tout simplement à Recherche Capgemini rendre notre planète meilleure. Et 10 Institut classé nous le faisons comme nous années consécutives nommée l'une des plus grandes #1 l’avons toujours fait chez six années consécutives Entreprises éthiques par la pour la qualité de son Capgemini : avec passion et énergie, et tous ensemble. Institut Ethisphere Recherche de Source Global Recherche Aiman Ezzat Contribuer à Directeur général 11 du développement durable de l'ONU Objectifs de développement Titre de la présentation | Auteur | Date Confidentialité de Public l'entreprise © Capgemini © Capgemini 2023.2023. Tous Tous droitsdroits réservés réservés |5 |5 Machine Translated by Google JT : Mon parcours Licence Mathématiques parcours mathématiques fondamentales, Université d’Avignon. Master Mathématiques : DataMining & Recherche Opérationnelle, Université d’AixMarseille Parcours professionnel : 4 ans dans startup éditeur de logiciel : Datascientist : développement JAVA, R 3 ans dans une première ESN : Ingénieur R&D dans l’industrie SpatialDéfense : JAVA, Matlab, R Depuis 8 ans chez Capgemini Financial Services : Architecte Solutions / Chef d'équipe Architecte Solution / Chef d'équipe / Architecte Fonctionnel Coordinateur Technique Titre de la présentation | Auteur | Date Confidentiel de l'entreprise © Capgemini 2023. Tous droits réservés | 6 Machine Translated by Google JT : Mon rôle Architecte Solution / Architecte Fonctionnel Cadrage des besoins métiers. Chef d'équipe / Cadrage de l’architecture de la solution. Chef de projet Technique Encadrement d’équipe. Coordination d’équipes. Consultant / Manager Capgemini Rôle de Delegate Présentations Ecole Recrutements de consultants Avants ventes Animer / Suivre des formations. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 7 Machine Translated by Google TD : Mon parcours 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 Parcours professionnel : 6 ans chez Capgemini Apps Développeur Java, C++, Graphtalk,... 3 ans chez Capgemini PER Chef d'équipe, chef de projet 5 ans chez Capgemini Financial Services Architecte Solutions, Référent Technique Move to Cloud Architecte Solution / Responsable technique / Architecte Fonctionnel Architecture Applicative Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 8 Machine Translated by Google TD : Mon rôle Architecte Solution / Architecte Fonctionnel Cadrage des besoins métiers Responsable technique / Cadrage de l’architecture de la solution Architecture Applicative Apporter et partager les connaissances techniques clefs Traduire l’architecture de la solution en composants techniques Consultant / Manager Capgemini Recrutements de consultants Avants ventes Coaching carrière Animation des communautés architecte et DevOPS Responsabilité sociale des entreprises Titre de la présentation | Auteur | Date Confidentiel de l'entreprise © Capgemini 2023. Tous droits réservés | 9 Machine Translated by Google KN : Mon parcours Master Génie Biotechnologique et management en agroindustries, Université de La Rochelle Reconversion en développement informatique Parcours professionnel : 2 ans en tant que responsable de production en industrie agroalimentaire 6 ans chez Capgemini Financial Services Développeur Java, Api Management, architecture applicative... Architecte Solution / Responsable technique / Architecte Fonctionnel Architecture Applicative Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 10 Machine Translated by Google TD : Mon rôle Architecte Solution / Architecte Fonctionnel Cadrage des besoins métiers Responsable technique / Cadrage de l’architecture de la solution Architecture Applicative Apporter et partager les connaissances techniques clefs Traduire l’architecture de la solution en composants techniques Consultant / Manager Capgemini Recrutements de consultants Avants ventes Coaching carrière Animation de la communauté API Génération de formations Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 11 Machine Translated by Google Qui êtesvous ? Rapide tour de table : Qui êtesvous ? Quel poste vous attire ? Qu’attendezvous de cette présentation ? Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 12 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 13 Machine Translated by Google Les monolithes et leurs limites Une application monolithique est une application logicielle à un seul niveau dans laquelle différents modules sont combinés en un seul programme. Avantages : facilité de déploiement : un seul logiciel à intégrer et à expédier complexité gérée : services centralisés avec capacité de test de bout en bout faible dépendance : infrastructure propre non partagée Limites : évolutivité coûteuse : capacité à évoluer si la base de code le permet mais avec un délai et un coût d'infrastructure élevés fréquence de mise à jour : doit être déployé sous forme de package unifié, quelle que soit la mise à jour du contenu. Pas de déploiement continu rollback or die : difficile de réparer un composant défaillant rapidement et en toute sécurité, généralement le rollback est obligatoire si une défaillance critique est découverte après une mise à jour. Le rollback luimême expose à un échec. taille : les monolithes ont tendance à devenir surdimensionnés avec des fonctionnalités ajoutées au fil du temps, ce qui aggrave les limitations Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 14 Machine Translated by Google Définition et propriétés d'un microservice Un microservice implémente généralement un ensemble de fonctionnalités distinctes. Chaque microservice est une miniapplication dotée de sa propre architecture et de sa propre logique métier. Mettre en évidence les propriétés clés : Modularité : Chaque microservice représente une fonction métier spécifique. Autonomie : Chaque service est indépendant, permettant une flexibilité dans le développement et le déploiement. Décentralisation des données : chaque microservice peut avoir sa propre base de données, garantissant l'isolation des données. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 15 Machine Translated by Google Avantages des microservices Évolutivité : capacité à faire évoluer uniquement ce qui est nécessaire, réduisant ainsi le gaspillage de ressources. ie : Au lieu de mettre en file d'attente plusieurs instances du monolithe entier (des morceaux si son architecture le permet), vous n'avez qu'à mettre en file d'attente les instances des services critiques puis à libérer les ressources par la suite, Vitesse de développement : des services plus petits et indépendants permettent aux équipes de se déployer plus rapidement. Optimisation/Compatibilité : Permet d'utiliser plusieurs langages simultanément pour obtenir le maximum de performances ou de fiabilité d'une technologie dédiée. Bien que la multiplication des technologies puisse conduire à une complexité écrasante Isolation des pannes : les pannes d'un service n'entraînent pas l'arrêt de l'ensemble de l'application. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 16 Machine Translated by Google Architecture « Décentralisée » : Gouvernance & Catalogue Le passage d'une gouvernance centralisée à une gouvernance décentralisée dans les microservices Monolithes : gouvernance centralisée qui assure le déploiement d'une application unique Micro Services : par gouvernance de service, chaque équipe suit son calendrier et sa feuille de route Le catalogue de services est un référentiel répertoriant tous les services disponibles, ce qui permet aux équipes de découvrir, de réutiliser et de surveiller facilement les services. Pièges : les architectures de microservices sont plus complexes que les architectures monolithiques précédentes : un catalogage approprié est aussi essentiel que la conception des services, voire plus Les transactions distribuées, c'estàdire les transactions commerciales qui se déroulent dans plusieurs services, nécessitent une synchronisation et un séquençage. La restauration peut être délicate Gestion, tests et surveillance de bout en bout Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 17 Machine Translated by Google Exemple notable : Netflix avec AWS « Enfermé dans des bases de données massives » « Javaweb Une application qui fait tout » « Très difficile à diagnostiquer comme une fuite de mémoire en raison des multiples changements de base de code à une fois " « Latence du réseau, congestion, défaillance, logique ou échec de mise à l'échelle » Source : Maîtriser le chaos – Guide Netflix des microservices « Zuul – Couche proxy » « API Gateway qui centralise tout le catalogue API » Bien que vous puissiez remarquer que Edge et Les zones de la plateforme peuvent parler directement sans le Porte Hystrix a été créé pour éviter les pannes en cascade = SPOF Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 18 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 19 Machine Translated by Google Orientation axée sur les affaires : qu'estce que DDD Le développement piloté par le domaine (DDD) est une approche logicielle qui vise à aligner la conception du logiciel sur le domaine d'activité principal. Elle met l'accent sur la collaboration avec des experts du domaine pour créer un langage et un modèle partagés qui représentent les concepts et les règles de l'entreprise. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 20 Machine Translated by Google Orientation axée sur les affaires : qu'estce que DDD En divisant les systèmes complexes en sousdomaines et contextes délimités, DDD permet des applications flexibles et évolutives. Cela garantit que les solutions logicielles restent étroitement liées aux besoins de l’entreprise. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 21 Machine Translated by Google Disjoncteur Dans l'architecture logicielle, un disjoncteur est un modèle de conception utilisé pour empêcher les pannes en cascade dans un système. Lorsqu'un service subit des pannes répétées, le circuit « s'ouvre », arrêtant les demandes adressées à ce service et laissant le temps récupération. Une fois la stabilité vérifiée, le circuit se « ferme » et reprend son fonctionnement normal. Ce modèle améliore la résilience du système et évite de surcharger les services défectueux. Implémentations populaires : Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 22 Machine Translated by Google Disjoncteur Comportement d'un disjoncteur Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 23 Machine Translated by Google Modèle de nouvelle tentative Stratégies de mise en œuvre du mécanisme de nouvelle tentative : 1. Délai fixe : définition d'un intervalle fixe pour envoyer des demandes de nouvelle tentative à chaque fois que nous obtenons une erreur. Par exemple, RetryDelay(i) = 100 [ms] pour chaque nouvelle tentative suivante. 2. Délai incrémentiel : le délai augmente progressivement à chaque nouvelle tentative. Par exemple, RetryDelay(i) = 100*i [ms], ce qui augmente pour les requêtes suivantes. 3. Exponential BackOff : réglage exponentiel du délai en fonction de l'exigence du système. Par exemple, RetryDelay(i) = t = 100 * 2 ^(i1) [ms] Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 24 Machine Translated by Google Modèle de courtier d'événements Le modèle Event Broker dans l'architecture logicielle est un modèle de conception dans lequel un intermédiaire, appelé courtier d'événements, gère et distribue les événements entre les producteurs (éditeurs d'événements) et les consommateurs (abonnés aux événements). Le courtier d'événements dissocie les producteurs et les consommateurs, permettant une communication asynchrone et axée sur les événements sans qu'ils aient besoin de se connaître directement. Principales caractéristiques du modèle Event Broker : Routage des événements : le courtier reçoit les événements des producteurs et les livre aux consommateurs appropriés basé sur des règles, telles que des abonnements ou des sujets. Évolutivité : il permet à plusieurs consommateurs de recevoir des événements en parallèle, faisant ainsi évoluer facilement le système en fonction des nouveaux les consommateurs se joignent. Couplage lâche : les producteurs et les consommateurs sont découplés, ce qui facilite l'ajout ou la suppression de composants sans impacter le système. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 25 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 26 Machine Translated by Google Authentification et autorisation Authentification : L'authentification est le processus de confirmation de l'identité d'un utilisateur au moyen d'informations d'identification telles que des mots de passe, des jetons ou des données biométriques. Elle répond à la question « Qui êtesvous ? » Cette étape est essentielle pour sécuriser l'accès aux systèmes. Autorisation : L'autorisation détermine les autorisations accordées à un utilisateur authentifié, en définissant les actions qu'il peut effectuer ou les ressources auxquelles il peut accéder. Elle répond à la question « Qu'avezvous le droit de faire ? » L’autorisation suit généralement l’authentification. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 27 Machine Translated by Google Modèles SSO et JWT Authentification unique (SSO) : Permet aux utilisateurs de se connecter une fois et d'accéder à plusieurs applications ou services sans se réauthentifier. OAuth 2.0 : Un protocole d'autorisation qui accorde aux applications tierces un accès limité aux ressources utilisateur sans exposer les informations d'identification de l'utilisateur. OIDC (OpenID Connect) : Une couche d’identité construite 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. En résumé : SSO = Connexion unique sur plusieurs services. OAuth = Autorisation (accès aux ressources). OIDC = Authentification + Autorisation (vérification d'identité + accès aux ressources). Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 28 Machine Translated by Google Modèle OAuth Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 29 Machine Translated by Google Modèle OIDC Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 30 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 31 Machine Translated by Google Importance du CI/CD et du DevOps Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 32 Machine Translated by Google CI/CD simple pour un projet Java Banque REX Orange | Septembre 2019 © Capgemini 2019. Tous droits réservés | 33 Machine Translated by Google CI complexe pour une banque Partenaires et Gestion de projet agile écosystème Fintech DÉVELOPPEMENT Orchestrateur Dépôt de code source Créer une application 1 2 Code de validation Tests unitaires Qualité Construire Déployer l'application. 4 7 6 Environnement de déploiement Lancer des tests Configuration du système Tests Dépôt de binaires 3 Stocker les artefacts de l'application Automatisation du déploiement 5 Déployer la configuration ENVIRONNEMENTS (G2S) APPSTORES Assurance qualité PROD G2S Surveillance INT REC HOMOLE Il Mac SURVendu Points douloureux Lien vers la construction MAC PROD UTILISATEURS FINAUX Banque REX Orange | Septembre 2019 © Capgemini 2019. Tous droits réservés | 34 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 35 Machine Translated by Google Outils de journalisation centralisés (pile ELK) Introduisez des outils de journalisation centralisés comme ELK Stack (Elasticsearch, Logstash, Kibana) et Fluentd pour agréger les journaux entre les services. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 36 Machine Translated by Google Importance des journaux pour le diagnostic et la résolution des problèmes 20241112 11:30:00 INFO [httpnio8080exec1] com.example.demo.controller.UserController Demande de données utilisateur reçue, correlationId=abcd1234 20241112 11:30:01 INFO [httpnio8080exec2] com.example.demo.controller.OrderController Demande de création de commande reçue, correlationId=wxyz5678 20241112 11:30:02 DEBUG [http nio8080exec3] com.example.demo.controller.AnalyticsController Démarrage du processus d'analyse, correlationId=mnop6789 20241112 11:30:03 INFO [httpnio8080exec1] com.example.demo.service.UserService Récupération des données utilisateur pour l'ID 1, correlationId=abcd1234 20241112 11:30:04 DEBUG [httpnio8080exec2] com.example.demo.repository.OrderRepository Persistance de la nouvelle commande, correlationId=wxyz5678 20241112 11:30:05 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire, correlationId=qrst1122 20241112 11:30:06 INFO [httpnio8080exec1] com.example.demo.repository.UserRepository Récupération de l'utilisateur avec l'ID 1, correlationId=abcd1234 20241112 11:30:07 DEBUG [httpnio8080exec3] com.example.demo.service.AnalyticsService Interrogation de la base de données pour l'analyse, correlationId=mnop6789 20241112 11:30:08 INFO [httpnio8080exec2] com.example.demo.service.OrderService Commande créée avec succès, correlationId=wxyz5678 20241112 11:30:09 WARN [httpnio8080exec4] com.example.demo.service.InventoryService Inventaire faible pour ID produit 1001, correlationId=qrst1122 20241112 11:30:10 DEBUG [httpnio8080exec5] com.example.demo.integration.EmailService Envoi d'un email de confirmation, correlationId=wxyz5678 20241112 11:30:11 INFO [httpnio8080exec6] com.example.demo.controller.PaymentController Lancement du paiement, correlationId=wxyz5678 20241112 11:30:12 DEBUG [httpnio8080exec7] com.example.demo.controller.UserController Demande reçue pour le profil utilisateur, correlationId=abcd1234 20241112 11:30:13 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire terminée, correlationId=qrst1122 20241112 11:30:14 ERREUR [httpnio8080exec6] com.example.demo.integration.BankingService Échec du traitement du paiement, correlationId=wxyz5678 20241112 11:30:15 INFO [httpnio8080exec3] com.example.demo.controller.AnalyticsController Processus d'analyse terminé, correlationId=mnop6789 20241112 11:30:16 DÉBOGAGE [httpnio8080exec8] com.example.demo.controller.ShippingController Demande d'expédition initiée, correlationId=wxyz5678 20241112 11:30:17 INFO [httpnio8080exec5] com.example.demo.controller.NotificationController Envoi de notification, correlationId=ijkl2345 20241112 11:30:18 DEBUG [httpnio8080exec1] com.example.demo.repository.UserRepository Mise à jour du profil utilisateur, correlationId=abcd1234 20241112 11:30:19 INFO [httpnio8080exec2] com.example.demo.service.PaymentService Nouvelle tentative de paiement planifiée, correlationId=wxyz5678 20241112 11:30:20 INFO [httpnio8080exec3] com.example.demo.controller.AnalyticsController Envoi de données d'analyse, correlationId=mnop6789 20241112 11:30:21 WARN [httpnio8080exec6] com.example.demo.controller.PaymentController Nouvelle tentative de paiement, correlationId=wxyz5678 20241112 11:30:22 DEBUG [httpnio8080exec8] com.example.demo.integration.ShippingProvider Envoi de la demande d'expédition, INFO [httpnio8080exec7] com.example.demo.controller.UserController Mise à jour du profil terminée, correlationId=abcd1234 20241112 11:30:24 INFO [httpnio8080exec5] com.example.demo.service.NotificationService Notification envoyée, correlationId=ijkl2345 20241112 11:30:25 DEBUG [httpnio8080exec3] com.example.demo.repository.AnalyticsRepository Données d'analyse persistantes, correlationId=mnop6789 20241112 11:30:26 INFO [httpnio8080exec4] com.example.demo.controller.OrderController Demande d'état de commande reçue, correlationId=wxyz5678 20241112 11:30:27 DEBUG [httpnio8080exec2] com.example.demo.repository.OrderRepository Vérification de l'état de la commande, correlationId=wxyz5678 20241112 11:30:28 INFO [http nio8080exec1] com.example.demo.controller.UserController Récupération des données de profil mises à jour, correlationId=abcd1234 20241112 11:30:29 INFO [http nio8080exec6] com.example.demo.controller.PaymentController Paiement traité avec succès, correlationId=wxyz5678 20241112 11:30:30 AVERTISSEMENT [httpnio8080 exec7] com.example.demo.service.UserService Données de profil incomplètes, correlationId=abcd1234 Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 37 Machine Translated by Google Importance des journaux pour le diagnostic et la résolution des problèmes 20241112 11:30:00 INFO [httpnio8080exec1] com.example.demo.controller.UserController Demande de données utilisateur reçue, correlationId=abcd1234 20241112 11:30:01 INFO [httpnio8080exec2] com.example.demo.controller.OrderController Demande de création de commande reçue, correlationId=wxyz5678 20241112 11:30:02 DEBUG [http nio8080exec3] com.example.demo.controller.AnalyticsController Démarrage du processus d'analyse, correlationId=mnop6789 20241112 11:30:03 INFO [httpnio8080exec1] com.example.demo.service.UserService Récupération des données utilisateur pour l'ID 1, correlationId=abcd1234 20241112 11:30:04 DEBUG [httpnio8080exec2] com.example.demo.repository.OrderRepository Persistance de la nouvelle commande, correlationId=wxyz5678 20241112 11:30:05 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire, correlationId=qrst1122 20241112 11:30:06 INFO [httpnio8080exec1] com.example.demo.repository.UserRepository Récupération de l'utilisateur avec l'ID 1, correlationId=abcd1234 20241112 11:30:07 DEBUG [httpnio8080exec3] com.example.demo.service.AnalyticsService Interrogation de la base de données pour l'analyse, correlationId=mnop6789 20241112 11:30:08 INFO [httpnio8080exec2] com.example.demo.service.OrderService Commande créée avec succès, correlationId=wxyz5678 20241112 11:30:09 WARN [httpnio8080exec4] com.example.demo.service.InventoryService Inventaire faible pour ID produit 1001, correlationId=qrst1122 20241112 11:30:10 DEBUG [httpnio8080exec5] com.example.demo.integration.EmailService Envoi d'un email de confirmation, correlationId=wxyz5678 20241112 11:30:11 INFO [httpnio8080exec6] com.example.demo.controller.PaymentController Lancement du paiement, correlationId=wxyz5678 20241112 11:30:12 DEBUG [httpnio8080exec7] com.example.demo.controller.UserController Demande reçue pour le profil utilisateur, correlationId=abcd1234 20241112 11:30:13 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire terminée, correlationId=qrst1122 20241112 11:30:14 ERREUR [httpnio8080exec6] com.example.demo.integration.BankingService Échec du traitement du paiement, correlationId=wxyz5678 20241112 11:30:15 INFO [httpnio8080exec3] com.example.demo.controller. AnalyticsController Processus d'analyse terminé, correlationId=mnop6789 20241112 11:30:16 DEBUG [httpnio8080exec8] com.example.demo.controller.ShippingController Demande d'expédition initiée, correlationId=wxyz5678 20241112 11:30:17 INFO [httpnio8080exec5] com.example.demo.controller. AnalyticsController Envoi d'une notification, correlationId=ijkl2345 20241112 11:30:18 DEBUG [httpnio8080exec1] com.example.demo.repository.UserRepository Mise à jour du profil utilisateur, correlationId=abcd1234 20241112 11:30:19 INFO [httpnio8080exec2] com.example.demo.service.PaymentService Nouvelle tentative de paiement planifiée, correlationId=wxyz5678 20241112 11:30:20 INFO [httpnio8080exec3] com.example.demo.controller. AnalyticsController Envoi de données d'analyse, correlationId=mnop6789 20241112 11:30:21 WARN [httpnio8080exec6] com.example.demo.controller.PaymentController Nouvelle tentative de paiement, correlationId=wxyz5678 20241112 11:30:22 DEBUG [httpnio8080exec8] com.example.demo.integration.ShippingProvider Envoi de la demande d'expédition, correlationId=wxyz5678 20241112 11:30:23 INFO [httpnio8080exec7] com.example.demo.controller.UserController Mise à jour du profil terminée, correlationId=abcd1234 20241112 11:30:24 INFO [httpnio8080exec5] com.exemple.demo.service. AnalyticsController Notification envoyée, correlationId=ijkl2345 20241112 11:30:25 DEBUG [httpnio8080exec3] com.example.demo.repository.AnalyticsRepository Données d'analyse persistantes, correlationId=mnop6789 20241112 11:30:26 INFO [httpnio8080exec4] com.example.demo.controller.OrderController Demande d'état de commande reçue, correlationId=wxyz5678 20241112 11:30:27 DEBUG [httpnio8080 exec2] com.example.demo.repository.OrderRepository Vérification de l'état de la commande, INFO [httpnio8080exec1] com.example.demo.controller.UserController Récupération des données de profil mises à jour, correlationId=abcd1234 20241112 11:30:29 INFO [httpnio8080exec6] com.example.demo.controller.PaymentController Paiement traité avec succès, correlationId=wxyz5678 20241112 11:30:30 WARN [httpnio8080exec7] com.example.demo.service.UserService Données de profil incomplètes, correlationId=abcd1234 Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 38 Machine Translated by Google Importance des journaux pour le diagnostic et la résolution des problèmes 20241112 11:30:02 DEBUG [httpnio8080exec3] com.example.demo.controller.AnalyticsController Démarrage du processus d'analyse, correlationId=mnop6789 20241112 11:30:15 INFO [httpnio8080exec3] com.example.demo.controller. AnalyticsController Processus d'analyse terminé, correlationId=mnop6789 20241112 11:30:17 INFO [httpnio8080exec5] com.example.demo.controller. AnalyticsController Envoi de notification, correlationId=ijkl2345 20241112 11:30:20 INFO [httpnio8080exec3] com.example.demo.controller. AnalyticsController Envoi de données d'analyse, correlationId=mnop6789 20241112 11:30:24 INFO [httpnio8080exec5] com.example.demo.service. AnalyticsController Notification envoyée, correlationId=ijkl2345 MNOP6789 Contrôleur d'analyse ijkl2345 Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 39 Machine Translated by Google Importance des journaux pour le diagnostic et la résolution des problèmes 20241112 11:30:00 INFO [httpnio8080exec1] com.example.demo.controller.UserController Demande de données utilisateur reçue, correlationId=abcd1234 20241112 11:30:01 INFO [httpnio8080exec2] com.example.demo.controller.OrderController Demande de création de commande reçue, correlationId=wxyz5678 20241112 11:30:02 DEBUG [http nio8080exec3] com.example.demo.controller.AnalyticsController Démarrage du processus d'analyse, correlationId=mnop6789 20241112 11:30:03 INFO [httpnio8080exec1] com.example.demo.service.UserService Récupération des données utilisateur pour l'ID 1, correlationId=abcd1234 20241112 11:30:04 DEBUG [httpnio8080exec2] com.example.demo.repository.OrderRepository Persistance de la nouvelle commande, correlationId=wxyz5678 20241112 11:30:05 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire, correlationId=qrst1122 20241112 11:30:06 INFO [httpnio8080exec1] com.example.demo.repository.UserRepository Récupération de l'utilisateur avec l'ID 1, correlationId=abcd1234 20241112 11:30:07 DEBUG [httpnio8080exec3] com.example.demo.service.AnalyticsService Interrogation de la base de données pour l'analyse, correlationId=mnop6789 20241112 11:30:08 INFO [httpnio8080exec2] com.example.demo.service.OrderService Commande créée avec succès, correlationId=wxyz5678 20241112 11:30:09 WARN [httpnio8080exec4] com.example.demo.service.InventoryService Inventaire faible pour ID produit 1001, correlationId=qrst1122 20241112 11:30:10 DEBUG [httpnio8080exec5] com.example.demo.integration.EmailService Envoi d'un email de confirmation, correlationId=wxyz5678 20241112 11:30:11 INFO [httpnio8080exec6] com.example.demo.controller.PaymentController Lancement du paiement, correlationId=wxyz5678 20241112 11:30:12 DEBUG [httpnio8080exec7] com.example.demo.controller.UserController Demande reçue pour le profil utilisateur, correlationId=abcd1234 20241112 11:30:13 INFO [httpnio8080exec4] com.example.demo.controller.InventoryController Vérification de l'inventaire terminée, correlationId=qrst1122 20241112 11:30:14 ERREUR [httpnio8080exec6] com.example.demo.integration.BankingService Échec du traitement du paiement, correlationId=wxyz5678 20241112 11:30:15 INFO [httpnio8080exec3] com.example.demo.controller.AnalyticsController Processus d'analyse terminé, correlationId=mnop6789 20241112 11:30:16 DÉBOGAGE [httpnio8080exec8] com.example.demo.controller.ShippingController Demande d'expédition initiée, correlationId=wxyz5678 20241112 11:30:17 INFO [httpnio8080exec5] com.example.demo.controller.NotificationController Envoi de notification, correlationId=ijkl2345 20241112 11:30:18 DEBUG [httpnio8080exec1] com.example.demo.repository.UserRepository Mise à jour du profil utilisateur, correlationId=abcd1234 20241112 11:30:19 INFO [httpnio8080exec2] com.example.demo.service.PaymentService Nouvelle tentative de paiement planifiée, correlationId=wxyz5678 20241112 11:30:20 INFO [httpnio8080exec3] com.example.demo.controller.AnalyticsController Envoi de données d'analyse, correlationId=mnop6789 20241112 11:30:21 WARN [httpnio8080exec6] com.example.demo.controller.PaymentController Nouvelle tentative de paiement, correlationId=wxyz5678 20241112 11:30:22 DEBUG [httpnio8080exec8] com.example.demo.integration.ShippingProvider Envoi de la demande d'expédition, INFO [httpnio8080exec7] com.example.demo.controller.UserController Mise à jour du profil terminée, correlationId=abcd1234 20241112 11:30:24 INFO [httpnio8080exec5] com.example.demo.service.NotificationService Notification envoyée, correlationId=ijkl2345 20241112 11:30:25 DEBUG [httpnio8080exec3] com.example.demo.repository.AnalyticsRepository Données d'analyse persistantes, correlationId=mnop6789 20241112 11:30:26 INFO [httpnio8080exec4] com.example.demo.controller.OrderController Demande d'état de commande reçue, correlationId=wxyz5678 20241112 11:30:27 DEBUG [httpnio8080exec2] com.example.demo.repository.OrderRepository Vérification de l'état de la commande, correlationId=wxyz5678 20241112 11:30:28 INFO [http nio8080exec1] com.example.demo.controller.UserController Récupération des données de profil mises à jour, correlationId=abcd1234 20241112 11:30:29 INFO [http nio8080exec6] com.example.demo.controller.PaymentController Paiement traité avec succès, correlationId=wxyz5678 20241112 11:30:30 AVERTISSEMENT [httpnio8080 exec7] com.example.demo.service.UserService Données de profil incomplètes, correlationId=abcd1234 Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 40 Machine Translated by Google Importance des journaux pour le diagnostic et la résolution des problèmes 20241112 11:30:00 INFO [httpnio8080exec1] com.example.demo.controller.UserController Demande reçue pour les données utilisateur, correlationId=abcd1234 20241112 11:30:03 INFO [httpnio8080exec1] com.example.demo.service.UserService Récupération des données utilisateur pour l'ID 1, correlationId=abcd1234 20241112 11:30:06 INFO [httpnio8080exec1] com.example.demo.repository.UserRepository Récupération de l'utilisateur avec l'ID 1, correlationId=abcd1234 20241112 11:30:12 DEBUG [httpnio8080exec7] com.example.demo.controller.UserController Demande reçue pour le profil utilisateur, correlationId=abcd1234 20241112 11:30:18 DEBUG [httpnio8080exec1] com.example.demo.repository.UserRepository Mise à jour du profil utilisateur, correlationId=abcd1234 20241112 11:30:23 INFO [httpnio8080exec7] com.example.demo.controller.UserController Mise à jour du profil terminée, correlationId=abcd1234 20241112 11:30:28 INFO [httpnio8080exec1] com.example.demo.controller.UserController Récupération des données de profil mises à jour, correlationId=abcd1234 abcd1234 Service utilisateur abcd1234 Contrôleur d'utilisateur abcd1234 abcd1234 Référentiel d'utilisateurs Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 41 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 42 Machine Translated by Google Introduction aux outils de surveillance (Prometheus, Grafana, Splunk) 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 diverses 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. es des logs et des événements en temps réel. Grappana 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. Elle permet aux utilisateurs d'analyser et de surveiller les données à des fins de sécurité, d'opérations informatiques et de veille stratégique. Splunk excelle dans la gestion de gros volumes de journaux et d'événements en tem Splunk Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 43 Machine Translated by Google Introduction aux outils de surveillance (Prometheus, Grafana, Splunk) Système / API Surveillance Prométhée Grappana Log4J Splunk Titre de la présentation | Auteur | Date Confidentiel de l'entreprise © Capgemini 2023. Tous droits réservés | 44 Machine Translated by Google Importance de l'observabilité : mesures, alertes, Suivi des performances Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 45 Machine Translated by Google Importance de l'observabilité : mesures, alertes, Suivi des performances Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 46 Machine Translated by Google ORDRE DU JOUR 1 À propos de nous 2 Introduction aux microservices 3 Modèles essentiels de microservices 4 Sécurisation des microservices 5 Déploiement et maintenance des microservices 6 Enregistrement 7 Surveillance 8 Introduction au Cloud Computing Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 47 Machine Translated by Google J'AI ENTENDU PARLER DE CLOUD PUBLIC ET PRIVÉ, IAAS, PAAS & SAAS, … Publique Cloud public Cloud privé Privé Solution Cloud au sein d'un datacenter privé, avec son propre catalogue de services Combinaison d'un centre de données sur site Hybride Cloud hybride avec un cloud privé et/ou public Connaître Amazon CloudWatch Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 48 Machine Translated by Google OÙ EST LE NUAGE? Le cloud n’est pas vague : vous pouvez identifier exactement où résideront vos charges de travail et vos données Les fournisseurs de Cloud mondiaux proposent généralement différentes régions, isolées les unes des autres. Aucune donnée ni charge de travail ne quitte sa région (sauf instruction contraire de votre part). Vous devez choisir lequel(s) utiliser. Chaque région se compose généralement de trois zones de disponibilité. Il s’agit de centres de données distincts et situés à proximité les uns des autres, offrant une redondance ainsi qu’une faible latence. Pour les services de bas niveau, vous pouvez choisir lequel(s) utiliser. Tout est connecté via un réseau dédié appartenant au fournisseur. Chaque grand fournisseur de cloud dispose d'une capacité de réseau AWS, janvier 2022 contre juin 2021, https://www.infrastructure.aws/ globale 5 à 10 fois supérieure à celle de l'ensemble de l'Internet public. https://aws.amazon.com/aboutaws/globalinfrastructure/ 30 régions (+15%) Cette infrastructure est souvent complétée par des emplacements Edge 96 zones de disponibilité (+8%) supplémentaires (pour l'entrée/sortie de données, la mise en > 400 emplacements périphériques (+ 33 %) cache, le prétraitement, la connexion directe) et peut même être étendue sur plusieurs réseaux de fibre optique de 10 000 km avec plusieurs liaisons de 100 Gbps vos locaux avec des appareils dédiés. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 49 Machine Translated by Google UN SERVICE CLOUD C'EST... 1. UN SERVICE INFORMATIQUE À LA DEMANDE 2. BASÉ SUR UN DÉPLOIEMENT AUTOMATISÉ 3. PERMETTRE L'ÉLASTICITÉ 4. DANS UN MODÈLE « PAY PER USE » Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 50 Machine Translated by Google DIFFÉRENCES ENTRE LES PROJETS NON CLOUD ET CLOUD (DU POINT DE VUE DE L'ARCHITECTE ET DE L'INGÉNIEUR) Projets noncloud Projets Cloud « Animaux « Bovins » de compagnie » On leur On leur donne des numéros donne des noms Ils sont uniques, élevés à la main avec amour et Ils sont presque identiques aux autres bovins Il suffit soignés Vous ressentez le besoin d'avoir exactement celuilà d'en avoir suffisamment de cette espèce (peu importe lequel) Lorsqu'ils Lorsqu'ils tombent malades, vous les soignez jusqu'à ce qu'ils soient en tombent malades, vous « leur tirez dessus et vous en obtenez un nouveau » bonne santé Ils sont profondément intégrés dans votre environnement familial Vous n'avez que très peu ou pas de dépendance à votre environnement vous vous souciez simplement du résultat Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 51 Machine Translated by Google PASSIFS (CLOUDER VS CLIENT) https://aws.amazon.com/compliance/sharedresponsibilitymodel/ Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 52 Machine Translated by Google MERCI ! Thomas Desrut Architecte Solution Kévin Navarri Julien Trouillet Architecte Solution Architecte Solution Expérience client numérique Services financiers SBU SBU Services financiers, applications cloud et SBU Services Financiers Cloud & Applications [email protected] personnalisées Personnalisées [email protected] [email protected] Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 53 Machine Translated by Google Pour aller plus loin : Comment construire des microservices à partir d’un monolithe ? Comment construire un microservice ? La première étape de la création d’un microservice consiste à décomposer une application en un ensemble de services. Analyser le monolithe : comprendre en profondeur l’application monolithique existante, y compris son architecture, ses dépendances et ses fonctionnalités. 1. Identifier les capacités commerciales : Déterminez les capacités ou fonctionnalités commerciales distinctes du monolithe. Il peut s’agir de fonctionnalités, de modules ou de services qui peuvent être séparés de manière logique. 2. Définir les limites des services : établissez des limites claires pour chaque microservice. Identifiez les responsabilités de chaque microservice et assurezvous que ces responsabilités sont cohérentes et bien définies. 3. Découplage des données : examinez les dépendances des données et décidez comment les données seront partagées entre les microservices. Vous devrez peutêtre introduire la réplication des données, la synchronisation des données et des bases de données distinctes pour chaque microservice. 4. Protocoles de communication : définissez les protocoles de communication et les API entre les microservices. Les API RESTful, gRPC ou les files d'attente de messages sont couramment utilisées pour la communication interservices. 5. Bases de code distinctes : créez des bases de code différentes pour chaque microservice. Cela peut impliquer l'extraction du code et des fonctionnalités pertinentes du monolithe dans des référentiels individuels ou sous forme de packages dans un référentiel mono stratégie. 6. Décomposer la base de données : si l’application monolithique repose sur une seule base de données, vous devrez peutêtre diviser la base de données en bases de données plus petites ou en schéma au sein d’une base de données pour chaque microservice. 7. Implémenter la logique de service : développer la logique métier pour chaque microservice. Veiller à ce que chaque microservice puisse fonctionner de manière indépendante et assumer ses responsabilités spécifiques. 8. Intégration et tests : créez des tests d'intégration approfondis pour garantir que les microservices peuvent communiquer et fonctionner ensemble comme prévu. Utilisez l'intégration continue (CI) et les tests automatisés pour maintenir la qualité du code. 9. Documentation : maintenez une documentation complète pour chaque microservice, y compris la documentation de l'API et les directives d'utilisation pour les développeurs qui interagiront avec les services. Titre de la présentation | Auteur | Date Confidentialité de l'entreprise © Capgemini 2023. Tous droits réservés | 54 Machine Translated by Google OBTENEZ LE AVENIR TU VEUX capgemini.com Machine Translated by Google À propos de Capgemini Capgemini est un leader mondial dans le partenariat avec les entreprises pour transformer et gérer leur activité en exploitant la puissance de la technologie. Le Groupe est guidé au quotidien par son objectif est de libérer l'énergie humaine grâce à la technologie pour un monde inclusif et avenir durable. C'est une organisation responsable et diversifiée de plus de 360 000 employés membres dans plus de 50 pays. Avec son solide héritage de 55 ans et sa profonde industrie Fort de son expertise, Capgemini bénéficie de la confiance de ses clients pour répondre à l'ensemble de leurs besoins. besoins commerciaux, de la stratégie et de la conception aux opérations, alimentés par l'évolution rapide et monde innovant du cloud, des données, de l'IA, de la connectivité, des logiciels, de l'ingénierie numérique et plateformes. Le Groupe a réalisé en 2022 un chiffre d'affaires mondial de 22 milliards d'euros. YouTube Obtenez l'avenir que vous souhaitez | www.capgemini.com Facebook LinkedIn SlideShare Gazouillement Cette présentation contient des informations qui peuvent être privilégiées ou confidentielles et sont la propriété du Groupe Capgemini. Copyright © 2023 Capgemini. Tous droits réservés.