Outils et bibliothèques pour la mise en oevre d'architectures microservices
Un support de cours de Mickael Baron
Le 2016-02-24 22:46:46, par Mickael Baron, Rédacteur
Ce support de cours présente des outils et bibliothèques pour la mise en œuvre d'architectures microservices. Tout au long de la présentation, une étude de cas sera déroulée pour illustrer les différents usages des outils et bibliothèques présentés.
Ainsi, dans une première partie, KumuluzEE sera présenté pour la partie codage de microservices avec le langage Java. Par la suite, Docker sera abordé pour montrer comment isoler un microservice. Dans une troisième partie, RabbitMQ sera exposé pour montrer comment réaliser une communication asynchrone entre des microservices. Dans une quatrième partie, Docker Compose sera présenté pour expliquer comment composer des microservices. Enfin, dans une cinquième, NGINX sera abordé pour expliquer comment répartir la charge et réaliser un proxy inverse.
Actuellement les parties concernant RabbitMQ et NGINX sont en cours de rédaction. Ils seront prochainement ajoutés au support de cours.
L'adresse du support de cours : http://mbaron.developpez.com/cours/m...abbitmq-nginx/
Merci d'avance de laisser des commentaires dans cette discussion
Mickael
Ainsi, dans une première partie, KumuluzEE sera présenté pour la partie codage de microservices avec le langage Java. Par la suite, Docker sera abordé pour montrer comment isoler un microservice. Dans une troisième partie, RabbitMQ sera exposé pour montrer comment réaliser une communication asynchrone entre des microservices. Dans une quatrième partie, Docker Compose sera présenté pour expliquer comment composer des microservices. Enfin, dans une cinquième, NGINX sera abordé pour expliquer comment répartir la charge et réaliser un proxy inverse.
Actuellement les parties concernant RabbitMQ et NGINX sont en cours de rédaction. Ils seront prochainement ajoutés au support de cours.
L'adresse du support de cours : http://mbaron.developpez.com/cours/m...abbitmq-nginx/
Merci d'avance de laisser des commentaires dans cette discussion
Mickael
-
Mickael BaronRédacteurMerci infiniment pour ce support incontournable. Je me demande si on en peut intégrer une telle approche pour les technologies Microsoft ( les site web en ASP.net), si Oui Merci de nous indiquer les outils nécessaire .
Mickaelle 08/03/2016 à 16:58 -
egann538Membre actifJ'ai appris beaucoup de choses sur les possibilités et la prise en main de Docker grâce à ce tutoriel. Par contre je suis resté un peu sur ma faim concernant Kumuluzee (mais il y a le site officiel bien sûr) qui arrive un peu sans qu'on sache pourquoi, et disparaît rapidement des slides. J'imagine que c'est pour mieux réapparaître ensuite?
MERCI pour tous ces cours mis à disposition en tout cas.le 05/03/2016 à 13:14 -
Mickael BaronRédacteurPour KumuluzEE, j'en parle pour montrer comment faire du microservice avec Java. ça reste simple KumuluzEE car au final il n'y a pratiquement que des dépendances Maven à ajouter.
Je prépare un tutoriel cette fois sous la forme d'exercice qui reprend l'exemple cité.
Mickaelle 05/03/2016 à 19:34 -
egann538Membre actifOui c'est en creusant un peu que j'ai compris que KumuluzEE permettait (notamment) de se passer d'un serveur d'application au travers d'une simple déclaration de dépendance... impressionnant.
Maintenant, j'ai une question existentielle: entre des applications microservices J2EE hébergées dans un ou plusieurs conteneurs OSGi (eux-même éventuellement contenus dans un/plusieurs conteneurs Docker) et des microservices J2EE répartis entre plusieurs conteneurs Docker, et utilisant la même version de KumuluzEE, y a-t-il des critères permettant de choisir une solution plutôt qu'une autre?
Merci,
Egann538le 06/03/2016 à 13:40 -
laissaoui.brahimCandidat au ClubBonjour,
Merci infiniment pour ce support incontournable. Je me demande si on en peut intégrer une telle approche pour les technologies Microsoft ( les site web en ASP.net), si Oui Merci de nous indiquer les outils nécessaire .
Cordialement
Brahim LAISSAOUIle 08/03/2016 à 12:42 -
Mickael BaronRédacteur@egann538Maintenant, j'ai une question existentielle: entre des applications microservices J2EE hébergées dans un ou plusieurs conteneurs OSGi (eux-même éventuellement contenus dans un/plusieurs conteneurs Docker) et des microservices J2EE répartis entre plusieurs conteneurs Docker, et utilisant la même version de KumuluzEE, y a-t-il des critères permettant de choisir une solution plutôt qu'une autre?
Mickaelle 08/03/2016 à 16:54 -
Luckyluke34Membre émérite@laissaoui.brahim il faut bien distinguer deux choses : l'environnement système Microsoft (Windows Server, Azure) et la plateforme de développement .NET.
Au niveau infrastructure/système, l'offre de tooling autour des microservices est souvent un peu moins étoffée dans le monde Windows que dans le monde Linux. Par exemple comme l'a évoqué Mickael, Docker n'est pas encore disponible pour Windows Server "on premise" (c'est à dire pas dans le Cloud). Ceci dit, Docker n'est pas indispensable dans une démarche micro-services. En revanche, c'est possible sur Windows Azure, on en parle un peu dans vidéo intéressante d'une société qui a adopté l'approche micro-services sur un stack Microsoft avec des services déployés dans Azure :
https://vimeo.com/144692770
Au niveau middleware, c'est à dire les dispositifs qui font discuter les micro-services entre eux, je dirais que l'offre est équivalente et beaucoup de produits pas spécialement .NET à la base proposent à la fois une installation Windows et des clients .NET. Il y a même des produits dédiés .NET comme NServiceBus.
Au final, il faut rappeler que les micro-services sont une approche, pas une technologie. Il y a aussi une réflexion organisationnelle et de fonctionnelle à mener pour déterminer un découpage en micro-services qui ait de la valeur business, cela ne se limite pas à des choix techniques à faire. Du moment qu'on satisfait ces critères fonctionnels et qu'on est conscient des buts et caractéristiques d'une architecture micro-services, n'importe quelle technologie peut convenir.le 10/03/2016 à 14:36 -
Mickael BaronRédacteurAu final, il faut rappeler que les micro-services sont une approche, pas une technologie. Il y a aussi une réflexion organisationnelle et de fonctionnelle à mener pour déterminer un découpage en micro-services qui ait de la valeur business, cela ne se limite pas à des choix techniques à faire. Du moment qu'on satisfait ces critères fonctionnels et qu'on est conscient des buts et caractéristiques d'une architecture micro-services, n'importe quelle technologie peut convenir.
Mickaelle 10/03/2016 à 14:41