Optimiser le développement d’applications mobiles dans le Cloud avec le Continuous Delivery
Nouvelles technologies
Newsletter 24
Note de la Rédaction : Voici une tribune relativement technique que seuls les spécialistes, responsables SI et les développeurs pourront vraiment apprécier. Nos lecteurs pardonneront l’utilisation de nombreux mots anglais, difficilement traduisibles en français.
Au-delà des difficultés rencontrées par les équipes de développement traditionnelles, la complexité des applications mobiles leur pose encore plus de défis et de plusieurs manières.
Par exemple, le contrôle de version et la mise à disposition sont plus compliqués parce que les utilisateurs ne font pas toujours les mises à jour leur permettant d’adopter les nouvelles versions et que les applications sont accessibles via un App-store en ligne. De plus, les applications mobiles doivent être testées sur de multiples types de terminaux et d’appareils. Et ceci n’est qu’un aperçu des difficultés liées au développement d’applications mobiles. Même si, aujourd’hui, de nombreuses entreprises ont opté pour la solution ‘Platform as a Service’ (PaaS) pour le développement de leurs applications mobiles - ce qui est déjà un grand pas en avant pour surmonter les frustrations - celle-ci n’est pas toujours exploitée au maximum de ses possibilités.
Le développement d’applications mobiles
Il nécessite un environnement de développement et de déploiement « zéro friction » dans lequel l’automatisation intensive des tests et de la qualification des applications mobiles doit être réalisé de manière pré-intégrée.
Tester des applications mobiles est infiniment plus complexe que tester une interface utilisateur web. C’est également une opération plus coûteuse qui demande plus de temps et de ressources. Les développeurs d’applications mobiles ont intérêt à s’appuyer sur les meilleures pratiques de continuous delivery, comprenant les processus de build, de test et de déploiement, avec une approche fail-fast (échec rapide), de manière à pouvoir détecter précocement les éventuels problèmes.
Le test multi-terminaux est incontournable
Par exemple, sur la plate-forme Android, il existe de nombreux types de modèles ayant tous des caractéristiques différentes. L’environnement de test dans le cloud doit permettre de créer une matrice répertoriant les appareils et de réaliser une série de tests comparatifs par rapport à la totalité de cette matrice ou à un sous-ensemble aléatoire.
Une fois défini le processus de continuous delivery s’appliquant à la stratégie de build/test/déploiement, il est essentiel que sa mise en œuvre s’opère aisément. Il faut donc préalablement définir les différentes tâches de builds et de tests, la manière dont celles-ci seront reliées entre elles, comment réagir si l’une des tâches échoue et qui est responsable de telle ou telle partie du processus – c’est-à-dire si ce sont les équipes de développement, les responsables de l’assurance qualité, ou encore ceux de la mise en production.
Le test multi-terminaux sur émulateurs est une étape-clé
Par exemple, sur la plate-forme Android, il existe de nombreux modèles d’appareils ayant tous des caractéristiques différentes, facteurs de forme, architecture, résolution, etc. L’environnement de test dans le cloud doit permettre de créer une matrice répertoriant tous les appareils et de réaliser un certain nombre de tests comparatifs, soit par rapport à la matrice complète soit par rapport à un sous-ensemble aléatoire.
Par la suite, confronter l’application avec des utilisateurs réels est critique –certains problèmes étant difficiles à détecter au moyen de tests automatisés et certaines fonctionnalités et capacités n’étant qu’une question de goût. Il est important de tester les versions beta avec des utilisateurs beta, sans passer par les App stores des vendeurs : on peut ainsi directement obtenir des retours sur ce qui fonctionne ou ne fonctionne pas, récupérer les messages d’exception sur l’application et autres statistiques permettant de faciliter le débogage de l’application.
Il faut noter que, jusqu’à présent, nous n’avons évoqué que les aspects des applications mobiles vues côté client. Mais la plupart des applications mobiles ne sont pas des applications autonomes. Ce sont plutôt des interfaces utilisateurs front-end qui accèdent aux systèmes back-end contenant des informations de terrain (listes de clients, opportunités commerciales, niveaux des stocks, etc.) Même s’il est possible qu’une application mobile ait directement accès à un système back-end existant hébergé dans l’entreprise, cette solution n’est en aucun cas à recommander. Il vaut mieux qu’un service back-end d’application soit déployé dans le cloud et serve de lien entre l’application mobile du client et l’application existante. De plus, concevoir une application sans lui permettre d’accéder aux références des systèmes existants, mais en la gérant depuis l’application intermédiaire dans le cloud présente de nombreux avantages. Cela facilite, par exemple, la coordination de déploiements simultanés d’une nouvelle version de l’application sur le mobile et dans le cloud.
Néanmoins, si une application mobile doit accéder à un système existant, une méthode sécurisée consiste à demander au prestataire fournissant la solution de PaaS d’assigner une adresse IP fixe à l’application cloud. Les informaticiens ou l’équipe de développement peuvent alors ouvrir un point d’entrée dans le pare-feu, autorisant du trafic uniquement depuis cette adresse IP pour accéder à un système existant spécifique se trouvant dans le data center de l’entreprise. Cette méthode garantit que seule cette application cloud pourra accéder au système existant. Aucune autre application Internet ne pourra y accéder.
Le principal avantage d’une approche de continuous delivery
Fondée sur le cloud cette approche permet aux développeurs d’avoir la garantie que leur application est toujours release ready et peut supporter différentes versions de l’application. Le continuous delivery associé au PaaS donne la faculté d’accélérer l’innovation et d’optimiser le time to market en permettant un accès immédiat aux ressources nécessaires et ce, de différentes manières.
Dans l’univers en perpétuelle évolution des applications et des équipements mobiles, l’immédiateté fait loi.
Le continuous delivery basé sur une solution de PaaS facilite les mises à jour rapides des versions, donne la possibilité de développer et gérer de multiples versions, sans compromis sur la qualité et la sécurité. Les services informatiques et les équipes de développement doivent adapter leurs technologies et leurs processus de développement à l’environnement mobile. Le continuous delivery et les solutions de PaaS leur permettent de répondre à ces exigences de manière plus facile et plus rapide.
Sacha LABOUREY- CEO de CloudBees
www.cloudbees.com
A propos de CloudBees : CloudBees, start-up parmi les plus jeunes fournisseurs de Paas, s'est distinguée par son succès depuis sa création en 2010. Elle a réalisé plusieurs levées de fonds d’un montant total de l’ordre de 25 millions US $. Avec 85 000 installations actives, selon CloudBees, Jenkins est l'un des outils d'intégration continue (CI) très prisé par de nombreuses sociétés.
La rédaction
Le service Rédaction a pour mission de sélectionner et de publier chaque jour des contenus pertinents pour nos lecteurs internautes à partir d’une veille approfondie des communiqués de presse pour alimenter les rubriques actualité économiques, actualités d’entreprises, études ou encore actualités sectorielles. Pour échanger avec notre service Rédaction web et nous faire part de vos actualités, contactez-nous sur redaction@gpomag.fr
Dernier de La rédaction
- Absentéisme : un enjeu financier, mais pas seulement
- L’IA et le futur du travail : Entre enthousiasme et inquiétudes
- Entreprises : et si vous arrêtiez le coup de Com' ?
- L’humain est au cœur des réflexions des transporteurs et logisticiens et de la 3ème édition d’Euro Supply Chain
- Basware élargit son offre pour simplifier le traitement des factures et la réconciliation des relevés de facturation