9. Docker dans Azure
Simplifier la création / configuration, la gestion
de cluster de VM Azure pour des applications
containerisés.
Apache Mesos ou Docker Swarm pour
l’orchestration des applications au sein d’un
cluster de machines ou seront distribués .
Docker extension
pour VM Linux
Azure Container
Service
Pur IAAS
Architecture à construire
Azure Scale Set
12. Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Le scalling se fait en répliquant l’application complète
Sur plusieurs serveurs.
13. Applications monolithiques
Toutes les fonctionnalités dans un seul process….
Chaque fonctionnalité de l’application se traduit par
un service
Les services sont répliqués sur différents serveurs
En fonction des besoins.
15. Les caractéristiques des micro-services
« Componentization» (Autonome / isolé)
Organisé autour de « business capabilities »
Elastique, Résiliant et « Responsive »
Orienté message et « Smart end points »
Configurable et automatisé
Gouvernance décentralisée et monitoring
intelligent
La techno adaptée au besoin
16. Organisé autour de business capabilities
UI specialist
Middleware
dba
Front
20. Quelle est la taille d’un micro-service ?
« Quelle est la bonne
granularité ? »
2 équipes, 10 micro-services
10 équipes, 10 micro-services
10 équipes, 100 micro-services
2 équipes, 100 micro-services
21. Quelques idées reçues
• Mon application est sur Docker donc elle est micro-service.
• Les architectures micro-services vont résoudre tous mes problèmes.
• Les applications monolithiques sont « has been ».
• Les micro-services remplacent la SOA.
22. Une filiation avec la SOA ?
Qu’est-ce que
SOA ?
Capacité d’une application à exposer ses
fonctionnalités sous forme de services (web),
découvrables et consommables ?
Bus de service (ESB) centralisé dans lequel
beaucoup (trop) de règles métiers ont été codées
et qui est une étape indispensable à la
consommation/ exposition d’un service ?
Micro-services
»
25. API
Qui dit micro-service, dit API !
2 API :
API public pour communiquer avec le « monde extérieur »
API privée dite admin pour administrer, paramétrer le service
Deux techniques pour requêter un service :
GetProfilesById
GET http://myapi.looksfamiliar.com/profiles/user/id/99999
GetProfilesByLocation
GET http://myapi.looksfamiliar.com/profiles?location=Massachusetts
26. Du monolithe aux micro-services
En ai-je
vraiment
besoin ?
Mon
organisation
est-elle
mature ?
Mon infra et
mes
pratiques
logicielles
sont-elles
matures ?
30. Framework de développement
Reliable Service Reliable Actor
Statefull
Stateless Mono-thread
Fortement distribué
Peu de
communication Grand nombre de
services
Compute & Etat
Indépendant
Communication
entre services
Gérer son état via
Reliable Collections
Piloter son schéma
de répartition /
distribution