Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Les microservices c'est pas automatique ! — DDD...

Les microservices c'est pas automatique ! — DDD Paris 2018

La vidéo du talk est disponible : https://youtu.be/_mqn0FfZ2SY

Arnaud LEMAIRE

November 15, 2018
Tweet

More Decks by Arnaud LEMAIRE

Other Decks in Programming

Transcript

  1. DISCLAIMER ! Tout doit être nuancé en fonction de votre

    contexte ! Ce Talk contient de la mauvaise foi
  2. Vous êtes une startup en train de définir votre produit

    ? « On a pas encore notre product/market fit, mais faut bien s’occuper »
  3. DON’T Et puis, vous n’êtes pas assez nombreux… Et vous

    ne savez même pas quel est votre métier « Vous achetez des problèmes que vous n’avez pas les moyens de résoudre »
  4. Le problème Généralement on ne réussit pas à modéliser le

    métier correctement du premier coup Avoir un code source co-localisé & 
 une seule unité de déploiement simplifie grandement le refactoring
  5. SRSLY ? Vous pouvez même créer plusieurs main pour spécialiser

    vos instances Vous ne pouvez pas démarrer plusieurs instances de votre applicatif ?
  6. Le problème Avoir un cluster du même acteur nécessite de

    les synchroniser pour éviter les problèmes de consistance Tuyaux intelligents, consensus (RAFT), Lock distribué …
  7. Oui, mais on est en train de scaler ! «

    On a recruté 60 personnes en trois mois et il faut bien les occuper »
  8. Wait… ! Recruter ou produire, 
 il faut choisir !

    Grandir ou produire, 
 il faut choisir !
  9. OK, but… Faites gaffe aux frontières ! Et ne faites

    pas des « micro » services, juste des applications qui parlent ensemble… Mais vous avez quand même le droit de dire aux copains que vous faites du microservice !
  10. On veut pouvoir utiliser plusieurs langages ! « Il faut

    avouer que l’on arrive plus à recruter avec notre stack Struts »
  11. Wait… ! Est-ce vous n’êtes pas en train de faire

    du CV Driven Development ? Les microservices vont vraiment être une solution ?
  12. Le problème Vous risquez de créer des silos par techno

    Et est-ce que ce langage corrige vraiment des problèmes que vous avez ?
  13. Example Counter Ice
 Cream Hamburgers Salads New Order
 —— 


    ——
 —— New Order
 —— 
 ——
 —— New Order
 —— 
 ——
 ——
  14. Counter Ice
 Cream Hamburgers Salads Each time we receive an

    item, we check if the order is complete. New Order
 —— 
 ——
 —— Example
  15. Wait… ! « If you can’t build a monolith, what

    makes you think micro-services are the answer ? » -Simon Brown
  16. Wait… ! « Organisations which design systems ... are constrained

    to produce designs which are copies of the communication structures of these organisations. » -Melvin Conway
  17. OK, but… Bienvenue en enfer ;-) Transactions distribuées, 
 Consistance

    à terme,
 Tolérance à la panne,
 Auditabilité & Traçabilité,
 Déliverabilité… Et puis ça apparait pas tout de suite
  18. • Modèle d’adressage : Agent / Acteur • modèle d’exécution

    • Request/Response, Pub/Sub, Queue • Push vs Pull • Modèle d’Orchestration ou Chorégraphie • Modèle de déploiement • Tooling…
  19. « Big Data is like teenage sex: everyone talks about

    it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it… » – Dan Ariely Micro-service