backday xebia : microservices en démo

25
Thomas Auffredou | Romain Niveau Approche des architectures MicroServices

Upload: xebia-france

Post on 27-Jul-2015

159 views

Category:

Technology


0 download

TRANSCRIPT

Thomas Auffredou | Romain Niveau

Approche des architecturesMicroServices

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

En grosPlan

2

Concepts Techniques Pour tester

Concepts

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Extraits applicables à la conception de servicesThe UNIX Philosophy de Mike Gancarz

4

• Small is beautiful

• Build a prototype as soon as possible

• Choose portability over efficiency

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Application de SOLID aux ServicesArmée de services

5

Monolithique Micro services

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Application de SOLID aux ServicesCouplage faible

6

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Application de SOLID aux ServicesCouplage faible

7

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Application de SOLID aux ServicesCouplage faible

8

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Avantages sur les ESBSOA

9

• Dumb pipes, smart edges (esprit Internet)

• Pas besoin de route, émission libre

• Topologie flexible

• Des messages, juste des messages

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

10

Les bases de données,c’est comme les brosses à dents.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

11

Maintenez un couplage faible.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

12

Chaque service doit être suffisamment petit pour

tenir dans une tête.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

13

Un service qui meurtdoit le faire vite et fort.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

14

Emettez tout ce qui pourrait se révéler

intéressant à l’avenir.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

15

Multipliez les versions de services.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

16

L’Application est supplantée par le Système.

Principes guidesSans fin sur le métier tu remettras ton ouvrage.

Techniques

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

A éviter en généralLes pièges

18

• Monitoring

• Nano services

• Déploiements longs

• Grosses équipes

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Jamais prouvée, ni invalidéeLoi 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

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Ainsi va la ForceAinsi 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)

Pour tester

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

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

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

EBIA ALLIANCE = XEBIA + XEBIALABS + THIGA + UX REPUBLIC

Démo

25

https://github.com/xebia-france/sim-service