Microservices Flashcards
Décrire la genèse des microservices.
Ça part des monolithes. Si on veut déployer une nouvelle version on doit mettre à jour toute l’application. L’application devenant grosse, plusieurs équipes travaillent dessus et cela vient difficile avec toutes les dépendances (changements et déploiement).
Qu’est-ce que le service oriented architecture (SOA)?
On divise les équipes par service dans un monolithe avec un ESB comme point de contact. Un ESB est basically un pipeline intelligent. On retrouve 2 types de logiques: logique de pipe et logique de service.
Quels sont les risques associés à un SOA avec un ESB?
Un élément commun et dépendance donc coordination entre équipes qui devient une seule grosse équipe.
Quels sont les types de scaling?
Vertical: Plus grosse machine
Horizontal: Plus de machines
Qu’est-ce qu’un microservice?
C’est une technique de déploiement.
Est-ce qu’il est mieux d’avoir une équipe frontend et une backend ou une multidisciplinaire?
Multidisciplinaire pour faire des slices verticales. Cela permet une meilleure indépendance et le développement de compétences.
Qu’est-ce qu’un bounded context?
Représentation d’un concept dans 2 et + contextes où on doit assurer une évolution similaire.
Nommez des façons de diviser une application en microservices?
Division par persona (Ex: Acheteur, Spectateur, Gestionnaire event)
Division par processus (Mapping de processus avec le story mapping et la colonne vertébrale)
Event Storming (Sort tous les events qui se passent, clustering event similaire en contexte affaire)
Quelle est la première étape du découpage vers un microservice?
Il faut d’abord extraire par morceau pour créer un monolithe distribué. Les critères sont: équipe complète, scaling, utilisateur.
Quels sont les tests pour valider des contrats entre microservice?
Tests de contrat. On parle de consumer-based contract.