Tout savoir sur la compatibilité des applications sur Microsoft Azure

puzzle-piece

Beaucoup de nos clients veulent transférer leurs applications existantes sur le cloud mais s’inquiètent des potentielles incompatibilités. C’est une question complexe. Pour tenter d’y répondre, nous allons centrer notre analyse sur le modèle d’exploitation de l’application et utiliser Microsoft Azure pour illustrer notre propos.

Les clouds publics les plus connus comme Microsoft Azure proposent 3 principaux types de modèles d’exploitation pour les applications :

  • l’Infrastructure en tant que Service (IaaS)
  • La Plateforme en tant que Service (PaaS)
  • le Logiciel en tant que Service (SaaS)

Parmi chacun de ces types de modèles, Azure propose toute une gamme de services qui peuvent être mis à profit pour optimiser l’utilisation d’Azure par les créateurs d’applications et les clients. Dans ce blog nous allons nous concentrer sur les modèles IaaS et PaaS, étant donné que ce sont les modèles d’exploitation les plus répandus pour la migration d’applications.

IaaS

IaaS est une infrastructure informatique instantanée accessible et gérable par Internet. Son utilisation est adaptable à la demande, et les clients ne payent que ce qu’ils utilisent. Dans Microsoft Azure, l’utilisation de l’IaaS est simplifiée sous la forme de machines virtuelles (MV).

Il y a moins de problèmes de compatibilité lorsque les applications sont migrées vers une machine virtuelle Azure, et qu’il n’y a pas de différence entre le serveur source et la MV cible. Pourtant certains facteurs jouent dans la compatibilité des applications :

  • Le système d’exploitation – si la version actuelle du système d’exploitation n’est pas soutenue par la machine virtuelle Azure (les versions de Windows avant 2008 R2, HP-UX, etc.), alors l’application nécessitera une modification pour fonctionner sur Azure.
  • La technologie – si les versions actuelles des différents composants de l’application tels que la base de données, le serveur d’application ou l’environnement d’exécution ne sont pas supportées, alors une mise à jour à la dernière version supportée sera nécessaire. Dans certains cas, les composants doivent même être remplacés par un produit différent si aucune version n’est supportée par Azure.
  • Le matériel informatique (Hardware) – la compatibilité des MVs avec le matériel hardware est une condition essentielle pour que l’application fonctionne conformément aux attentes. Ainsi, les applications utilisant la technologie des FPGA (Field Programmable Gate Array, ou circuits logiques programmables) peuvent nécessiter une nouvelle architecture avant d’être déployées sur Azure.
  • Logiciels commerciaux – dans le cas d’un logiciel commercial, des mises à niveau peuvent être requises si la version actuelle n’est pas prise en charge par le fournisseur sur la machine virtuelle Azure. Il faut aussi s’assurer que le fonctionnement n’est pas impacté lors d’une mise à jour vers une nouvelle version. Dans des cas extrêmes, le logiciel commercial peut être remplacé s’il n’existe aucune version prise en charge.
  • Les interfaces – la configuration de l’application (points d’accès, adresses, etc.) pour les interfaces nécessitera une correction. Il peut arriver que certaines interfaces doivent être remplacées par un équivalent interne à Azure.
  • Evolutivité – si l’application est supposée s’adapter automatiquement à la grandeur de la demande, alors une correction sera nécessaire pour rendre l’architecture de l’application stateless (sans état), permettant une évolutivité horizontale.
  • Securité – toute exigence de sécurité ou de conformité réglementaire (HIPAA, PCI etc.) devra être examinée en fonction des services de sécurité et des certificats de conformité fournis par Microsoft Azure.
  • Disponibilité et reprise après désastre (Disaster Recovery) – Les conditions de disponibilité et de reprise après désastre pour l’application devront être conçues et configurées sur la MV Azure.

PaaS

La plate-forme en tant que service (PaaS), quant à elle, est un environnement de développement et de déploiement entièrement dans le cloud, avec des ressources mises à disposition pour produire des applications. Les App Services, les Services Cloud, et Azure SQL sont des exemples des ressources du PaaS Azure.

Les problèmes de compatibilité arrivent le plus souvent lors de la migration d’applications ou de bases de données vers PaaS, celles- ci doivent être prises en charge par la plate-forme. Voici les facteurs qui entrent en compte dans la compatibilité avec Azure PaaS :

  • La technologie – les services PaaS nécessitent au minimum une version supportée pour les technologies d’application, les bases de données et l’environnement d’exécution. Si l’application actuelle n’est pas prise en charge, elle doit être mise à jour à la dernière version supportée. Dans ce cadre, les composants tels que les API, DLL, et COM devront être mis à jour. Dans certains cas, ils doivent même être remplacés si aucune version n’est prise en charge par PaaS Azure.
  • Les logiciels commerciaux – dans le cas d’un logiciel commercial, une migration n’est imaginable que si le fournisseur propose un logiciel qui est compatible avec PaaS. Sinon, le logiciel commercial devrait être changé ou hébergé sur IaaS.
  • Le stockage – l’application ne peut plus accéder aux données sur le stockage classique. Dans ce cas, les données doivent être transférées vers d’autres services tels qu’Azure Storage, Azure SQL, ou Azure CDN. Les références codées vers ces données devront être mises à jour dans l’application.
  • Les interfaces – comme pour IaaS, la configuration des interfaces (points d’accès, etc.) devra être corrigée, ou les interfaces elles-mêmes devront être remplacées avec un service équivalent fourni par Azure.
  • La sécurité – toute exigence de sécurité de l’application devra être reconfigurée. Cela inclut les ports et certificats SSL. La conformité réglementaire (HIPAA, PCI etc.) est aussi un paramètre important pour permettre à un service PaaS d’avoir le même niveau de conformité que le cloud global.
  • Évolutivité – bien que PaaS propose une adaptation automatique par défaut, la plupart des applications nécessiteront de passer à une architecture stateless pour avoir une évolutivité horizontale.

Pour conclure, la compatibilité des applications avec Microsoft Azure dépend de nombreux facteurs qui varient selon le mode d’exploitation de l’application. Chez DXC Technology, nos consultants peuvent effectuer un diagnostic de votre portefeuille d’applications pour identifier le modèle d’exploitation le plus adapté et le niveau de correction requit pour assurer une bonne compatibilité au cloud public. Nous pouvons également aider nos clients à migrer leur application vers un cloud public grâce à nos services Application Transformation Factories et Public Cloud Accelerators.


Mudasser Zaheer (Maz) est passionné par les transformations digitales. Il est actuellement responsable des services d’application sur cloud public (Public Cloud Application services) chez DXC Technology. Il a occupé auparavant les positions de Chief Evangelist, responsable de la transformation digitale et Chief Product officer pour des compagnies comme HP Enterprise.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: