Pourquoi les mettre à niveau est crucial pour votre entreprise / Blogs / Perficient

Que sont les systèmes existants ? Pourquoi la mise à niveau de ces systèmes est-elle nécessaire ?
La mise à niveau signifie bien plus que simplement apporter des améliorations pratiques pour assurer le bon fonctionnement des choses. Il répond aux besoins immédiats plutôt que de rechercher une solution parfaite mais peu pratique. La situation pourrait devenir incontrôlable si les choses ne fonctionnent pas correctement en temps réel.
Un de ces incidents s’est produit le 4 janvier 2024, lorsque Le ministère sud-africain de l’Intérieur a été mis hors ligne dans tout le pays en raison d’une panne du mainframe. En termes simples, les pannes des mainframes dans de tels contextes constituent généralement des problèmes à enjeux élevés, car elles affectent l’infrastructure de base qui prend en charge les services publics vitaux. En Afrique du Sud, où le ministère de l’Intérieur gère une série de services essentiels tels que les passeports, les documents d’identité et le contrôle de l’immigration, une panne d’ordinateur central peut avoir des répercussions considérables, entraînant des arriérés, des retards et un potentiel chaos administratif. Le ministère sud-africain de l’Intérieur fournit un exemple clair d’un système existant critique confronté à des risques importants en raison de sa technologie obsolète et de ses défis opérationnels.
Il est essentiel de résoudre ces problèmes par la modernisation et la transformation numérique pour améliorer la prestation de services et garantir l’efficacité et la sécurité continues du système. On ne peut pas migrer l’ancien système en une seule fois, car l’aspect commercial et fonctionnel des tests est indispensable. Une approche planifiée et systématique est nécessaire lors de la mise à niveau du système existant.
Question: Quelle est la solution pour éviter un tel cas ?
Répondre: Modernisation du code Legacy.
La modernisation du code existant consiste à améliorer et à mettre à jour les systèmes logiciels obsolètes pour les rendre plus maintenables, évolutifs et compatibles avec les technologies modernes. Comprenons cela en utilisant Apigee (un outil de gestion d’API).
1. Évolutivité
Système hérité: Les systèmes existants ont été conçus pour fournir des solutions pour les tâches respectées, mais il n’y avait pas d’évolutivité car les enregistrements étaient limités au sein de l’infrastructure pour améliorer l’activité.
Appelez-le: Grâce à sa scalabilité aisée, sa surveillance centralisée et ses capacités d’intégration, Apigee a aidé l’organisation à planifier son approche en matière d’amélioration commerciale.
2. Sécurité
Système hérité: L’une des méthodes les plus simples pour authentifier les utilisateurs dans les systèmes hérités était « l’authentification de base », où le client envoie un nom d’utilisateur et un mot de passe dans chaque requête HTTP. Cette méthode était vulnérable aux attaques de l’homme du milieu (MITM) si elle n’était pas combinée avec HTTPS. Les informations d’identification sont exposées à chaque demande.
Appelez-le: Grâce à Apigee, l’organisation peut rapidement mettre en œuvre des fonctionnalités de sécurité modernes telles que OAuth, la validation des clés API, la limitation du débit et la protection contre les menaces (par exemple, détection de robots) sans modifier la logique de base des API.
3. Expérience utilisateur et développeur
Système hérité: L’API existante manque d’une bonne documentation, ce qui rend plus difficile son intégration pour les développeurs externes. La plupart des systèmes ont tendance à avoir un format de communication basé sur SOAP.
Appelez-le: Apigee fournit un portail API intégré, une documentation automatique des API et des outils de test, améliorant l’expérience globale des développeurs et l’adoption des API afin que l’intégration avec d’autres outils puisse être facile et transparente avec les normes modernes.
Il existe désormais plusieurs façons de migrer les données des systèmes existants vers les systèmes modernes, répertoriées ci-dessous.
1. Migrations du Big Bang
2. Migration progressive
3. Migration parallèle
4. Migration pilote
5. Migration hybride
et plus encore…
Bien que ces éléments soient connus des propriétaires de systèmes existants, ils sont très sélectifs et exigeants lors de la finalisation d’un plan de migration. Ils ne sont conscients que de l’objectif à court terme, c’est-à-dire rendre le code opérationnel en production. Parce que lorsque nous parlons de systèmes existants, il ne reste que le code et un soupir de soulagement qu’il soit toujours opérationnel. Pour la plupart des systèmes, il n’y a pas de documentation, d’historique du code, de révisions, etc., et c’est pourquoi il pourrait échouer à grande échelle en cas de problème.
J’ai trouvé certains points qui doivent être assurés avant de finaliser le processus de migration des systèmes existants vers les systèmes modernes.
1. Recherche et analyse
Nous devons comprendre les motivations derrière le développement du système Legacy puisqu’il n’y a pas de documentation ou une documentation insuffisante.
Dans l’étude, nous pouvons prévoir de collecter des données historiques pour comprendre le comportement du système. Nous devons creuser plus profondément pour trouver quelque chose qui pourrait nous aider à mieux comprendre le système.
2. Gestion d’équipe
Après avoir étudié le système, nous pouvons estimer la taille de l’équipe et la gestion des ressources. De tels systèmes sont bien plus anciens en ce qui concerne la technologie sur laquelle ils fonctionnent. Il est donc difficile de rassembler des ressources avec des compétences aussi dépassées. Dans ce cas, la direction peut transposer les ressources existantes dans de telles technologies.
Je pense qu’il serait préférable d’ajouter le nombre respectif d’ingénieurs juniors, car ils seraient exposés à des défis, ce qui pourrait les aider à améliorer leurs compétences.
3. Outil pour capturer les journaux bruts
L’analyse des journaux bruts peut en dire davantage sur le système, car c’est ainsi que la communication se déroule pour accomplir chaque tâche demandée par le système. En décomposant les données dans un langage simple, en comprenant à quelle heure les demandes sont élevées par horodatage,
De quoi sont constituées les données de paramètres et grâce à ces informations, nous pouvons déterminer le comportement du système et planifier correctement.
4. Présentation des Logs
Parfois, nous devrons peut-être présenter l’étude de cas à la haute direction avant de poursuivre le plan. Ainsi, pour simplifier la présentation, nous pouvons utiliser des outils comme Datadog et Splunk pour obtenir des données dans un format tel que tabulaire, graphique, etc. afin que les autres membres de l’équipe puissent comprendre.
5. Répliquez l’architecte avec les fonctionnalités appropriées
C’est la partie la plus importante. Le développement de bout en bout est la seule solution pour une activité de migration fluide. Nous devons ici garantir des normes, telles que le maintien des fonctionnalités de base, la gestion des risques, la transmission des changements de modèle de données à d’autres clients associés et la garantie de l’accès des utilisateurs, des processus métier, etc. L’étude du point 1 peut nous aider à comprendre le comportement des systèmes à vérifier. sur quelle technologie moderne nous pouvons effectuer notre migration.
Nous pouvons mettre en œuvre et planifier en utilisant l’une des méthodes de migration que j’ai mentionnées ci-dessus dans le blog.
6. Tests de bout en bout
Une fois le système existant répliqué sur Modern Tech, nous devons nous assurer que nous disposons d’un environnement de test d’acceptation utilisateur (UAT) pour effectuer les tests du système. Cela pourrait s’avérer difficile si les systèmes existants ne disposaient pas d’un environnement de test à l’époque. Nous devrons peut-être appeler des URL backend fictives pour nous moquer du comportement des services.
7. Avant de passer à la production, effectuez correctement les tests de pré-production
Ce n’est qu’après des tests UAT réussis que l’on peut garantir la fonctionnalité et penser à déplacer les modifications vers la production sans problème. Cependant, certains points doivent être assurés, comme le respect des normes et la tenue à jour de la documentation. En matière de normes, nous devons garantir qu’aucun risque ne puisse entraîner la défaillance des services de la technologie moderne et qu’ils soient correctement compatibles.
Dans la documentation, nous devons nous assurer que tous les flux de services sont correctement documentés et que les tests sont effectués conformément à la collecte des exigences.
Les systèmes existants et leur fonctionnement comptent parmi les sujets les plus complexes et les plus chronophages. Mais pour rendre le travail plus facile, il faut y mettre des efforts.
Source link