Cloud : pensez à la portabilité de vos applications pour une meilleure expérience utilisateur
La portabilité des applications comprend des facteurs qui reposent sur le fournisseur de services de Cloud (outils fournis et options contractuelles), mais aussi la portabilité des données.
La portabilité dans le Cloud est la capacité à déplacer une application entre différents fournisseurs Cloud afin de réduire les risques d'interruption et/ou d'accroître les niveaux de performance.
L'objectif aujourd’hui est de développer des applications qui soient portables et performantes sans que l'utilisateur n'ait conscience des améliorations apportées en arrière-plan.
Plus le nombre d'applications mobiles augmente, plus les utilisateurs attendent d'elles ce type de fonctionnement sans interruption. Ils n'accepteront pas qu'une application soit interrompue pour une mise à niveau ou par d’autres tâches de maintenance.
Le présent article aborde la portabilité dans le Cloud et ses effets sur l'amélioration de l'expérience utilisateur grâce à une prise en compte initiale des options de portabilité et des scénarios de panne. Nous évoquerons également le nombre croissant d'outils open source proposés aux clients fournisseurs.
Dans un très proche avenir l'avenir, le développement des applications exigera que leur conception prenne en compte la portabilité. Pourquoi ? Parce que l'expérience finale en dépend est que c’est elle qui est le moteur des entreprises. A leur tour ces entreprises clientes incitent les fournisseurs de Cloud à proposer des options de migrations réalisables et flexibles.
Dès la conception, les applications doivent aujourd’hui être imaginées pour tirer parti de plusieurs types d'architectures Cloud. Les algorithmes utilisés pour gérer les CPU ou le stockage des données doivent par exemple pouvoir fonctionner dans un grand nombre d'infrastructure Cloud différents.
De nouvelles manières de faire apparaissent. Un exemple, dans la gestion du transfert de données, concerne l'utilisation du bus des services d’entreprise (ESB, Enterprise Service Bus).
L'ESB permet à un système de contrôler rapidement les données et les interactions des applications. Dans l'architecture Cloud, la fonction d'un ESB consiste à optimiser l'utilisation des ressources CPUs. Mais les ESB y influent également sur l'interopérabilité globale en gérant les données et en accroissant leur portabilité.
La portabilité dans le Cloud comporte un autre aspect, à savoir la programmation d'options de basculement pour empêcher les interruptions. Généralement, les interruptions surviennent lors de la mise à niveau du système, en raison d'un incident ou d'une tâche de maintenance.
Comme dit plus haut, aujourd’hui, l'interruption d'un système n'est plus envisageable, ni tolérée par l'utilisateur final. La prévention des pannes est essentielle. Or dans le Cloud, le responsable du matériel est le fournisseur, plus le département informatique local. C'est un changement important pour le développement.
L'un des avantages du codage d'une application dans le Cloud est la possibilité d'essayer une fonctionnalité et de voir ce qu'elle donne. Le code peut être modifié rapidement sans que l'utilisateur soit perturbé.
Positif donc. Mais la portabilité doit aussi tenir compte de l'éventuelle nécessité de modifier une architecture Cloud à la volée.
De l’open source et de la portabilité
Au final, la tendance consiste à améliorer l'architecture Cloud en facilitant la portabilité des applications. Les fournisseurs sont de plus en plus nombreux à proposer des options open-source qui permettent de conclure des accords commerciaux plus flexibles.
Les fournisseurs de Cloud peuvent ainsi offrir des options open source qui permettent de concevoir les applications d'une manière encore plus portable, de sorte que l'architecture du Cloud puisse évoluer sans que le code des applications nécessite des modifications importantes.
La portabilité est stratégiquement importante pour plusieurs raisons. La première est la capacité à transférer rapidement une application dans un autre Cloud public ou privé pour améliorer les performances. Ou réduire les coûts.
Ce transfert peut également s'avérer nécessaire. Par exemple dans un souci de conformité ou de gestion des risques. Si un fournisseur Cloud est victime d'une faille dans son système de sécurité, l'application peut être rapidement transférée chez un autre fournisseur sans qu'il soit nécessaire de modifier le code ou d'effectuer de nouveaux tests.
Côté fournisseur de services de Cloud, l'avantage d'offrir cette portabilité est d'attirer plus de clients et de les inciter à acheter d'autres services à valeur ajoutée.
Les fournisseurs de Cloud peuvent ainsi offrir plus de services, par exemple des conseils spécialisés pour configurer rapidement et efficacement l'application ou une aide à la programmation. Ce sont des services à valeur ajoutée de ce type, susceptibles d'apporter des recettes supplémentaires importantes, qui peuvent rendre lucrative la portabilité dans le Cloud.