xebiconfr 15 - le challenge des microservices
TRANSCRIPT
![Page 1: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/1.jpg)
Les challenges des microservices
#XebiConFr@njozwiak
![Page 2: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/2.jpg)
#XebiConFr
Speaker
@njozwiak
2
![Page 3: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/3.jpg)
#XebiConFr
Les challenges des microservices
3
![Page 4: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/4.jpg)
#XebiConFr
Agenda
• Définition des microservices
• Pourquoi les microservices ?
• Les challenges organisationnels et techniques
• Comment mettre en place les microservices ?
4
![Page 5: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/5.jpg)
#XebiConFr
Définition
5
![Page 6: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/6.jpg)
#XebiConFr
In computing, microservices is a software architecture style in which complex applications are composed of small,
independent processes communicating with each other using language-agnostic APIs.These services are small, highly decoupled and focus on doing a small task, facilitating a
modular approach to system-building.
Définition Wikipédia
6
![Page 7: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/7.jpg)
#XebiConFr
service-oriented architecture composed of loosely coupled elements that have bounded contexts
Définition Adrian Cockcroft
7
![Page 8: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/8.jpg)
#XebiConFr
Pourquoi les microservices ?
8
![Page 9: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/9.jpg)
#XebiConFr
• Besoins IT augmentent
• Clients exigeants
• Plus rapide que la concurrence
Pourquoi les microservices ?
9
![Page 10: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/10.jpg)
#XebiConFr
• Application monolithique complexe
• Maturité des technologies
• Langages et bases de données
10
Pourquoi les microservices ?
![Page 11: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/11.jpg)
#XebiConFr
• 57 millions de membres
• 1 milliards d’évènements / jour
• Cycles de déploiements longs
• Besoin d’évoluer rapidement
11
Pourquoi les microservices ?
![Page 12: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/12.jpg)
#XebiConFr
Les challenges organisationnels
12
![Page 13: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/13.jpg)
#XebiConFr
Loi de Conway
« Organizations which design systems areconstrained to produce systems which arecopies of the communication structures of
these organizations. »13
![Page 14: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/14.jpg)
#XebiConFr
Communication
14
![Page 15: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/15.jpg)
#XebiConFr
Compétences
15
![Page 16: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/16.jpg)
#XebiConFr
Équipes
Dev Team
Product Manager
Ops Team
QA Team
16
![Page 17: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/17.jpg)
#XebiConFr
Developer
Product Manager
Équipes
17
![Page 18: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/18.jpg)
#XebiConFr
Culture
18
![Page 19: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/19.jpg)
#XebiConFr
Agilité
19
![Page 20: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/20.jpg)
#XebiConFr
Les challenges techniques
20
![Page 21: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/21.jpg)
#XebiConFr
Les challenges techniques
Microservices
Automatiser
Monitorer
12 facteurs app
Tolérer et isoler les pannes
Découverte de service
21
![Page 22: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/22.jpg)
#XebiConFr22
![Page 23: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/23.jpg)
#XebiConFr
Les challenges techniques
Microservices
Automatiser
Monitorer
12 facteurs app
Tolérer et isoler les pannes
Découverte de service
23
![Page 24: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/24.jpg)
#XebiConFr
Automatiser
1 mois 3 mois 12 mois
24
![Page 25: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/25.jpg)
#XebiConFr
Automatiser
25
![Page 26: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/26.jpg)
#XebiConFr
Automatiser
26
![Page 27: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/27.jpg)
#XebiConFr
Les challenges techniques
Microservices
Automatiser
Monitorer
12 facteurs app
Tolérer et isoler les pannes
Découverte de service
27
![Page 28: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/28.jpg)
#XebiConFr
Tolérer et isoler les pannes
App
App client App commande App facture
Requests
App client App commande App factureX28
![Page 29: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/29.jpg)
#XebiConFr
Tolérer et isoler les pannes
Client Commande Facture
App
Requests
Circuit breaker
29
![Page 30: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/30.jpg)
#XebiConFr
Tolérer et isoler les pannes
30
![Page 31: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/31.jpg)
#XebiConFr
Tolérer et isoler les pannes
31
![Page 32: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/32.jpg)
#XebiConFr
Les challenges techniques
Microservices
Automatiser
Monitorer
12 facteurs app
Tolérer et isoler les pannes
Découverte de service
32
![Page 33: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/33.jpg)
#XebiConFr
Découverte de services
Client Commande Facture
App
Quels hosts ?
33
![Page 34: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/34.jpg)
#XebiConFr
Découverte de services
Catalogue de services
Client
Commande
Facture
Eureka
34
![Page 35: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/35.jpg)
#XebiConFr
Découverte de services
35
Mesos master
Mesos slave / Marathon Mesos slave / Marathon
commande client
commande facture
client
Http post
![Page 36: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/36.jpg)
#XebiConFr
Découverte de services
{ "id": "provisioning", "instances": 1, "cpus": 2.0, "mem": 512, "ports":[9000], "container": { "type": "DOCKER", "docker": { "image": "project/web 0crec10a90724f791caaf95cbc62ea61abbd6376", "network": "BRIDGE", "portMappings": [ { "containerPort": 9000, "servicePort": 9000, "hostPort": 0, "protocol": "tcp" } ] } } }
36
![Page 37: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/37.jpg)
#XebiConFr
Découverte de services
37
![Page 38: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/38.jpg)
#XebiConFr
Les challenges techniques
Microservices
Automatiser
Monitorer
12 facteurs app
Tolérer et isoler les pannes
Découverte de service
38
![Page 39: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/39.jpg)
#XebiConFr
Monitoring
• Trafic
• Aggréger les logs
• Id unique
39
![Page 40: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/40.jpg)
#XebiConFr
Monitoring
40
![Page 41: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/41.jpg)
#XebiConFr
Monitoring
41
![Page 42: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/42.jpg)
#XebiConFr
Comment mettre en place les microservices ?
42
![Page 43: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/43.jpg)
#XebiConFr
Stratégies
43
RESTAPI
![Page 44: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/44.jpg)
#XebiConFr
Stratégies
44
![Page 45: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/45.jpg)
#XebiConFr
Stratégies
Identifier un pilote Première release Deuxième release N release
45
![Page 46: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/46.jpg)
#XebiConFr
Première release
46
![Page 47: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/47.jpg)
#XebiConFr
Première release
App
Requests
App client App commande App facture
47
![Page 48: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/48.jpg)
#XebiConFr
Première release
Client Commande Facture
App
Requests
48
![Page 49: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/49.jpg)
#XebiConFr
Première release
Contrats
49
![Page 50: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/50.jpg)
#XebiConFr
Première release
50
![Page 51: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/51.jpg)
#XebiConFr
Datacenter
Des mois Des
Virtuel et Container
Des
Première release
51
![Page 52: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/52.jpg)
#XebiConFr
Première release
52
![Page 53: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/53.jpg)
#XebiConFr
Première release
53
![Page 54: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/54.jpg)
#XebiConFr
En résumé
• Intégration continue
• Favoriser les tests par contrats
• Contrôler les dépendances
• Livrer en production
• Monitorer et analyser
54
![Page 55: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/55.jpg)
#XebiConFr
Deuxième release
Client Commande Facture
App
Requests
55
![Page 56: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/56.jpg)
#XebiConFr
Deuxième release
Client Commande Facture
App
Requests
CommandeCommandeClient
56
![Page 57: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/57.jpg)
#XebiConFr
Deuxième release
« No direct database access is allowed from outside the service, and there’s no data sharing among the services »
Werner Vogels, CTO et Vice président de amazon.com
57
![Page 58: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/58.jpg)
#XebiConFr
Deuxième release
Client Commande Facture
App
Requests
58
![Page 59: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/59.jpg)
#XebiConFr
Deuxième release
59
![Page 60: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/60.jpg)
#XebiConFr
En résumé
• Savoir quand créer un nouveau service
• Définir le degré d’isolation
• Réduire la barrière d’entrée
• Construire ce que vous pouvez supporter
60
![Page 61: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/61.jpg)
#XebiConFr
N release
Commande Facture
App
Client Client Commande Facture
61
![Page 62: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/62.jpg)
#XebiConFr
Tester l’infrastructure
62
![Page 63: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/63.jpg)
#XebiConFr
Gestion des mises à jour
63
![Page 64: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/64.jpg)
#XebiConFr
En résumé
• Scaler votre architecture
• Tester votre infrastructure
• Stratégie de mises à jour
64
![Page 65: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/65.jpg)
#XebiConFr
Conclusion
65
![Page 66: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/66.jpg)
#XebiConFr
Questions ?
66
![Page 67: XebiConFr 15 - Le challenge des microservices](https://reader035.vdocuments.pub/reader035/viewer/2022081414/58f061dc1a28ab00168b4613/html5/thumbnails/67.jpg)
#XebiConFr
Références
• http://fr.slideshare.net/InfoQ/migrating-to-microservices • http://fr.slideshare.net/InfoQ/scalable-microservices-at-netflix-challenges-
and-tools-of-the-trade • http://fr.slideshare.net/ThoughtWorks/delivering-with-microservices-how-to-
iterate-towards-sophistication
67