Article

Modernisation d’une application basée sur des microservices : comment choisir la bonne solution ?

Date de la publication

La modernisation de l’ensemble complexe de systèmes qui permettent à vos opérations d’atteindre un rendement maximal peut se révéler une tâche extrêmement exigeante.

Pour trouver l’équilibre parfait entre vos besoins, les risques encourus, l’effort requis et la valeur ajoutée de la solution, il faut comprendre en détail chaque composante de votre architecture actuelle et de celle à venir.

Pour en arriver à la solution idéale, vous devrez prendre de nombreuses décisions, surtout si vous choisissez de passer d’une architecture monolithique à une architecture basée sur des microservices.

Déterminez vos objectifs

Pour choisir la meilleure solution en vue de la modernisation de votre application (qu’il s’agisse d’une architecture monolithique ou basée sur des microservices), vous devez vous fixer des objectifs SMART clairs.

Habituellement, ces objectifs sont liés aux avantages souhaités, comme la productivité, la fiabilité, l’évolutivité, la sécurité et la visibilité opérationnelle accrues, une plus grande rapidité d’exécution ou une diminution des risques.

Précisez votre définition d’une bonne application

Dans le contexte d’une modernisation, vous devez vous poser la question suivante : qu’est-ce qu’une bonne application?

Pour y répondre, vous devez tenir compte des besoins particuliers de l’équipe de développement et de celle des opérations. Pour les responsables du développement, une bonne application doit permettre d’accroître la productivité : elle doit être simple, rapide à développer et à déployer. Pour les responsables des opérations, l’application doit fournir une bonne visibilité opérationnelle pour faciliter la pose de diagnostics et l’application de correctifs.

Il s’agit donc de trouver l’équilibre entre ces besoins, tout en vous assurant que les mises à niveau seront assez simples et que l’application vous permettra de vous démarquer parmi la concurrence.

Choisissez le type d’architecture

De nos jours, la plupart des entreprises utilisent une architecture monolithique, qui combine l’interface utilisateur, la logique métier et la couche d’accès aux données. Cette façon de faire présente des avantages sur le plan de la sécurité puisqu’elle n’exige pas le doublement des données, mais elle offre bien peu de flexibilité et rend complexe chaque modification, même mineure.

L’architecture basée sur des microservices, pour sa part, est constituée d’une série d’applications entièrement autonomes, rapides à déployer en raison de leur court cycle de vie et contrôlées par une seule interface utilisateur. Elle offre donc des services très variés, tout en demeurant vraiment facile à mettre à jour et à modifier. Toutefois, advenant une erreur, le diagnostic peut se révéler plus complexe puisque chaque module distinct doit faire l’objet d’une vérification. De plus, si l’architecture n’est pas bien conçue, le doublement des données entre les divers services pourrait rendre le système plus vulnérable que celui conçu avec une architecture monolithique.

Choisissez la bonne approche en fonction du résultat souhaité

Pour choisir la bonne approche (la méthode qui vous permettra d’implanter votre solution), vous devez tenir compte de trois aspects : les risques que vous êtes prêts à prendre, la valeur que vous voulez créer, et les efforts requis pour réussir la transition. Pour engager cette réflexion, vous devez bien saisir et documenter la tolérance au risque et les capacités réelles de votre organisation. Vous aurez ensuite une bonne partie de l’information requise pour choisir l’approche qui convient le mieux à votre situation : une méthode de développement dite traditionnelle (ou « en cascade »), ou une méthode de développement incrémentale (ou « agile »).

La première méthode convient mieux aux solutions qui ne requièrent pas de créer une nouvelle architecture (p. ex. dans le cas d’un réhébergement de vos services), même s’il faudra plus de temps avant de créer de la valeur pour votre organisation. La solution intermédiaire, qui offre le meilleur équilibre entre risque, valeur et effort, n’implique pas de changement de méthode de développement, mais seulement la migration de vos systèmes vers une plateforme infonuagique. Bien qu’il soit possible de déployer un nouveau système en utilisant une méthode en cascade, cette approche génère de la complexité et rend difficiles les modifications de portée et d’exigences, ce qui risque de retarder le projet. Pour cette raison, la méthode incrémentale, fondée sur des pratiques agiles, demeure la méthode la plus sûre et la plus rapide (quoique la plus exigeante) pour une transition architecturale réussie et à haute valeur ajoutée.

En résumé, pour choisir votre application, vous devrez trouver le point d’équilibre entre la mise en réseau, la sécurité, l’équipe responsable de l’application et celle chargée des opérations et du développement, la plateforme, l’assurance de la qualité et la gestion des versions.

Pour mieux comprendre le rôle que nous pouvons jouer dans votre projet, visionnez notre webinaire Modernisation des applications – Sélection d’une approche, d’une architecture et de technologies, conçu en collaboration avec Opticca.

N’hésitez pas à contacter un membre de l’équipe de R2i pour en savoir plus, y compris sur notre expertise dans le domaine.

NE MANQUEZ RIEN DE NOS ACTUALITÉS!

S’inscrire à l’infolettre
Partagez sur vos réseaux