Microservices c’est quoi?

Des applications monolithiques aux solutions agiles!

Pascal Kotté
Dec 19, 2020 · 6 min read

Depuis 2010… Le monde “agile” et “scrum” vont remanier la façon de concevoir les applications, et fournir les bases vers la nouvelle informatique Datatech…

Il ne suffit plus de rendre efficace les équipes devenue “agile”, mais il est nécessaire de rendre résilientes et “scalables” les infrastructures pour soutenir cette agilité. Et les containers vont y aider.

Au lieu de créer un serveur pour chaque service, avec sa propre base de données, souvent en partie synchronisée avec plusieurs autres bases de données, et parfois des problèmes de cohérences. Nous allons créer un “pool” de serveurs pour gérer les données A, une grappe d’autres serveurs dédiés aux données B, puis un couple de serveur pour servir les données C.

Avec le gros avantage de permettre d’optimiser l’usage des ressources nécessaires pour fournir les services applicatifs, que ce soit:

  1. En réutilisant le même groupe de serveurs C pour multiples applications
  2. En augmentant et réduisant dynamiquement le nombre de serveurs selon les quantités de requêtes effectives.

Mais aussi de gagner en agilité, car les applications suivantes, et l’adaptation des applications existantes, se font sans avoir à impacter les serveurs et les applications existantes. Ce qui permet un fonctionnement 24/7…

Du monolithique aux microservices (source martinfowler.com)

Grâce aux progrès de la virtualisation, au niveau applicatif: Il est désormais possible de déployer des services (via Kubernetes ou Openshift) avec bien plus de rapidité que les scripts “puppet” précédents. Un container applicatif docker est déployé, configuré, “up & running” sur un serveur en quelques secondes.

Docker pour des containers applicatifs déployés via Kubernetes ou Openshift

Alors est venue l’ère des nouvelles architectures logicielles (encore), avec les DEVOPS et les Microservices.

C’est la conception même des applications qui évolue vers le modèle ‘SaaS’ afin de s’assurer d’une disponibilité optimale et efficiente des ressources nécessaires à son fonctionnement. Les architectures ‘SOA’ évoluent vers des plateformes avec des bus de communications qui sont plus rapides qu’avec des API de requêtes XML, vers des architectures applicatives distribuées (‘SOAP’ plus anciens, ‘REST’ plus actuels). L’application doit pouvoir intégrer les dysfonctionnements (‘Design for failure’). Les données sont fournies par des système SQL, ou ‘no SQL’, à travers des portails ‘middleware’ qui contrôlent les accès et ne fournissent que l’extraction nécessaire des données.

Dans un modèle ‘SaaS’ le prix du service est défini en mesurant l’activité moyenne d’un utilisateur. Il est directement calculé à partir des ressources consommées, voir selon la facturation du sous-traitant des services ‘Cloud’ utilisé éventuel (PaaS ou IaaS). L’optimisation des codes, la ré exploitation maximale des ressources locales au client (APP sur mobiles, HTML 5 ou Java sur client web) sera la règle pour optimiser et réduire les coûts du côté des services serveurs.

Déjà en 2016: Réf. Etude Deloite : 8 tendances IT (2015) : N°2 : « L’économie des API ». Les portails Cloud, ‘front-end’, deviennent des composants essentiels pour des applications Opendata, ou commerciales (ex. OpenCorporates.com), qui s’adressent aux développeurs. Les API deviennent les sources de revenus d’un grand nombre de nouveaux acteurs et intermédiaires dans la gestion de données (‘data broker’).

Les données elles-mêmes perdent de la valeur, les flux de données en gagnent. Les flux de données vont s’activer et se cascader sur déclenchement automatique (‘trigger’), comme avec IFTTT ou ZAPIER, qui vont exploiter les ‘API’ de centaines de services web, pour créer un flux d’actions: Un mashup.

D’un Internet HTML passif et non structuré en lecture seule, nous passons à un Internet interactif et structuré en flux XML ‘REST’ (‘Semantic Web, RDFa, Microformat’). C’est finalement le début d’une des promesse du web sémantique annoncé, le Web 3.0.

Voir aussi l’excellent article (en anglais) de Martin Fowler et James Lewis sur les micro services :

L’impact de cette émergence et l’explosion des volumes de données (et de leurs data bases, SQL et ‘no SQL’) sur les INFRAs, est la nécessité croissante d’exposer des portails d’API sur le web, accessibles partout ; à chaque instant ; avec de bonnes protections, et de la facturation intégrée par volume… Sera-t-il possible de le faire sans s’appuyer sur des fournisseurs ‘IaaS/PaaS’ distribués et sécurisés ?

Des applications “cloud natives”

Ainsi, il est possible de concevoir des cloud hybrides, pas uniquement afin de choisir de façon binaire si une application sera dans la cloud public, ou le Cloud privé ; mais prévoir des serveurs ‘Web’ dans le ‘public Cloud’ et des bases de données dans le ‘Private’, avec des machines intermédiaires, dans les deux.

Mais cette “révolution” en marche depuis 2010, est en train de céder la place à une autre en 2020: Les applications SERVERLESS…

Informatique sans serveur

Les premiers étaient Amazon avec Lambda, dès 2014

Suivi par Google engine, et Microsoft, bien entendu, avec Fabric:

Tu peux désormais créer ton application “Cloud” sans avoir besoin d’installer le moindre serveur, ni activer le moindre service. Juste un abonnement à un des GAM (Une partie des GAFAM).

Ta machine de DEV et de test ne te coutera “rien” ou presque… C’est quand ton APP va avoir du succès et monter en charge que cela va commencer à “coûter” (et si c’est une App gratuite, comme whatsapp, te faudra des crédits)

Par contre, ton application ne sera plus transportable, nulle part… Rendre captif le client, n’est-ce pas le Graal?

source: https://ipt.ch/en/blog/article/cloud-native-how-container-vs-serverless

Mais attention, toujours aucune magie, le “cloud n’existe pas”

CloudReady CH

Observatoire francophone (basé en Suisse romande) sur le…

Sign up for CloudReady & LiN

By CloudReady CH

Restez informé des opportunités, idées ou histoires de révolutions numériques durables et responsables. Take a look

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Pascal Kotté

Written by

Réducteur de fractures numériques, éthicien digital, Suisse romande.

CloudReady CH

Observatoire francophone (basé en Suisse romande) sur le "Cloud computing", pépinière pour des transformations sociétales positives avec le numérique, vers une humanité digitale durable: http://Tech4good.ch

Pascal Kotté

Written by

Réducteur de fractures numériques, éthicien digital, Suisse romande.

CloudReady CH

Observatoire francophone (basé en Suisse romande) sur le "Cloud computing", pépinière pour des transformations sociétales positives avec le numérique, vers une humanité digitale durable: http://Tech4good.ch

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store