olly - Fotolia

Microservices : comprendre les limites du low-code

Si le low-code peut accélérer le déploiement de certains microservices, en comprendre les limites permet aux équipes de développement de cerner les bons cas d’usage.

Pour rester dans la course face à ses concurrents, une organisation doit s’adapter aux nouvelles stratégies technologiques. Cependant, cela peut s’avérer difficile pour les entreprises qui emploient encore des méthodologies de développement traditionnelles.

Les plateformes low-code/no-code peuvent aider à relever ce défi en rationalisant les flux de développement et en automatisant les processus de déploiement des applications. Cela peut s’avérer particulièrement utile lorsque l’on travaille avec des applications modulaires, basées sur des microservices, qui nécessitent habituellement des niveaux d’expertise de développement et de support d’infrastructure plus importants.

Et si le low-code n’est pas toujours adapté aux systèmes distribués, il existe certainement des scénarios où il peut constituer une approche idéale.

C’est en comprenant les limites du low-code lors du développement de microservices qu’une entreprise peut utiliser cette technique à bon escient.

Les principales fonctionnalités d’une plateforme low-code

Pour rappel, le low-code est un style de développement d’applications qui doit faciliter une livraison plus rapide des applications grâce à une interface simplifiée, souvent basée sur des GUI. 

Une plateforme typique de développement low-code contient les composants suivants :

  • un environnement de développement intégré visuel, tel qu’une interface de type glisser-déposer, qui permet au développeur de définir rapidement les modèles de données et les flux de travail de l’application ;
  • des mécanismes d’intégration qui connectent en toute sécurité les composants frontaux et les services back-end, principalement pour la gestion du stockage et la récupération des données ; et
  • un composant de gestion du cycle de vie des applications qui gère la création et le déploiement des applications dans des environnements de préparation et de production.


L’interface graphique de la plupart des plateformes low-code permet d’automatiser de nombreux aspects de la conception des applications. Souvent, ces interfaces offrent un moyen rapide de redessiner l’IU d’une application pour différents types d’utilisateurs finaux ou d’ajouter de nouvelles fonctionnalités.

Dans le cas du développement de microservices, la présence d’un IDE traditionnel afin de corriger le code ou d’y ajouter des fonctionnalités avancées est un avantage majeur. Dans le meilleur des cas, la plateforme low-code est compatible avec les IDE du marché tels que VS Code et Jetbrain.

Avantages du low-code

L’adoption des microservices peut libérer les développeurs des contraintes des anciennes piles technologiques et des architectures monolithiques. Dans certains cas, les microservices construits avec un outil low-code permettent de renforcer ces avantages. Attention. L’approche low-code est profitable quand il s’agit de développer des applications ou des services simples, avec un faible nombre de points d’intégration.

  • Réutilisabilité. Les microservices low-code permettent une réutilisation accrue des composants grâce à des bibliothèques fonctionnelles et à des listes déroulantes des principales caractéristiques de l’application.
  • Expérience client. Le low-code permet aux développeurs de s’adapter aux besoins des clients en ajoutant rapidement de nouvelles fonctionnalités et des personnalisations aux collections de microservices, selon les besoins.
  • Mises à jour des fonctionnalités. Puisque l’on réutilise des portions de code, il est plus aisé de réaliser des mises à jour récurrentes avec un tel outil.
  • Niveaux de productivité. Le développement low-code permet aux développeurs de produire plus d’applications en moins de temps, les cycles de livraison sont normalement accélérés et il est possible de livrer plus de code dans le même temps imparti.
  • Gestion des coûts. Le low-code peut fournir une approche économe en ressources pour concevoir des applications modulaires, des processus automatisés et des flux de données, ainsi que pour atténuer la nécessité d’embaucher des développeurs spécialistes d’un domaine ou de certains langages.

Les limites du low-code dans le développement de microservices

Gardez à l’esprit que l’approche low-code s’accorde mal avec les systèmes à grande échelle basés sur des microservices qui englobent des processus commerciaux complexes, en particulier lorsque de nombreuses équipes de développement sont impliquées.

Voici quelques-uns des inconvénients qui limitent son utilisation pour ces types d’applications :

  • Compétences en programmation requises. Les éditeurs poussent l’idée qu’il est possible d’utiliser leurs plateformes sans aucune connaissance en programmation. Si cela est souvent vrai pour la construction d’applications métiers basiques, de bonnes connaissances des architectures et du développement de microservices sont nécessaires pour mener à bien des projets impliquant une plateforme low-code.
  • Connaissance du SI nécessaire. De même, le déploiement de microservices ne peut se faire sans une connaissance des outils et des architectures en place. Évaluez dans le détail les fonctionnalités de l’outil low-code, sa compatibilité avec la chaîne d’outils CI/CD, l’architecture et les systèmes existants.
  • Personnalisation limitée. Bien que les modules préconstruits que l’on trouve dans les plateformes low-code soient pratiques à utiliser, ces composants sont souvent génériques et ne permettent pas forcément de réaliser des personnalisations uniques ou complexes.
  • Intégration limitée. Lorsqu’on utilise l’approche low-code, il est souvent difficile d’intégrer les plateformes à des SI de haut niveau, à des applications commerciales complexes ou à de gros volumes de données. De même, le code généré, bien que parfois modifiable depuis un IDE traditionnel, peut s’avérer difficile à embarquer.
  • Verrouillage propriétaire. L’enfermement auprès d’un éditeur est une préoccupation majeure avec les systèmes low-code, car beaucoup de ces plateformes propriétaires empêchent les développeurs de porter le code en dehors des environnements de déploiement définis par l’éditeur.
  • Sécurité et fiabilité. Avec ces outils, les développeurs abandonnent une grande partie de leur contrôle à des services tiers, ce qui peut poser un risque de sécurité lorsqu’ils travaillent avec des données commerciales sensibles. Un problème de plus en plus récurrent, quels que soient les services et outils employés. Aussi, il faut veiller à ce que le code généré par la plateforme respecte les mêmes standards de qualité et de sécurité définis par les architectes de l’organisation.

Microservices et low-code : les cas d’usage

Une fois les limites du low-code comprises, il est tout à fait possible de lancer des projets basés sur des microservices avec ce type de plateforme.

Voici quelques-uns des cas d’usage typiques du développement low-code :

  • Preuve de concept (POC). Puisqu’il permet aux développeurs de bâtir rapidement des applications, le low-code est un moyen pratique de créer des POC qui justifient une migration vers les microservices. Par exemple, les programmeurs peuvent démontrer comment le découpage d’une application monolithique existante améliorera un processus métier particulier ou réduira les frais généraux.
  • Applications Web modulaires. Les microservices créés à l’aide d’une plateforme LCNC peuvent aider à créer des applications Web simples et modulaires, que les développeurs peuvent déployer en peu de temps, puis mettre à jour de manière indépendante au fil du temps, en fonction de l’évolution des besoins en matière d’évolutivité et de performances.
  • Génération d’API. Le low-code est idéal pour bâtir des API génériques et réutilisables qui s’intègrent automatiquement au code source existant d’une application. Il n’est donc pas nécessaire d’écrire un code d’API dédié pour chaque service individuel et plusieurs microservices peuvent travailler simultanément avec une seule API. Des éditeurs comme Software AG et Boomi proposent des solutions en ce sens.
  • Conteneurisation. La plupart des applications low-code peuvent communiquer avec des conteneurs et s’exécuter à l’intérieur de ceux-ci, ce qui permet aux développeurs de microservices d’avoir accès à des outils d’orchestration cruciaux comme Kubernetes.
  • Réduction des budgets de développement. Si une organisation est contrainte de réduire son budget informatique, une plateforme low-code peut aider les développeurs à continuer à produire de petits ensembles de microservices, sans les frais généraux techniques associés au développement à grande échelle. Il faudra toutefois prendre en compte le coût de déploiement et le modèle économique de cet outil.

Pour approfondir sur BPM et RPA