C'est quoi une architecture microservices ?

Qu'est-ce que c'est ?

Une définition

Petits services autonomes qui fonctionnent ensemble, modélisés autour d'un domaine métier.

 

Sam Newman

Qu'est-ce que c'est ? 

Déploiement indépendant

Qu'est-ce que c'est ? 

Possède son propre état (BDD)

Qu'est-ce que c'est ? 

Modélisé autour d'un domaine métier

Qu'est-ce que c'est ? 

Qu'est-ce que c'est ? 

Qu'est-ce que c'est ? 

Avantages

Agrandir l'équipe

Avantages

Plus facile à faire évoluer

Avantages

(Peut être) plus robuste

Avantages

Dimensionner les services selon leurs besoins

Avantages

Composabilité

Avantages

Architecture polyglotte

Avantages

Inconvénients

Expérience développeur

Infrastructure plus complexes

Tu ne peux pas tout lancer en local

Nécessite d'adapter la conception technique

Inconvénients

Monitoring & dépannage

Inconvénients

Latence

Inconvénients

Consistance des données

Inconvénients

Plus de sources de problèmes

Inconvénients

Méthodes de modélisation

Couplage & cohésion

Une structure est stable si la cohésion est forte et le couplage faible.

 

Larry Constantine

Méthodes de modélisation

Domaine métier

Langage commun

Event storming

Domain-driven design

Méthodes de modélisation

Adapte l'organisation des équipes

Toute organisation qui conçoit un système (défini au sens large) produira une conception dont la structure est une copie de la structure de communication de l'organisation.

 

Melvin Conway

Méthodes de modélisation

Bonnes pratiques

Apprends à faire un bon monolithe avant de passer aux microservices

Bonnes pratiques

Logs centralisés & traces

Bonnes pratiques

Communication non-bloquante

Bonnes pratiques

"Design for failures"

Hardware

Erreurs internes

Dépendances

Communications inter-services

Bonnes pratiques

Met en place un bon monitoring

"Four Golden Signals" de Google

Saturation

Erreurs

Trafic

Latence

Bonnes pratiques

Pense "consistance éventuelle"

Évite les transactions distribuées

Séquence de transactions locales

Pattern de Saga

Bonnes pratiques

Bonnes pratiques

Bonnes pratiques

Conclusion

Made with Slides.com