7 stratégies clés pour transformer ses applications par le cloud

par Benjamin Chossat - Directeur référent stratégie cloud
| minutes de lecture

Comment moderniser efficacement son application grâce au cloud ? Pour que la transformation soit un succès, il est impératif d’opter pour une stratégie adaptée qui prenne en compte à la fois les contraintes de l’existant, les problèmes que l’on souhaite résoudre et les bénéfices attendus. Gartner a synthétisé sept approches génériques qui permettent de mettre en lumière ces enjeux.

Le déploiement sur de nouvelles infrastructures n’est que rarement une fin en soi : la migration vers le cloud s’inscrit généralement dans le cadre d’un projet de modernisation grâce auquel l’entreprise va chercher à réduire ses coûts, améliorer ses performances ou augmenter sa productivité tout en se débarrassant des dépenses d’investissement et des frais de maintenance.

Reste à trouver comment concilier ces promesses avec le legacy, l’héritage souvent constitué d’une dette technique importante et de nombreuses interdépendances avec le reste du système d’information. L’application doit-elle être portée telle quelle ? Ou faut-il au contraire en profiter pour repenser son architecture ? L’alléger ? Remplacer certains de ses composants ? Repenser le processus de production ? Et vers quel fournisseur se tourner ?

Chaque application est unique, surtout quand elle est ancienne : il n’y a donc pas de silver bullet qui permettrait de répondre une bonne fois pour toutes à ces questions, mais l’on peut s’inspirer des sept stratégies de modernisation identifiées par les analystes du Gartner pour amorcer la réflexion.

1/ Encapsuler : mettre à disposition via des API

L’encapsulation constitue selon Gartner une première piste de modernisation. Elle consiste à remplacer les appels standards de l’application par des fonctions équivalentes transmises au moyen d’interfaces de programmation (API). La gestion des accès et la sécurité peuvent ainsi être délégués à des services gérés indépendamment de l’application. La démarche permet par exemple de réintégrer une application vieillissante au sein d’un système d’information moderne pour lui redonner de l’intérêt ou de la valeur sans qu’il soit nécessaire de la modifier.

2/ Rehosting : le “lift and shift”

Le rehosting, ou ré-hébergement, cherche à reproduire fidèlement l’architecture d’infrastructure et de services de l’application au moyen de ressources cloud. On va donc « soulever et déplacer » l’application d’un environnement vers un autre, sans en modifier le comportement.

Le procédé permet une migration rapide et peu coûteuse : il suffit en théorie de provisionner des ressources équivalentes à celles de l’architecture de départ, puis de procéder à une réplication des tâches et des données. En pratique, la démarche implique tout de même de vérifier que l’ensemble des paramètres du nouvel environnement (réseau, stockage, performances, système d’exploitation…) convient bien à l’application.

Le rehosting est souvent privilégié quand l’entreprise cherche à diminuer le coût de possession (TCO) lié à ses infrastructures, ou pour profiter des accords de niveau de service du prestataire. Seul, il ne permet a priori pas de modifier la valeur intrinsèque de l’application puisque cette dernière repose toujours sur son architecture de départ, mais la migration sert souvent de premier palier vers des transformations de plus grande ampleur.

3/ Replatforming : un environnement d’exécution “as a service”

Avec le replatforming, ou plateformisation, le déploiement de l’application est confié à un environnement d’exécution chargé de faire le pont entre l’application proprement dit et les infrastructures cloud qui sous-tendent son fonctionnement. Cette couche intermédiaire permet notamment de remplacer tout ou partie des composants du contexte d’exécution historique de l’application par des services capables de tirer pleinement parti de l’élasticité du cloud.

L’application n’est pas simplement copiée : elle est véritablement redéployée au sein d’un nouvel environnement, ce qui permet d’envisager le recours à des services managés, la mise en place de scénarios d’automatisation, l’optimisation de l’architecture et le changement de configuration sans pour autant modifier le cœur de l’activité concernée. Le replatforming montre toutefois ses limites quand l’application mobilise un grand nombre de services externes.

4/ Refactoring : remanier pour optimiser

Le refactoring, ou remaniement, intervient quand le code de l’application mérite des ajustements, soit pour augmenter la valeur produite, soit pour effacer la dette technique, soit pour s’adapter au futur environnement d’exécution. Le remaniement est une forme d’investissement qui vise à pérenniser et développer l’application en lui conférant des bases adaptées au cloud tout en conservant l’essentiel des investissements déjà consentis dans l’architecture par le passé.

5/ Rearchitecturing : pour une application nativement cloud

Transposer une architecture monolithique vieillissante dans le cloud a-t-il du sens ? Le projet de modernisation exige parfois une rupture plus franche avec l’existant. Le remaniement cède alors la place à une refonte en bonne et due forme, avec la conception d’une architecture distribuée, orientée services et gestion de processus. La stratégie consiste alors à isoler les briques fonctionnelles pour les réintégrer au sein d’une nouvelle structure flexible et évolutive.

6/ Rebuild : repartir d’une feuille blanche

Quand les compétences, les langages ou les systèmes d’exploitation disparaissent, il faut parfois envisager de faire table rase du passé et réécrire l’application. Dans ce contexte, l’application conserve son périmètre et ses spécifications, mais elle est entièrement re-développée, ce qui permet de gommer la dette technique et d’adopter les outils et environnements les plus adaptés aux solutions cloud retenues.

7/ Replace : adopter une autre application

Et si votre application ne faisait tout bonnement plus l’affaire ? La dernière stratégie est celle du remplacement, intéressant notamment quand le chantier de modernisation suppose un investissement bien supérieur aux bénéfices attendus. Gartner suggère alors de remettre à plat ses contraintes et ses objectifs afin de déterminer s’il n’existe pas déjà sur le marché une application susceptible de répondre au besoin. Remplacer son logiciel RH, son ERP ou son CRM par une solution en Saas permet de s’affranchir des phases de conception et de développement, ce qui libère du temps et des ressources pour les applications cœur de métier. Attention toutefois aux efforts d’intégration qui peuvent se révéler importants.

Quelle que soit la stratégie retenue au final, la modernisation par le cloud et pour le cloud est une opération complexe qui suppose un examen préalable précis de l’existant, des risques, des bénéfices attendus et des coûts de mise en œuvre.

À lire également sur le même sujet : “Replatforming applicatif : l’accélérateur de la migration vers le cloud“

Search

cloud

Contenus associés

Sopra Steria renouvelle sa participation à l'initiative Google Cloud Managed Service Provider

Ce nouvel engagement confirme notre expertise dans le domaine des Google Cloud Managed Services et établit les bases du développement et de l’exploitation de solutions performantes qui s’appuient sur :  la data, l'analytics, l'intelligence artificielle/machine learning et le développement d'applications.

Sopra Steria et OVHcloud s’allient pour répondre aux enjeux de souveraineté et d’agilité du secteur public et des OIV

Objectif de ce partenariat : accélérer la transformation numérique des organisations en leur proposant des composants applicatifs basés sur du PaaS (Platform as a service) sécurisé.

Cloud First stratégie : Sopra Steria accompagne la transformation digitale de Veolia

Référence mondiale dans la gestion optimisée des ressources (eau, énergie, propreté…), Veolia a entrepris dès 2015, sa Transformation Digitale via la modernisation de ses postes de travail et la digitalisation de ses offres de services.