X
Alain Clapaud / mardi 19 décembre 2017 / Thèmes: Développement, Mobilité, Dossier

Mobile DevOps

Au cœur de la transformation numérique des entreprises

De plus en plus d’entreprises mettent en place une chaîne d’intégration continue pour développer des applications mobiles. Néanmoins, développer des «apps » présente quelques spécificités qui poussent les équipes DevOps vers des solutions spécialisées. Article paru dans le n°162 de L'Informaticien.

À l’heure de la transformation numérique, de plus en plus d’entreprises veulent proposer à leurs clients un portefeuille d’applications mobiles performantes. Après une première vague d’applications marketing peu connectées au système d’information, les applications de nouvelle génération sont de plus en plus intégrées aux processus. Néanmoins, maintenir et faire évoluer à un rythme élevé ces applications reste un défi. « Nous sommes en train de vivre un véritable virage », commente Sabir Jakib, fondateur de DevOpsTeam. « Les entreprises ont maintenant bien conscience que, si elles ne vont pas vers DevOps, le Cloud et le mobile dès aujourd’hui, elles se feront distancer irrémédiablement. » Afin de répondre à ce besoin d’agilité et de rapidité de réaction demandé par les métiers, les DSI sont allés vers DevOps depuis quelques années pour booster le rythme de développement de leurs applications stratégiques et cherchent à transposer cette approche aux applications mobiles dont le développement à longtemps été sous-traité à des agences externes. « Les grandes DSI qui faisaient développer leurs apps en externe, parfois en offshore, ont maintenant compris qu’il fallait ramener ces développements en interne pour être plus réactifs. »

Pour Sabir Jakib, utilisateur du triptyque Ansible / Jenkins / Vagrant, une chaîne d’intégration, communément utilisée pour développer des applications cloud, peut aussi être mise en œuvre dans le contexte du développement d’applications mobiles. « Il est possible d’utiliser les mêmes outils d’automatisation que pour le déploiement d’applications web, même s’il y a quelques limites. »

De multiples fermes de smartphones accessibles via le Cloud, à l'image d'IBM DeviceAnywhere, permettent de mener les tests unitaires et tests de charge sur des terminaux mobiles réels ou simulés.

Jenkins vs les solutions spécialisées mobile

Parmi les entreprises à avoir misé sur Jenkis, Voyages-SNCF, dont le pipeline de déploiement s’appuie sur RunDeck, Jenkins et Hesperide, un outil développé en interne pour la gestion des propriétés. «  Notre chaîne d’intégration continue est à 100 % opérationnelle sur tout le hors production, c’est-à-dire l’environnement de développement, d’intégration, la recette et la pré-production  », explique Alexandre Pilorget, ingénieur Systèmes d’information chez Voyages-sncf.com. «  Notre cible pour la fin de l’année est de propager cette automatisation côté production. Tous les tests sont automatisés dans notre chaîne d’intégration continue. En revanche, côté mobile, si Android a aussi toute une batterie de tests automatisés, nous n’avons pas trouvé de solution véritablement stable pour automatiser les tests iOS.  »

En effet, s’il est possible de mettre en place une chaîne d’intégration continue basée sur Jenkins pour livrer des applications Android, iOS, les premiers à l’avoir fait se sont heurtés à quelques limites de la solution, des limites liées à la nature des applications mobiles dont on ne contrôle pas directement le déploiement. De nombreuses équipes DevOps se sont tournées vers des plates-formes d’intégration continue conçues pour le mobile, comme Greenhouse CI, Bitrise, CircleCI, Travis CI ou encore BuddyBuild. Vincent Saluzzo, Lead Developpeur chez Itelios qui chapeaute l’équipe des développeurs iOS d’Itelios a privilégié la plate-forme Bitrise : «  Il y a quelques mois, seules deux plates-formes d’intégration continue mobiles se distinguaient vraiment sur le marché. Il s’agissait de Bitrise et Greenhouse. Depuis, l’éventail de solution s’est élargi et si Bitrise reste parmi les solutions les plus fréquemment choisies.  » Depuis, des projets open source tels que Fastlane ont notoirement simplifié la mise en place d’une chaîne d’intégration mobile 100 % open source, mais, à l’image de l’essor récent de la solution BuddyBuild, la demande des développeurs reste forte pour des solutions spécifiquement bâties pour le mobile.

Le cross-platform, une approche enfin viable

Dans le monde Microsoft, bien que Windows Phone ne soit plus considéré comme une cible significative l’éditeur de Redmond propose aux développeurs une plate-forme de développement multi plate-forme performante pour le mobile : Microsoft Visual Mobile Center. Philippe Ensarguet, directeur technique d’Orange Applications for Business, mise sur la plate-forme Microsoft en s’appuyant sur le framework Xamarin pour délivrer des apps pour Android et iOS: « Xamarin nous permet d’avoir un seul et unique modèle de développement pour chaque projet, un seul langage, C# en l’occurrence, mais la capacité d’accéder à l’intégralité des SDK de toutes les plates-formes mobiles. Seul le volet GUI/UX est spécifique à chaque plate-forme. C’est de cette façon que nous avons réussi à avoir une part de factorisation extrêmement significative de nos développements. » Le choix d’Orange Applications for Business sur Xamarin est significatif de la maturité de ce framework multi plate-forme. Pour certaines applications moins stratégiques, des frameworks de type web mobile comme Apache Cordova, PhoneGap, Ionic apportent une solution viable, de même React Native, un framework notamment utilisé par Facebook, Instagram, Tesla et Airbnb… Pour tirer profit de la démarche DevOps dans le développement mobile, l’équipe DevOps de Philippe Ensarguet travaille depuis plus d’un an avec la R & D produit de Microsoft sur la mise au point de Visual Studio Mobile Center, dont la General Availability est attendue pour la fin de l’année. « Dès lors, les entreprises pourront déployer Mobile Center soit en internet soit dans le Cloud, ou dans une approche hybride. C’est le choix que nous avons fait avec une partie des services Mobile Center consommés en interne, et d’autres consommés dans le Cloud, pour mener des tests sur des fermes de mobile. » Avec l’offre Xamarin Test Cloud, Microsoft propose une plate-forme de test qui comprend plus de 2 000 types de smartphones, tant sous Android que iOS. Ce type de services accessibles dans le Cloud s’est multiplié ces dernières années. IBM, avec son offre Rational DeviceAnywhere propose lui aussi une ferme de mobiles et même Amazon Web Service aligne désormais un tel service au sein de son portefeuille. Son offre AWS Device Farm. Cette offre, facturée à la minute d’utilisation par mobile était initialement composée de terminaux Android seulement, mais elle s’est élargie à iOS. Autre exemple, celui de CA Technologies qui propose des outils d’automatisation de test avec sa solution DevTest Perfecto Mobile, une plate-forme de test dans le Cloud qui simule les smartphone. En parallèle, elle propose de mener des tests de charge sur les API appelées par les applications via sa solution CA Blazemeter, ou la solution OnScope qui va permettre de vérifier que les API vont tenir la charge.

L'activité de l'application Eurosport dédiée aux grandes manifestations de cyclisme, et qui connaît des pics à 350000 personnes connectées simultanément lors des événements, a été supervisée en temps réel par la solution CA App Experience Analytics.

 

Le Mobile App Analytics, brique indispensable du DevOps Mobile

Mais outre les spécificités liés aux tests, DevOps Mobile implique d’outiller les applications afin de capter des données de fonctionnement. Contrairement à une application classique, impossible d’analyser les logs pour connaître le comportement exact des utilisateurs. Le directeur technique de CA Technologies précise : « Nous fournissons un SDK mobile qui permet de remonter des informations depuis les applications. On sait alors géolocaliser les utilisateurs, quelles sont les versions de leurs OS mobile, leurs terminaux. Les développeurs disposent des informations relatives aux crash de l’application, mais aussi retracent sa navigation avant le crash. Notre SDK délivre même des informations relatives à l’ergonomie. Nous sommes capables de visualiser les hot points, c’est-à-dire les endroits de l’application où l’utilisateur a cliqué. Cela permet de valider la qualité d’un design. » Eurosport a mis en œuvre cette solution pour son application « cycling » qui propose aux fans de cyclisme de suivre le Tour de France, la Vuelta ou le Giro en temps réel sur leur mobile. Le SDK leur permet de visualiser le comportement de l’application et la qualité de l’expérience utilisateur en temps réel.

La chaîne d'intégration continue basée sur Jenkins / Fastlane mise en oeuvre par Snapdeal Engineering s'appuie sur la solution Fastlane pour s'interfacer aux App Store mobiles.

Autre éditeur à proposer ce type d’outil, Dynatrace qui prône une continuité d’information entre les serveurs en production et les applications mobiles : « Nous proposons une nouvelle génération d’APM basé sur un agent unique et universel par serveur là où, auparavant, il fallait déployer des agents par technologies, avec un agent Java, un agent .NET », explique Patrick Redoute, responsable de l’offre APM de Dynatrace. « L’agent découvre automatiquement tous les circuits de dépendance entre serveurs et toutes les couches logicielles installées sur ce serveur. Côté application mobile, le développeur place les balises Dynatrace avant de compiler son code. Dès lors, tous les “ touch ” sur le mobile sont alors tracés et on va avoir des mesures de performances des échanges entre le mobile et le backend et surtout pouvoir comprendre et interpréter tout le parcours de l’utilisateur dans l’application, du premier clic jusqu’au dernier. »

Les DSI disposent de tous les moyens techniques pour mettre en place des chaînes d’intégration continue totalement automatisées et intégrer les exploitants dans ces processus DevOps tant sur les applications classiques qu’avec les applications mobiles. Il est désormais temps pour les DSI d’opérer leur propre transformation numérique. ❍


VINCENT FULMAR, Head of Technical Mobile Team chez Eurosport :
« DevOps s’inscrit dans un processus d’amélioration continue côté mobile »

« L’intégration continue ne se limite pas à un simple serveur mais passe aussi par un état d’esprit agile et une équipe SCRUM : « code review », « pair programming », règles de nommage dans Git, « standup meetings » et relecture, sont des méthodes de travail agiles et elles ont permis une réussite plus forte de l’intégration continue au sein du pôle mobile. »

« Pour les composants et outils, nous utilisons un serveur Jenkins permettant de « builder » les jobs des branches de développement. À chaque commit, nous savons immédiatement via Slack si les modifications de code n’ont pas « cassé » la version. À cela nous avons ajouté certains plugin permettant de vérifier et de tester la qualité du code produit via Test Analyzer, Junit, Cuccumber, Calabash. Au build continu, nous ajoutons donc des jobs qui s’occupent de jouer les branches de tests unitaires et automatiques et permettent ainsi de répondre à la question des régressions et du suivi des évolutions. Enfin, nous utilisons Git pour récupérer les sources à chaque compilation et Fabric pour diffuser et mettre à disposition quotidiennement une version à tester pour chaque « build success ». À date, ce n’est pas exactement la même chaîne que celle utilisée par le Web, mais nous tendons de plus en plus à rassembler les environnements. »


ALEXANDRE PILORGET, ingénieur Systèmes d’information chez Voyages-sncf.com :
« Une équipe de dix personnes dédiée à Mobile DevOps »

« Voyages-SNCF s’est plongé dans DevOps voici cinq ans maintenant avec pour objectif d’améliorer notre TTM (Time to Market) et, depuis un peu plus d’un an nous avons franchi une nouvelle étape pour les mobiles. Nous avons créé une équipe d’une dizaine de personnes, baptisée Tesla, qui est dédié aux applications mobiles et leur backend. Les résultats ont été au rendez-vous puisqu’en 2016 nous avions une mise en production serveur, iOS et Android, tous les deux mois. Aujourd’hui, nous avons divisé ce délai par 2 avec une livraison par mois pour chacun de ces trois environnements. De même, au niveau de la qualité du code, nous avons pu diviser par 4 le nombre de patchs correctifs poussé en production. Il y a deux raisons à cela. D’une part, fusionner les équipes pousse les Ops et les Dev à se parler davantage. On gagne beaucoup en réactivité dans la compréhension et l’analyse des problèmes rencontrés. En outre, en augmentant la fréquence des mises en production, on réduit les risques puisque l’incrément de code est plus limité. »


PHILIPPE ENSARGUET, directeur technique d’Orange Applications for Business :
« Il ne faut plus penser développement d’applications mobiles, mais opérer des services mobiles »

« Développer une application mobile n’est qu’une partie de la problématique. Outre gérer les phases de développement, les builds, les tests, puis générer des IPA et APK, il faut ensuite être capable de distribuer les applications, gérer les crash report, la télémétrie, les notifications push, etc. C’est ce que j’appelle opérer un service mobile. À partir du moment où l’on change de posture, on se rend très vite compte que l’on se rapproche des concepts DevOps. La chaîne d’outils permet de pousser en production des applications mobiles à une fréquence extrêmement élevée. »

« La chaîne d’outils Mobile DevOps actuellement en production chez OBS nous permet de tirer les bénéfices de cette approche services. La maturité des outils Microsoft offre aujourd’hui une telle approche tant pour faire du natif cross platform, comme ce fut notre choix, mais aussi sur des applications hybrides, du Web mobile, ou des applications natives pures. Avec Mobile Center, Microsoft a fait évoluer sa plate-forme de production d’applications mobiles afin de laisser le choix à l’entreprise dans les cibles qu’elles cherchent à privilégier. C’est une vraie bonne nouvelle pour les entreprises car chacun, en fonction de ses cas d’usage, va pouvoir choisir son modèle de déploiement. »

5453
Tags:dev

x
Rechercher dans les dossiers
Les derniers dossiers...
Réduire

Actuellement à la Une...
Deux semaines après que le Pentagone ait préféré Azure à AWS pour son cloud, l’entreprise de Jeff Bezos conteste formellement cette décision, dénonçant « des lacunes évidentes, des erreurs et un parti pris flagrant ».

Quelques jours après le rachat de Carbonite, l’éditeur canadien de gestion de l’information d’entreprise étend sa solution de protection des contenus avec son partenaire Reveille.

Le géant de l’ITSM s’apprête à racheter Fairchild Resiliency Systems, éditeur d’une solution de BCM (Busi...

Commerce.AI est une très jeune entreprise hébergée encore au sein des locaux de Tech Plug & Play dans la Silicon Valley, un espace de co-working et de communauté pour des start-ups. Sa technologie qui s’appuie sur l’intelligence artificielle propose d’optimiser le placement et la réussite des produits dans les magasins.

Remonter le temps pour restaurer les données dans une version antérieure. Ce principe a été développé il y a plus de 20 ans par la PME française Atempo. Après une période compliquée sous direction américaine, l’entreprise est repassée sous pavillon français et renoue aujourd’hui avec la croissance. Les secrets de ce retour : des méthodes agiles, de nombreux recrutements et de l’intelligence collective. Article paru dans L'Informaticien n°181.

Le rachat de Docker Enterprise par Mirantis n’est que la partie émergée de la restructuration en cours au sein du spécialiste des conteneurs. Docker change à nouveau de CEO, lève des fonds à des fins de recapitalisation et annonce se concentrer de nouveau sur les développeurs.

Créée en 2018 après 24 mois de travail en mode secret, ShieldIO propose une nouvelle approche du chiffrement pour protéger les données.

Créée par d’anciens du DoE (Department of Energy) aux USA, Corelight est une nouvelle entreprise qui propose une suite de monitoring du trafic réseau s’appuyant sur Zeek, un projet open source.

Le streaming illégal de séries et films peu rapporter gros. Mais lorsque l’ALPA s’en mêle et que les services de police alertés remontent jusqu’au webmaster cela se termine assez rapidement en correctionnelle.

Après l'infrastructure sous-jacente, c'est au tour des systèmes de paiement des applications de Facebook d'être unifiés. Le géant annonce le lancement de Facebook Pay, une solution de paiement mobile pour le réseau social, Messenger, Instagram et WhatsApp.

Toutes les News
LIVRES BLANCS
Les entreprises et les organismes publics se focalisent aujourd’hui sur la transformation numérique. En conséquence, les DevOps et l’agilité sont au premier plan des discussions autour des stratégies informatiques. Pour offrir ces deux avantages, les entreprises travaillent de plus en plus avec les fournisseurs de services de cloud public et développent désormais des clouds sur site à partir d’une infrastructure qui répond à trois exigences de base:
1. Agilité sans friction des ressources physiques
2. Systèmes de contrôle optimisant l'utilisation des ressources physiques et offrant un retour sur investissement maximal
3. Intégration des divers composants de l'infrastructure pour un provisionnement et une gestion des ressources automatisés.


Pour fonctionner, votre entreprise doit pouvoir compter sur une solution de sauvegarde efficace, essentielle dans un monde marqué par une croissance exponentielle des données. Vous devez à la fois accélérer vos sauvegardes et pouvoir y accéder plus rapidement pour satisfaire les exigences actuelles de continuité d’activité, disponibilité, protection des données et conformité réglementaire. Dans cette ère de croissance effrénée, les cibles sur bande hors site et autres approches traditionnelles sont simplement dépassées.


L’Intelligence Artificielle promet de révolutionner la perception de la cybersécurité au coeur des entreprises, mais pas uniquement. Ce changement de paradigme engage, en effet, une redéfinition complète des règles du jeu pour les DSI et les RSSI, ainsi que l’ensemble des acteurs de la sécurité.


Lorsque l'on déploie des postes de travail, ils ont généralement tous la même configuration matérielle et logicielle (avec certaines spécificités selon les services). Mais on ne peut pas toujours tout prévoir et il arrive par exemple que de nouveaux programmes doivent être installés ou n’aient pas été prévus. L’accumulation de logiciels « lourds » est susceptible de provoquer des lenteurs significatives sur un PC allant jusqu’à l’extinction nette de l’application. Ce livre blanc explique comment optimiser les performances au travers de 5 conseils rapides à mettre en place.


Ce guide est conçu pour aider les entreprises à évaluer les solutions de sécurité des terminaux. Il peut être utilisé par les membres de l'équipe de réponse aux incidents et des opérations de sécurité travaillant avec des outils de sécurité des points finaux sur une base quotidienne. Il peut également être utilisé par les responsables informatiques, les professionnels de la sécurité, les responsables de la conformité et d’autres personnes pour évaluer leurs performances. les capacités de l’entreprise en matière de cybersécurité, identifier les lacunes dans la sécurité des terminaux et sélectionner les bons produits pour combler ces lacunes.


Tous les Livres Blancs