Podcast
Questions and Answers
Quel est l'objectif principal des outils de logging centralisés comme l'ELK Stack ?
Quel est l'objectif principal des outils de logging centralisés comme l'ELK Stack ?
- Améliorer la performance des services
- Réduire le coût des opérations
- Sécuriser les données utilisateurs
- Aggréger les logs à travers les services (correct)
Quel type de message indique un problème potentiel dans les logs d'application ?
Quel type de message indique un problème potentiel dans les logs d'application ?
- DEBUG
- WARN
- INFO
- ERROR (correct)
Quel est le rôle d'un 'correlationId' dans les logs ?
Quel est le rôle d'un 'correlationId' dans les logs ?
- Suivre les requêtes à travers différentes microservices (correct)
- Sécuriser les nouvelles connexions
- Identifier l'utilisateur qui effectue une action
- Réduire le volume des logs générés
Quel type d'information serait moins pertinent pour le diagnostic d'une application dans les logs ?
Quel type d'information serait moins pertinent pour le diagnostic d'une application dans les logs ?
Quelle information devrait être incluse dans un message de log pour assurer une meilleure traçabilité ?
Quelle information devrait être incluse dans un message de log pour assurer une meilleure traçabilité ?
Quel est le principal avantage du SSO ?
Quel est le principal avantage du SSO ?
Quelle affirmation décrit le mieux OAuth 2.0 ?
Quelle affirmation décrit le mieux OAuth 2.0 ?
Quel est le rôle principal d'OIDC ?
Quel est le rôle principal d'OIDC ?
Quelle est la différence principale entre SSO et OIDC ?
Quelle est la différence principale entre SSO et OIDC ?
Comment peut-on résumer OIDC ?
Comment peut-on résumer OIDC ?
Quel est le niveau du message qui indique que le traitement des paiements a échoué ?
Quel est le niveau du message qui indique que le traitement des paiements a échoué ?
Quel contrôle est effectué par le InventoryController après la création d'une commande ?
Quel contrôle est effectué par le InventoryController après la création d'une commande ?
Quel est l'ordre correct des événements liés à la commande wxyz-5678 ?
Quel est l'ordre correct des événements liés à la commande wxyz-5678 ?
Quel message est émis lorsque le service de banque rencontre une erreur ?
Quel message est émis lorsque le service de banque rencontre une erreur ?
Quelle opération est effectuée à la suite de la réception d'une demande de profil utilisateur ?
Quelle opération est effectuée à la suite de la réception d'une demande de profil utilisateur ?
Flashcards
OAuth 2.0
OAuth 2.0
Un protocole d'autorisation qui permet aux applications tierces d'accéder à des ressources utilisateur limitées sans exposer les informations d'identification de l'utilisateur.
OIDC (OpenID Connect)
OIDC (OpenID Connect)
Une couche d'identité construite au-dessus d'OAuth 2.0, utilisée pour vérifier l'identité de l'utilisateur et accéder à des informations de profil, souvent dans des contextes SSO.
SSO (Single Sign-On)
SSO (Single Sign-On)
Un système qui permet aux utilisateurs de se connecter une seule fois pour accéder à plusieurs applications ou services sans avoir à s'authentifier à nouveau.
CI/CD
CI/CD
Signup and view all the flashcards
DevOps
DevOps
Signup and view all the flashcards
Qu'est-ce qu'un journal d'événements ?
Qu'est-ce qu'un journal d'événements ?
Signup and view all the flashcards
Quels sont les niveaux de journalisation ?
Quels sont les niveaux de journalisation ?
Signup and view all the flashcards
A quoi sert un ID de corrélation ?
A quoi sert un ID de corrélation ?
Signup and view all the flashcards
Comment les journaux peuvent-ils aider à comprendre un système ?
Comment les journaux peuvent-ils aider à comprendre un système ?
Signup and view all the flashcards
Quels sont les avantages d'analyser les journaux ?
Quels sont les avantages d'analyser les journaux ?
Signup and view all the flashcards
L'importance des journaux
L'importance des journaux
Signup and view all the flashcards
Identifiant de corrélation
Identifiant de corrélation
Signup and view all the flashcards
Journalisation centralisée
Journalisation centralisée
Signup and view all the flashcards
Outils de journalisation centralisée
Outils de journalisation centralisée
Signup and view all the flashcards
Niveaux de journalisation
Niveaux de journalisation
Signup and view all the flashcards
Study Notes
Microservices & Cloud Computing Course
- Dates: November 20/2024 - 21/2024
- Location: ESIEA - 4a
- Presenters: Kevin Navarri, Thomas Desrut, Julien Trouillet
- Course Content: The course will cover several presentations concerning cloud concepts, including:
- Introduction to Information Systems (SI)
- Microservices & Cloud Computing
- Cloud Architecture
- Cloud Scalability
Agenda
- Agenda (Day 1 & 2): Introduction to Microservices, Essential Microservices Patterns, Securing Microservices, Deploying and Maintaining Microservices, Logging, Monitoring, Introduction to Cloud Computing
Agenda (Detailed)
- Day 1 & 2 Topics:
- About Us (overview of the presenters and Capgemini)
- Introduction to Microservices (fundamental concepts and definitions)
- Essential Microservices Patterns
- Securing Microservices
- Deploying and Maintaining Microservices
- Logging
- Monitoring
- Cloud Computing Introduction
Capgemini Profile
- Global Leader: Capgemini partners with companies to transform and manage their businesses using technology, aiming for an inclusive and sustainable future.
- Responsible & Diverse: More than 360,000 team members in over 50 countries leverage cloud, data, AI, connectivity, software, etc.
Architectes' and Engineers' Career Paths:
-
JT (Julien Trouillet) :
- Education: Licence Mathématiques parcours mathématiques fondamentales, Université d'Avignon / Master Mathématiques : Data-Mining & Recherche Opérationnelle, Université d'Aix-Marseille
- Experience: 4 years in a start-up (data scientist - Java, R) / 3 years in an ESN (Engineer R&D, spatial defence sector - Java, Matlab, R)
- Current role: 8 years at Capgemini Financial Services (architect solution / team lead)
-
TD (Thomas Desrut) :
- Education: 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
- Experience: (6+ years) at Capgemini Apps - (3+ years) at Capgemini Per - (5+ years) at Capgemini Financial Services (architect solution/team lead)
-
KN (Kevin Navarri) :
- Education: Master Génie Biotechnologique et management en agro-industries, Université de La Rochelle
- Experience: (2 years) in agro-industry production / (6+ years) at Capgemini Financial Services (developer Java, API Management, architecture applicative)
Roles & Responsibilities (Examples)
- JT Role: Architect Solution / Architect Functionnel / Team Lead / Technical Coordinator/ Consultant/ Manager Capgemini
- TD Role: Architect Solution / Architect Functionnel / Technical Lead (architecture applicative)
Monoliths and Microservices
-
Monoliths : Single-tiered software, combining modules into a single program.
- Benefits: Easy Deployment, Managed Complexity, Low Dependency
- Limitations: Expensive Scalability, Low Update Frequency, Issues with Rollbacks
-
Microservices : Implement discrete functionalities, each being a mini-application.
- Properties: Modularity (specific business functions), Autonomy (independent development and deployment), Data Decentralization (each microservice typically has its own database).
- Benefits: Scalability, Faster Development, Fault Isoliation
CI/CD and DevOps
- CI/CD (Continuous Integration/Continuous Deployment) and DevOps:
- Key stages: plan, design, development, feedback, release, test, deploy and operate
- Tools frequently used with DevOps, and CI/CD Jenkins, Bitrise, Kubernetes, Docker, Github, SonarQube
Logging
- Importance: Crucial for diagnostics and problem resolution.
- Tools: Centralized tools like ELK Stack (Elasticsearch, Logstash, Kibana) are frequently used.
Monitoring
- Importance: Real-time observability for performance tracking and issue detection.
- Tools: Grafana, Splunk are used for dashboards, visualization and analysis.
- Metrics: Essential for performance monitoring. Examples: CPU usage, memory usage, traffic rates.
Cloud Computing (Public, Private, Hybrid)
- Public Cloud: Services provided by a third-party provider, typically on a pay-per-use basis.
- Private Cloud: A dedicated cloud environment controlled by a single organization.
- Hybrid Cloud: A combination of on-premises and cloud environments for flexibility.
- IaaS, PaaS, SaaS: Different cloud service models (Infrastructure as a Service, Platform as a Service, Software as a Service).
Differences between Non-Cloud & Cloud Projects
- Non-Cloud (Pets): Unique, highly specific, and well-maintained.
- Cloud (Cattle): Many instances, standardized, easily replaced.
Liabilities (Cloud vs. Client)
- Customer Responsibility: Security in the cloud (client-side data encryption, authentication procedures)
- Cloud Provider Responsibility: Security of the cloud (infrastructure, platform, network)
Security
- Authentication: Verifying a user's identity (e.g., using passwords).
- Authorization: Determining a user's permissions (e.g., access to particular resources).
- SSO (Single Sign-On): Enables single login for multiple applications.
- OAuth, OIDC: Authorization standards that enable third-party applications to access user data without exposing credentials.
Patterns (e.g. OAuth & OIDC).
- OAuth, OIDC use cases: Secure access, protect user’s data, implement single sign-ons.
Microservice-Design: Design Patterns and implementation steps to create microservices :
- Event broker Pattern : (asynchronous communication between producer and consumers; decoupled components).
- Retry pattern - strategy for when a client or service fails to respond within a timeout
- Circuit breaker pattern – stops a broken or unstable service to avoid cascading failures.
Key takeaways for future learning:
- There is an emphasis on data visualization and analysis (dashboarding).
- The shared language use is a key concept.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.