Architecture Flashcards
Quel est l’objectif d’une API Gateway ?
Cacher l’url des micros service, pour n’exposer qu’une seule URL, celle de la Gateway. Cela devient plus simple pour les clients.
Pour qui est utile une API Gateway ?
Pour les clients externes. Mais aussi peut être pour gérer la découverte des services…
Que peut accomplir une API Gateway ?
Routage, authentification, logs, suivi des requêtes, metrics
Qu’est ce que Cloudflare ?
C’est un reverse proxy
Qu’est ce que va améliorer Cloudflare ?
Va nous améliorer la sécurité, la performance et la fiabilité de notre site
Comment cloudflare va améliorer la sécurité de notre site ?
Etant un reverse proxy, il va pouvoir nous protéger des bots, et surtout des attaques DDOS. En ayant plusieurs datacenter, on s’assure que le proxy ne va jamais tomber. Cloudflare est aussi spécialisé dans la détéction de DDOS.
Comment cloudflare va améliorer les performances de notre site ?
Il a une mise en cache, répartie en plusieurs datacenter. C’est le plus proche qui va nous délivrer le document. Il est aussi bon dans la compression de documents
Comment cloudflare va améliorer la fiabilité de notre site ?
Il va pouvoir fonctionner comme un load balancer, qui ne peut pas tomber grâce à ses datacenter.
Comment mettre en place Cloudflare ?
Suivre les consignes du dashboard, mais surtout changer les champ NS du DNS pour rediriger vers un serveur Cloudflare.
Qu’est ce qu’un application monolithique ?
un seul bloc, c’est à dire 1 application qui contient beaucoup de service. Une application monolithique a donc beaucoup de responsabilité.
Qu’est ce qu’une architecture micro-services ?
Plusieurs applications, avec chacune une seule grosse responsabilité. Ces applications font communiquer entre elles, pour former un système solide
Quels sont les avantages d’une architecture monolithique ?
Maintenance simplifiée, déploiement facile, cohérence (les micro services, quand l’api saute, c’est des erreurs au runtime)
Quels sont les avantages d’une architecture micro-service ?
Diviser le travail entre plusieurs développeurs est plus simple (choix du langage, diviser de la responsabilité, sa propre manière de dev…), réduction de l’impact des pannes (un seul service, pas le gros bloc entier), Scalibilité simplifée : on donne des ressources que aux services critiques
Quels sont les défis d’une archi micro service ?
Données : le relationnel devient plus compliqué, les tests deviennent plus compliqués (il faut mocker les retours des autres services), déploiement (il faut mettre en place des outils pour automatiser les deploy), les logs sont centraux, il faut des outils pour surveiller le système
Définition SI ?
Ensemble organisé de ressources qui permet de collecter, stocker, traiter et distribuer de l’information
Qu’est ce qu’un développeur architecte ?
Responsable conception/modélisation SI, s’assurer une bonne orchestration des composants, veille technologique et anticipation, positionnement stratégique du SI dans la boîte.
Que veut dire CORBA ?
Common Object Request Broker Architecture
Quel est l’objectif de CORBA ?
Fournir des interfaces entre client/server, indépendament du langage de programmation utilisé
Qu’est ce que la phase de mapping dans CORBA ?
On créé un fichier .idl qui va représente l’interface de nos objets à faire communiquer. On va ensuite compiler, une fois pour le client, une fois pour le serveur. On va à chaque fois préciser le langage utilisé
Quels sont les fichiers générés par CORBA ?
Chien, l’objet métier, ChienOperations, ChienPOA , ChienStub, ChienHelper. (Chien est un exemple)
A quoi sert le fichier Operations dans CORBA ?
Interface des méthodes de l’objet
A quoi sert le fichier Operations dans CORBA ?
Interface des méthodes de l’objet
A quoi sert le fichier POA dans CORBA ?
Le skeleton qui va englober l’objet CORBA. Réalise le déballage des opérations (requêtes CORBA envoyées par le client) et l’emballage des résultats (réponse à retourner au client). Créé une référence pour l’objet si n’existe pas
A quoi sert le fichier Stub dans CORBA ?
Le Stub est une portion de code côté client qui réalise l’emballage des opérations (requêtes CORBA à envoyer au serveur) et le déballage des résultats (réponse du serveur).
A quoi sert le fichier Helper dans CORBA ?
Utilisé pour la communication CORBA (read, write, create, instantiate…)
Qu’est ce que IIOP ?
C’est le protocole qui permet de communiquer avec CORBA. Indépendant du langage, de l’OS ou de la machine.
Qu’est ce que l’annuaire CORBA ?
Un service qui associe un nom (string) à une référence d’objet (l’id d’un objet CORBA)
Qu’est ce que ORB ?
C’est un middleware qui fait le lien entre les requêtes client et serveur. Il va coordoner les objets CORBA (la gestion de la connectivité, de la communication, de la conversion de types de données et de la sécurité entre les objets distants. Il est également responsable de la localisation des objets distants et de l’acheminement des demandes des clients vers ces objets.)
Que veut dire MOM ?
Message Oriented Middleware
Quels sont les objectifs de MOM ?
Permettre la communication asynchrone entre différents systèmes distribués. Modèle de communication plus fiable et plus tolérant aux pannes
Quels sont les avantages de MOM ?
Communication asynchrone / non bloquante, Couplage faible, puisqu’on a plus besoin de connaitre les config des composants, seulement envoyer un message au MOM. Fonctionne quand il n’y a pas de dépendances temporelle entre les services
Quels sont les message brokers les plus connus ?
Apache Kafka, RabbitMQ
Qu’est ce qu’une communication transiante ?
Dépendance temporelle entre les services (auth qui va chercher à se login dans tous les users services). C’est le principe du REST.
Qu’est ce qu’une communication persistante?
Pas besoin de dépendances temporelle entre les services (par exemple le user service qui appelle les seeders). C’est le principe des MOM. On stocke la requête
Unicast vs Multicast ?
Unicast un seul destinataire, multicast plusieurs destinataires
Qu’est ce qu’une communication PUSH avec MOM ?
En push, c’est le message broker qui va envoyer la notification d’un nouveau message aux clients
Qu’est ce qu’une communication PULL avec MOM ?
En pull, c’est les clients qui va taper dans le MOM pour voir si il y a des nouveaux messages.
Les avantages de Pull vs Push avec MOM ?
Les clients peuvent choisir plus facilement le taux de pull, alors qu’avec le push, ils le subissent. Le pull est plus efficace pour gérer des consommateurs diversifiés
Quels sont les 3 modèles de communication du message broker ?
Queue, Topic, RPC
Qu’est ce que le modèle Queue dans MOM ?
Chaque message est stocké dans une file. Le message va être consommé un seule fois, par un seul destinataire. Le destinataire peut acquitter le message reçu. Donc le client va traiter dans l’ordre de la file les messages reçus.