Les architectures microservices sont en pleine explosion actuellement. Beaucoup d’articles sont parus sur le sujet et nombre de projets se lancent sur ce modèle.
Plusieurs frameworks permettant de mettre en place facilement des microservices existent, dont, notamment, Vert.x. Venez les découvrir !
Par Thomas Auffredou et Romain Niveau, consultants chez Xebia
4. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Extraits applicables à la conception de services
The UNIX Philosophy de Mike Gancarz
4
• Small is beautiful
• Build a prototype as soon as possible
• Choose portability over efficiency
5. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Application de SOLID aux Services
Armée de services
5
Monolithique Micro services
6. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Application de SOLID aux Services
Couplage faible
6
7. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Application de SOLID aux Services
Couplage faible
7
8. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Application de SOLID aux Services
Couplage faible
8
9. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Avantages sur les ESB
SOA
9
• Dumb pipes, smart edges (esprit Internet)
• Pas besoin de route, émission libre
• Topologie flexible
• Des messages, juste des messages
10. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
10
Les bases de données,
c’est comme les brosses à dents.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
11. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
11
Maintenez un couplage faible.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
12. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
12
Chaque service doit être
suffisamment petit pour
tenir dans une tête.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
13. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
13
Un service qui meurt
doit le faire vite et fort.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
14. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
14
Emettez tout ce qui
pourrait se révéler
intéressant à l’avenir.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
15. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
15
Multipliez les versions
de services.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
16. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
16
L’Application
est supplantée
par le Système.
Principes guides
Sans fin sur le métier tu remettras ton ouvrage.
18. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
A éviter en général
Les pièges
18
• Monitoring
• Nano services
• Déploiements longs
• Grosses équipes
19. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Jamais prouvée, ni invalidée
Loi de Conway
19
• Tout logiciel reflète l’organisation qui l’a
créée.
• Microservices = microteam
• DevOps (pas à moitié)
• Exigence de qualité et de rigueur
20. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Ainsi va la Force
Ainsi va la vie
20
• Système long-terme, services à durée de vie courte
(comme les cellules d’un corps humain)
• Extrêmement dynamique, déploiement continu
• C’est complexe, acceptance sur les résultats business
• Indicator driven development
• Courbe d’apprentissage (galaxie de messages)
22. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Vert.x 2.x
22
• Asynchrone by design
• Polyglotte
• Boîte à outils TCP & HTTP
• Structure modulaire + mode script
• Message bus communiquant en JSON
23. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Vert.x 2.x
23
• Plus petit élément de vert.x
• Non bloquant => Sinon utiliser des worker verticles
• Jamais exécuté par plus d’un thread en même temps
• Communication entre verticles par messages
Le concept de Verticle
24. EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC
Vert.x 3.x
24
• En cours de développement
• Séparation en Vert.x et Vert.x umbrella
• Disparition du système de modules
• Seul le Java évolue, le reste est généré
• Java 8
• Réécriture complète du client HTTP