Skip to main content

FAQ

Nous répondons ci-dessous aux questions fréquentes à propos des architectures microservices. En la matière, MD Dynamics Link dessine l'état de l'art de demain en relevant plusieurs défis.

Qu'est-ce qu'un microservice ?

Les microservices permettent de concevoir une application comme un ensemble de services modulaires, développés, maintenus et déployés indépendamment les uns des autres. Ils peuvent donc être confiés à des équipes distinctes et utiliser des piles technologiques dédiées les mieux adaptées aux contraintes métiers ou opérationnelles.

Des architectures SOA aux microservices

Historiquement, les applications étaient conçues comme un seul système, monolithique, au périmètre fonctionnel croissant et par conséquent, difficile à maintenir en conditions opérationnelles tant d’un point de vue des ressources (cpu, mémoire, disque) que de leurs interactions avec les autres applications du système d’information; conduisant notamment aux fameux « SI spaghettis » complexes à faire évoluer.

A partir de 2006, les architectures orientées services (SOA), notamment à base de bus de services d’entreprise (ESB) ont proposé de résoudre une partie du problème en permettant la création de services métiers, fonctionnels et techniques granulaires et faiblement couplés, facilitant l’urbanisation des SI en exposant sous forme de services standards (via SOAP/XML, puis REST/JSON) les applications dites « legacy ».

Mais ces approches se sont parfois traduites par un demi-succès et ne sont pas adaptées pour satisfaire les exigences actuelles de DevOps, où la capacité à livrer rapidement corrections et nouveaux services est primordiale. D’une part, l’équipe très spécialisée en charge de ces plateformes et architectures ne tarde pas à devenir le goulet d’étranglement de l’organisation si elle est mal dimensionnée. D’autre part, la richesse voire la complexité des frameworks fonctionnels modélisés, ainsi que le manque crucial d’industrialisation des plateformes — notamment en ce qui concerne les patterns de distribution, la sécurité, les déploiements de services et la supervision — ne permettent pas d’atteindre les objectifs de cycles courts requis par le DevOps (phase de setup importante, périmètre fonctionnel trop riche), quand bien même les projets suivent une méthodologie agile.

A l’inverse, grâce à MD Dynamics Link, les équipes collaborent, développent simultanément leurs propres microservices, et les déploient en production en quelques minutes.

Quel est le délai de construction d'une architecture microservices ?

MD Dynamics Link se déploie en quelques minutes et conserve la même logique de fonctionnement, que la plateforme soit hébergée directement sur vos serveurs, embarquée dans des machines virtuelles ou conteneurisée. Toute l’architecture microservices y est intégrée, du maillage de services à la gestion de la mise à l’échelle, en passant par les patterns de distributions, le déploiement automatique, les accès sécurisés et la supervision entres autres. Vos équipes sont immédiatement opérationnelles.

En revanche, construire une architecture microservices à partir de la seule couche de conteneurisation est long, complexe, et requière l'intervention de nombreux experts, notamment pour réaliser l’intégration des briques indispensables, telles que le maillage de services, la distribution, et les capacités de mise à l'échelle de l’architecture.

Développer un microservice en quelques minutes ?

C'est que propose notre plateforme MD Dynamics Link grâce aux « streams » ou « algorithmes distribués » et à son haut niveau d'automatisation de toute la chaine de valeur DevOps. Les développeurs se concentrent sur la logique métier à implémenter, la plateforme fait le reste.

Un microservice est développé sous forme de stream composé de fonctions lambdas réparties sur le réseau logique (maillage ou mesh) de la plateforme, et peut exécuter des traitements distribués, stocker des données en datastores et timeseries répartis sur plusieurs nodes. Chaque fonction lambda peut être mise à l'échelle indépendamment, tout en respectant les règles d'architecture des microservices (isolation, stockage dédié, gestion centralisée). Un stream peut être mis à jour et déployé automatiquement en un clic sur tous les nodes sélectionnés. L'accès aux apis est sécurisé par abonnement.

Le déploiement des microservices est-il complexe ?

Avec MD Dynamics Link, déployer vos microservices est on ne peut plus simple: d'un simple clic ils se déploient sur tous les nodes sélectionnés! Ce n'est pas le cas en revanche d'autres solutions dont on peut lire qu'il s'agit d'un sujet complexe du fait même de l'architecture distribuée ou des risques de conflits entre versions concurrentes qui rendent les recettes complexes.

MD Dynamics Link gère non seulement le déploiement automatique des microservices mais vous permet aussi de déployer des versions concurrentes en production sans risque de conflit. Par défaut, elles s’exécuteront de façon isolée y compris lorsqu'elles sont exécutées sur les mêmes nodes; vous épargnant ainsi des réunions de lancement se soldant par un « No Go » devant le risque métier.

Comment débuguer des services distribués ?

MD Dynamics Link vous permet de livrer des applications microservices immédiatement exploitables et vous évite une coûteuse phase de « setup » de l'infrastructure (execution tracking distribué, remontée des logs distants, supervision et calcul de la qualité de service, alerting).

Vos équipes déploient leurs microservices en un clic et ceux-ci sont aussitôt supervisés. Le Streams Store vous permet de suivre la qualité de service d’un microservice en temps réel, à l’heure et au mois. L'algorithme du service, composé de fonctions lambdas distribuées, est présenté sous forme d'arbre logique, affiche le statut d'exécution de chaque étape et vous donne accès aux logs distants en un clic! Les développeurs sont autonomes et disposent de toutes les informations pour comprendre et résoudre les anomalies.

Comment gérer la mise à l’échelle ?

Contrairement aux approches classiques et à l'état de l'art actuel, MD Dynamics Link, plateforme Realtime Streaming Analytics ne considère pas le microservice comme un monolithe que l'on réplique simplement. De ce point de vue, nous dessinons l’état de l’art de demain via les « streams » ou « algorithmes distribués » dont chaque étape clé est une fonction lambda qui peut être distribuée indépendamment pour une mise à l’échelle sur mesure de vos services métiers. La mise à l'échelle de chaque fonction lambda du microservice se fait simplement en sélectionnant les nodes et le nombre d'endpoints (threads) dans l'interface, sans avoir à modifier l'architecture ni le code du service.

Architecture microservices, événementielles et streaming

MD Dynamics Link est le fruit d'un an et demi de Recherche et Développement, conçue en 2014 comme une plateforme dédiée au développement et à l'exploitation d'applications distribuées haute volumétrie temps réel. Son architecture distribuée hybride répond à divers cas d'usage, tels que la data analytics et le data streaming, et les microservices. Basée sur un réseau logique de nodes et d'endpoints permettant d'atteindre n'importe quelle ressource distante à partir d'une simple URL, elle associe la résilience des réseaux peer-to-peer, des architectures événementielles (Even Driven) asynchrones, et de data streaming temps réel tout en embarquant les patterns de distribution (load-balancing, broadcasting, routage, request/reply multi-destinataires, ..) et d'analytics (agrégations, fenêtres temporelles, streaming map/reduce, etc). Elle facilite l'écriture de microservices sous forme de « streams » (algorithmes distribués composés de fonctions lambdas).

Quels avantages ?

Les avantages proposés par l'état de l'art:

  • Les développeurs se concentrent sur la logique métier
  • Chaque microservice est développé, maintenu et déployé indépendamment des autres

Les avantages issues des innovations MD Dynamics :

  • ⭐️ Accédez aux « DevOps in minutes »
  • ⭐️ Déployez vos microservices en un clic
  • ⭐️ Réalisez des mises à l'échelle sur mesure
  • ⭐️ Sécurisez les apis par abonnement
  • ⭐️ Exécutez des versions concurrentes sans conflits
  • ⭐️ Distribuez datastores et timeseries
  • ⭐️ Architecture hybride microservices/événementielles/streaming/fonctions lambdas