L’élasticité et les performances s'envolent avec les applications mobiles dans le cloud
Les avantages généraux du cloud public, à commencer par l’élasticité accrue, s'appliquent aux applications mobiles. L’IaaS peut ainsi bénéficier aux équipes de développement mobile et aux utilisateurs.
A mesure qu’un nombre croissant d'entreprises développent et gèrent des applications mobiles, elles choisissent le cloud public comme infrastructure de base. Car l'hébergement d'applications mobiles dans le cloud, et en particulier le front-end des applications grand public, peut offrir aux entreprises un certain nombre d'avantages, relève Ray Kelly, directeur technique chez Healthcare IT Leaders, une société de conseil et de recrutement informatique d’Atlanta, aux Etats-Unis, centrée sur le monde de la santé.
Ray Kelly explique ainsi voir « la charge de travail [mobile] divisée en deux parties. Il y a toujours un élément de back-end qui peut trouver sa place en interne, dans l’entreprise. Mais très certainement, tout ce que [les développeurs] font et qu'ils considèrent comme relevant du front-end consommateurs, ils le garderont dans le cloud – et nous observons cette tendance depuis plusieurs années ».
Il y a plusieurs raisons pour lesquelles les entreprises choisissent d'héberger des applications mobiles dans le cloud, à commencer par l’élasticité face à la demande : « les clients peuvent faire évoluer [leurs frontaux mobiles en fonction de la demande] aussi rapidement que ce qu'Amazon, par exemple, peut offrir aujourd'hui », relève ainsi Ray Kelly. Ce type d’élasticité est possible en interne, mais les organisations doivent planifier à l'avance les capacités à déployer, puis acheter suffisamment d’équipement pour supporter les pics de demande.
La réponse du cloud public aux traitements mobiles ne s’arrête pas là. Il faut aussi compter avec sa capacité à répondre aux demandes d'accès aux données spécifiques aux applications mobiles, souligne Michael Facemire, analyste principal chez Forrester Research.
Ainsi, les entreprises utilisent souvent un protocole de messagerie, comme le protocole SOAP (Simple Object Access Protocol), pour construire des services de back-end pour leurs applications Web ou patrimoniales. Ces services ont été conçus pour prévoir que, si les utilisateurs demandent un certain ensemble de données, leur prochaine action sera probablement de demander un autre ensemble spécifique de données, explique Michael Facemire. Le service envoie alors un gros paquet SOAP « hautement décoré » avec beaucoup de balises XML pour afficher les données demandées sur le front-end applicatif.
Ce modèle fonctionne bien avec une connexion réseau fixe qui assure qu'un utilisateur maintient une seule session avec une application. Mais ce n'est pas toujours le cas avec le mobile, où la connectivité fluctue et où les utilisateurs passent souvent d'une connexion 4G à une connexion 3G lorsqu'ils se déplacent avec leurs appareils. En conséquence, les développeurs veulent envoyer des paquets de données beaucoup plus petits sans toute cette décoration XML, précise Michael Facemire : « avec le mobile, [les développeurs] définissent nos vues individuelles et définissent l'accès aux données dont nous avons besoin pour ces vues ».
Les architectures modernes en mode cloud se prêtent bien à ce modèle. Les platesformes cloud ont tendance à utiliser des API RESTful et des formats JSON plus légers, pour des envois en rafales.
Les applications mobiles ont en outre des exigences de sécurité différentes de celles des applications Web traditionnelles, et celles-ci s'alignent également sur le cloud computing : « [avec les applications Web], la sécurité est négociée dès le début d'une session, puis, tant que la session est active, nous pouvons supposer que ce modèle de sécurité est toujours valide ».
Mais voilà, avec la mobilité, il est plus difficile de s'appuyer sur le modèle de sécurité par session, car les utilisateurs passent d'une connexion réseau à l'autre. Au lieu de cela, un modèle d'authentification basé sur des jetons, tel qu'OAuth, est mieux adapté et, comme les formats d'échange de données plus légers, ces modèles de sécurité ont tendance à être plus répandus dans les architectures cloud. Ils ne sont pas une nécessité dans le cloud, souligne Michael Facemire, mais ils vont souvent de pair : « la nature moderne de l'architecture [cloud] semble bien correspondre à la nature moderne des appareils mobiles ».
Accès aux services mobiles
En plus de ses avantages architecturaux, le cloud offre un autre avantage à ceux qui créent des applications mobiles : un accès à la demande aux outils de développement. Les fournisseurs, dont Amazon Web Services (AWS) et Google, proposent un certain nombre de kits de développement logiciel et d'autres outils pour prendre en charge les applications mobiles dans le cloud : « il existe tant de services pour accélérer le rythme de développement mobile. Par exemple, si je veux stocker des données quelque part..., je peux les stocker dans Dropbox, dans Box, dans [Amazon S3], dans Azure – et tout cela n’est qu’un appel API », relève Michael Facemire
Vendasta, qui propose des logiciels de vente et de marketing pour les entreprises de médias, a constaté une augmentation du nombre de clients qui accèdent à ses applications à partir d'appareils mobiles. Son directeur technique, Dale Hopkins, explique que Vendasta a initialement misé sur Google Cloud Platform en raison de son offre App Engine. Mais depuis, l'entreprise utilise une variété de services de développement de Google, tels que la plateforme Firebase et Cloud Endpoints pour la gestion des API, afin de répondre à ses besoins croissants en matière de mobilité. Pour lui, c’est bien simple : « Google dispose de nombreux outils qui nous facilitent la vie en termes de gestion de la mobilité ».
Vendasta travaille également sur les applications Web progressives et des Google AMP, des frameworks qui permettent aux pages Web de fonctionner davantage comme des applications mobiles par le biais de caches locaux, et de scripts. Google fournit un certain nombre de ressources pour mettre en œuvre ces technologies, même si toutes ne sont pas spécifiques à sa plateforme cloud.
Malgré les avantages, certains traitements mobiles – comme c'est le cas pour de nombreux types de traitements – resteront en local, le plus souvent en raison d'exigences strictes de sécurité et de conformité. En outre, d'autres types de traitements, tels que les ERP existants et autres applications de backoffice, peuvent ne pas évoluer du tout vers des déploiements mobiles ou en cloud.
Ray Kelly relève ainsi que « les entreprises luttent encore un peu en interne pour utiliser les applications mobiles afin d'améliorer l'efficacité des applications de backoffice ».
Mais pour Michael Facemire, les applications mobiles cloud sont appelées à proliférer, en particulier à mesure que l'informatique sans serveur s'installe et simplifie davantage l'expérience de développement : « la barrière à l’entrée pour le développement d’applications mobiles est beaucoup moins élevée lorsque l’on utilise le cloud. Avec Microsoft Azure Functions ou AWS Lambda, il suffit d’écrire la fonction dont on a besoin, de la placer derrière un point de terminaison d’API et c'est fini ».