Fermer

avril 10, 2020

Une approche pilotée par l'architecture de la modernisation des applications


Les applications d'entreprise se sont développées au fil des ans, avec des améliorations cumulatives qui les ont transformées en monolithes complexes qui sont lents à réagir aux changements et difficiles à entretenir. Les attentes du marché ont également évolué au cours de cette période, exigeant que les applications soient plus réactives et plus agiles. Conscientes que ces dynamiques sont en contradiction, les entreprises ont largement commencé à migrer les applications vers le cloud et à réévaluer l'état actuel de leurs applications pour tirer le meilleur parti du cloud. Cela a contraint de nombreuses entreprises à moderniser leurs applications existantes. La modernisation d'un monolithe n'est pas un changement insignifiant, mais un voyage au cours duquel les entreprises doivent prendre en compte un certain nombre de facteurs et prendre plusieurs décisions.

L'approche de la modernisation n'est pas une voie unique et commune pour tous les cas. Les voyages des entreprises varient souvent en fonction de trois facteurs clés: l'objectif de l'entreprise en matière de modernisation, l'état actuel de l'application et l'archétype de l'application.

Tableau blanc des objectifs de modernisation

Les objectifs de modernisation peuvent être fondés sur des raisons commerciales ou techniques. Certains des objectifs commerciaux les plus courants sont les suivants:

  • Délai de mise sur le marché plus rapide : la société peut avoir besoin de plus d'agilité et de publication plus rapide pour des fonctionnalités spécifiques, et / ou de la capacité des parties prenantes commerciales à apporter des modifications à la processus métier / produit / règle sans dépendre de l'informatique et du cycle de développement.
  • Réduction des coûts : Les entreprises peuvent chercher à remplacer des infrastructures et / ou des logiciels coûteux pour réduire le coût global de possession et de maintenance.
  • Amélioration de l'efficacité des opérations commerciales : les dirigeants peuvent exiger une meilleure compréhension des opérations commerciales et des indicateurs clés de performance pertinents, améliorant ainsi leur capacité à prendre des décisions commerciales adaptées basées sur les données.
  • Amélioration de l'expérience client : dans un monde où les clients sont de plus en plus nombreux sélectionner des marques en fonction de leur expérience, les entreprises reconnaissent la nécessité de fournir de nouveaux services et expériences aux clients sur tous les points de contact, généralement avec les systèmes
  • Soutenir la croissance des entreprises : Avec l'augmentation des affaires, il est nécessaire d'activer les systèmes et les modules pour gérer la croissance attendue du volume des affaires.
  • Offre différenciée innovante : L'entreprise peut avoir besoin de tirer parti des nouveaux technologie permettant la différenciation grâce à des fonctionnalités innovantes.

La modernisation des applications peut également être une initiative axée sur la technologie, mais ces initiatives doivent être retracées aux objectifs commerciaux appropriés pour justifier l'investissement. Les modernisations axées sur la technologie visent principalement à réduire la dette technique, ce qui rend les applications difficiles à améliorer, à maintenir et à gérer. Certaines raisons techniques peuvent nécessiter une modernisation:

  • Réduction de la complexité technique : En un mot, il s'agit de simplifier, de rendre l'application plus maintenable en modularisant des modules complexes en composants plus simples.
  • Améliorer la résilience
  • Améliorer la résilience : Les complexités du marché ont obligé les entreprises à se recentrer sur la façon de rendre leurs applications plus résilientes et tolérantes aux pannes pour résister aux défaillances. des composants logiciels ultra-modernes dotés d'une technologie plus récente qui offre plus de capacités et peuvent être pris en charge avec des compétences communément disponibles.

Ensemble, ces objectifs commerciaux et techniques aident les entreprises à arriver à l'architecture cible de l'application à moderniser.

État actuel de l'application

L'architecture, la conception, la pile technologique et la qualité du code de l'application existante influencent tous l'approche de modernisation. Une compréhension détaillée de l'état actuel de l'application permet de baser l'architecture actuelle / en l'état, qui peut être comparée à l'architecture «à venir» afin d'identifier les lacunes et les changements requis pour réussir la modernisation de l'application. Une analyse simple pourrait inclure:

Alors que le type de modernisation dépend de l'objectif et de l'état actuel de l'application, le chemin emprunté pour la modernisation dépend de plusieurs archétypes d'application.

Archétypes d'application

Un archétype d'application est une forme ou un motif représentatif qui sert de modèle à de nombreux autres de mêmes caractéristiques.

Options de décision de modernisation

Puisqu'il pourrait y avoir plusieurs objectifs pour la modernisation, les entreprises peuvent utiliser une combinaison d'approches, comme le montre cet arbre de décision des objectifs clés et des traitements correspondants. Les options de décision peuvent être appliquées à n'importe quel archétype, bien que les décisions spécifiques à l'archétype nécessitent plus de détails.

Pour explorer une option plus détaillée, considérez l’objectif de modernisation comme étant d’améliorer les délais de commercialisation de l’entreprise et son expérience utilisateur. L’analyse du parcours client doit d’abord être effectuée pour déterminer l’expérience utilisateur optimale, et une analyse détaillée de l’application doit être effectuée pour identifier tout hotspot empêchant l’agilité de l’application. Une fois ceux-ci déterminés, l'évaluation d'impact, l'estimation et l'analyse coûts-avantages peuvent être entreprises. La matrice ci-dessous représente les différentes manières dont l'application UI pourrait être modernisée en fonction des points de décision clés.

Selon l'état actuel de l'application et les objectifs, l'application modernisée peut se retrouver dans l'un des cinq états cibles:

  1. Micro-Frontends : Micro-frontends, ou MicroApps, est une approche pour diviser le front-end en un ensemble d'applications déployables indépendamment, couplées de manière lâche et assemblées ensemble pour créer une expérience utilisateur cohérente.
  2. Interface utilisateur modernisée au-dessus des microservices : Dans cet état, l'interface utilisateur (UI) est découplée des microservices, mais pas fonctionnellement divisée en micro-frontends plus petits. L'interface utilisateur est modernisée dans son ensemble et peut être déployée séparément des microservices.
  3. Interface utilisateur modernisée sur la couche supérieure de service : Ici, l'interface utilisateur est découplée de la couche services, mais aucune n'est divisée en parties plus petites. L'interface utilisateur est modernisée dans son ensemble et peut être déployée séparément de la couche de service.
  4. Interface utilisateur modernisée intégrée au microservice : Cet état voit l'interface utilisateur et le microservice correspondant divisés en unités déployables indépendamment en fonction du contexte délimité. L'interface utilisateur est modernisée et déployée avec le microservice respectif, qui peut être composé ensemble si nécessaire.
  5. Interface utilisateur modernisée découplée localement de la couche de service : dans ce scénario, l'interface utilisateur est découplée logiquement de la couche de service, mais ni est encore divisé en parties plus petites. L'interface utilisateur est modernisée dans son ensemble et déployée avec la couche de service.

Considérations de mise en œuvre de la modernisation

La modernisation progressive et itérative est généralement meilleure que l'approche du «big bang», qui est très risquée. La modernisation incrémentielle rapproche l'architecture de l'état cible à chaque étape, avec une solution intermédiaire qui peut être utilisée par les utilisateurs finaux, tirant ainsi parti de l'investissement plus rapidement sans attendre la modernisation de l'ensemble de l'application. Les entreprises devraient tenir compte de plusieurs éléments lors de ces mises en œuvre de modernisation.

Les entreprises ont un grand nombre d'applications existantes qui doivent être modernisées, peut-être pour un nombre tout aussi important de raisons. La modernisation des applications est un voyage, pas un événement ponctuel, et les entreprises doivent prendre en compte divers facteurs lorsqu'elles décident de l'approche à adopter. Cet article a exploré plusieurs de ces facteurs clés, mais l'approche détaillée variera en fonction de l'archétype de l'application. Nous explorerons une approche de modernisation plus détaillée dans un prochain article, mais veuillez nous contacter en attendant si vous souhaitez en discuter davantage.




Source link