Passer au contenu principal

Comment mettre à niveau les systèmes existants pour être compétitifs à l'ère du cloud

Comment mettre à niveau les systèmes existants pour être compétitifs à l'ère du cloud

Mise à niveau des systèmes existants

Modernisation héritée suscite beaucoup d'attention de la part des organisations informatiques. Les recherches montrent que le marché mondial atteindre 24.8 milliards de dollars d’ici 2025, avec une croissance de 17 % par an.

Mais la mise à niveau des systèmes existants n'est pas un projet ponctuel. Il est préférable de le faire au fil du temps en suivant une analyse de l'ensemble de l'organisation. portefeuille d'applications.

Comment déterminer une stratégie de modernisation de l'héritage

Les applications héritées présentent souvent des interdépendances qui ne sont pas évidentes à première vue. Vous ne devez jamais moderniser en commençant par les programmes les plus anciens et en progressant vers l'avant.

Commencez plutôt par les programmes qui peuvent se suffire à eux-mêmes et qui ne feront pas tomber les autres s'ils sont modifiés. Une nouvelle catégorie d'outils appelés analyse de la complexité de l'entreprise peut aider en fouillant dans le code et en trouvant ces dépendances. Bien que les outils soient coûteux, ils en valent souvent la peine pour les entreprises disposant de vastes portefeuilles hérités.

La mise à niveau des systèmes existants n'est pas non plus une question de choix. Gartner définit sept types de modernisationLe plus basique est d'encapsuler des données et des fonctions pour les rendre disponibles en tant que services via une API, un processus qui n'a pas du tout besoin de toucher au code.

Les options plus complexes incluent :

  • Redéployer l'application vers une infrastructure cloud inchangée (« lifting and shifting »)
  • Le migrer vers une nouvelle plateforme d'exécution (comme un conteneur logiciel)
  • Restructurer son code existant pour l'optimiser
  • Le remplacer ou le reconstruire à partir de zéro

Même l’approche la plus basique peut aider les entreprises à trouver une plus grande évolutivité et à accéder à de nouvelles fonctions dans le cloud.

5 candidats à la modernisation du patrimoine

Il n'existe pas de stratégie universelle pour mettre à niveau vos systèmes existants. Des considérations spécifiques s'appliqueront en fonction du type de logiciel.

Vous trouverez ci-dessous cinq des exemples de modernisation les plus courants avec des stratégies suggérées pour prendre en charge les mises à jour.

1. Systèmes obsolètes

Les systèmes obsolètes sont ceux que l'entreprise a construits de toutes pièces à l'époque des mainframes et du COBOL. Ce sont les applications les plus difficiles à moderniser, et ce n'est peut-être même pas une bonne idée.

Si le système fonctionne bien et ne constitue pas un handicap pour l'organisation, il est souvent préférable de le laisser tel quel. Il peut être utile de collecter des données et des fonctions à exposer sous forme d'API pendant que vous recherchez des alternatives packagées plus modernes.

2. Applications sur serveurs de base

La virtualisation du matériel basé sur X86 exécutant Linux, Windows ou Unix peut aider votre organisation à faire évoluer les ressources selon les besoins et à optimiser l'utilisation du matériel disponible.

La virtualisation augmente les taux d’utilisation des serveurs dans les paramètres de centre de données classiques de moins de 20 % à plus de 70 %.

Vous pouvez également déplacer des applications virtualisées vers le cloud. Tous les principaux fournisseurs de cloud public prennent en charge les plateformes de virtualisation les plus populaires.

Une autre solution consiste à encapsuler les applications dans des conteneurs logiciels tels que Docker. Les conteneurs regroupent les applications et leurs composants dépendants, comme les bibliothèques système et les paramètres, dans un seul package. Ce dernier peut être partagé et stocké dans un référentiel.

Dans les deux scénarios, virtualisation et conteneur, la fonctionnalité de l'application n'est pas perturbée. Mais vous bénéficiez d'une plus grande flexibilité en termes d'environnement et de ressources allouées.

3. Processus opérationnels

Bien que les processus métier ne soient pas des logiciels, ils sont souvent inclus dans des applications impliquant l’automatisation des flux de travail et la gestion des documents.

Cela peut constituer un handicap si :

  • Les processus n'ont jamais été optimisés
  • L'entreprise a changé
  • La technologie a permis de les améliorer

L'analyse des processus métier est une méthode qui permet d'examiner les processus existants pour trouver de nouvelles efficacités. De nombreux outils sont disponibles pour automatiser ce travail. Les utilisateurs peuvent visualiser les flux métier à l'aide d'outils glisser-déposer ou recevoir des conseils automatisés sur la manière de les améliorer.

Automatisation de processus robotique (RPA) fait partie d'une catégorie d'outils en pleine expansion appelée hyperautomatisation. Ces outils permettent d'automatiser les tâches humaines de routine, telles que la saisie de données à partir de documents imprimés.

D’autres formes d’hyperautomatisation incluent :

  • Développement d'applications low-code
  • Courtiers en événements
  • Logiciel de capture de documents
  • Découverte de processus
  • Modélisation prédictive des décisions

Tous sont utiles pour rationaliser et automatiser les processus.

4. Intégration des API

Cette intégration expose les services et les données d’application de manière à ce qu’ils puissent être utilisés par d’autres logiciels.

Par exemple, le processus d'approbation de carte de crédit au sein d'une application existante peut être encapsulé et exposé sous forme d'API. De nombreux outils sont disponibles pour équiper les applications vieillissantes d'API, ce qui vous permet de les moderniser progressivement au fil du temps. Il s'agit d'un moyen simple de prolonger la durée de vie d'un ancien logiciel pendant que vous écrivez ou installez quelque chose de plus moderne.

5. Bus de services d'entreprise (ESB)

Un ESB orchestre l'échange de services entre applications. Il permet aux applications de s'abonner à des messages en fonction de règles simples et fournit un moyen standard de distribuer des services.

Les ESB existent depuis longtemps, mais le concept a été rajeuni à mesure que le cloud computing a changé la façon dont nous créons des logiciels.

Les applications cloud modernes se composent de fonctions logicielles faiblement couplées qui sont assemblées à la volée. Un ESB permet aux développeurs d'améliorer et d'étendre les fonctionnalités en ajoutant de nouveaux services.

Par exemple, ils peuvent créer une nouvelle interface utilisateur à l’aide de services cloud et se connecter à un système back-end hérité pour le traitement via des API.

Applications packagées

Les logiciels client-serveur étaient à la mode dans les années 1990. Mais aujourd'hui, les logiciels en tant que service (SaaS) fournis via le cloud ont dépassé cette popularité.

Cela pose un problème si vous avez investi des ressources dans la création d'applications basées sur vos anciennes plateformes. Cela est particulièrement vrai dans la mesure où de nombreuses d'entre elles, telles que Lotus Notes, utilisait un système de fichiers propriétaire et un langage de script.

Sur les marchés connaissant une consolidation considérable, comme celui de la gestion de la relation client, la plupart des sociétés acquéreuses ont travaillé dur pour fournir aux clients un chemin de migration pour les applications plus anciennes.

Mais avant de vous éloigner des logiciels client-serveur, vérifiez si une application cloud native comparable offre de meilleures fonctionnalités. Si les données existantes se trouvent dans une base de données compatible SQL, la migration des données ne devrait pas poser de problème.

Que se passe-t-il si l'application client-serveur a été fortement personnalisée ou créée avec des outils de développement propriétaires ? Il est préférable de faire appel à un intégrateur spécialisé ou de prendre le coup et de reconstruire ces fonctions à partir de zéro.

La plupart des applications majeures étant désormais disponibles dans le cloud, il peut être possible de résoudre ce problème en recodant les modifications précédentes à l'aide d'API pour les séparer de l'application principale. Les entreprises bénéficient alors des améliorations apportées au package de base et conservent leurs personnalisations.

DevOps dans le cloud

La technique de développement agile DevOps est l'option préférée pour créer des applications dans le cloud. Cela ne signifie pas que les méthodes traditionnelles comme le modèle en cascade n'ont pas de valeur. Mais une structure descendante et des processus rigides ne se prêtent pas à une évolution fonctionnelle rapide.

DevOps encourage :

  • Collaboration étroite entre développeurs et utilisateurs métiers
  • Itération rapide avec des versions de code quotidiennes
  • Rétroaction continue
  • Utilisation extensive des services

Les développeurs peuvent provisionner leur propre infrastructure et fournir des logiciels dans des conteneurs pour plus de portabilité.

Ne vous laissez pas entraver par les chaînes héritées. Les options de modernisation des applications d'entreprise se multiplient et les coûts diminuent. Il n'y a jamais eu de meilleur moment pour revoir votre portefeuille de logiciels dans le but de le faire entrer dans l'ère du cloud computing.

Choisissez votre langue