NoSQL : Ryanair mise sur Couchbase pour sa stratégie Web et mobile

Confronté à un grave problème d’image, Ryanair a totalement repensé sa stratégie de développement Web et mobile, adoptant la base NoSQL Couchbase pour concrétiser une approche plus agile et mobile.

En 2014, une étude Siegel+Gale sur la satisfaction client classait Ryanair en avant dernière position concernant la qualité des interactions et des outils d’accès aux services. C’est assez rare pour être signalé, mais Ryanair fait amende honorable et reconnaît volontiers ses torts. Pour Vladimir Atanasov, Lead Developer Android Team chez Ryanair, « nous avions de nombreux problèmes avec le site Web et les Apps mobiles... Des problèmes de montée en charge, de temps de réponse et d’expérience utilisateur parce que nos apps mobiles ne fonctionnaient pas sans connectivité… ». Un comble pour une entreprise qui vend 100% de ses billets en ligne.

En janvier 2015, Ryanair s’est même vue condamnée à une amende de 550 000 euros par l’AGCM (Autorité de la concurrence) Italien parce que son service de support en ligne était excessivement cher pour n’apporter au final aucune solution aux usagers qui y avait recours.

Savoir se réinventer

L’entreprise a décidé de prendre le taureau par les cornes et de repenser entièrement sa stratégie Web et mobile avec une volonté affichée : adopter une approche centrée sur le mobile et réécrire intégralement les applications mobiles pour permettre de réaliser certaines opérations clés même en cas de perte de connectivité. « Les développeurs mobiles tendent à trop considérer la connexion Internet comme un bien acquis. Mais la réalité des faits, c’est que la connectivité est une chose très aléatoire, qu’elle disparaît aussi rapidement qu’elle peut réapparaître. Or, la plupart des applications mobiles, et c’était clairement le cas des nôtres, ont des comportements erratiques lorsque la connexion disparaît ou ralentit significativement. »

Du NoSQL pour s’adapter au plus vite

L’univers mobile, mais aussi le milieu dans lequel Ryanair évolue (celui de l’aviation low-cost), sont extrêmement dynamiques et évoluent sans cesse. Il faut non seulement savoir être réactif, mais aussi pouvoir être réactif. Pour résoudre sa problématique, l’entreprise a cherché des solutions permettant un développement mobile plus agile et offrant des outils de synchronisation simples à mettre en œuvre pour résoudre les situations de perte de connectivité.

« Pour répondre à ces besoins de dynamisme, il a été décidé assez rapidement de partir sur du NoSQL », confie Vladimir Atanasov. « On n’a plus à se soucier des schémas des bases. Dans un environnement aussi dynamique, où le business impose parfois de tout repenser du jour au lendemain, les schémas sont un frein à l’agilité. Il faudrait sans cesse les modifier et gérer les migrations. Avec une base NoSQL, on se contente simplement de sortir de nouvelles versions des applications sans se laisser freiner par des schémas de base à l’ancienne. On peut tout stocker dans des documents JSON et les faire évoluer à volonté. On ne connait plus aucun des problèmes intimement liés aux bases de données relationnelles, on n’a plus de migration de bases à faire, etc. »

Le choix de Couchbase

Le choix NoSQL acté, il restait encore à faire le tri dans les solutions du marché. « Le fait que Ryanair ait décidé de jouer à fond la carte de la mobilité a fait pencher la balance pour Couchbase  », reconnaît Vladimir Atanasov.  « Dans l’univers NoSQL, les acteurs à offrir une base mobile ne sont pas très nombreux. Couchbase est rapide et a une API simple à maîtriser qui existe à la fois en Java et Swift afin de couvrir Android et iOS. Outre la gestion des données en ligne et le stockage sur le device, sa passerelle de synchronisation nous permettait d’avoir le degré d’intégration entre les serveurs et les mobiles que nous recherchions. Couchbase possède une  ‘sync gateway’ qui crée une copie locale de la base sur le device. Elle ajoute automatiquement des métadatas afin de gérer la synchronisation des documents lorsque la connexion Internet fonctionne et les conserver en cache local lorsque ce n’est pas le cas. La passerelle détecte automatiquement les conflits et fournit une API pour les gérer ».

Une adaptation rapide

L’approche NoSQL en matière de gestion des données a beau être très orientée développeur (en reportant l’essentiel de l’intelligence au niveau de l’application et non plus de la base elle-même), elle impose un changement de pratiques et d’appréhension du stockage. « Très vite, nous avons commencé à utiliser intensivement Couchbase dans nos développements mobiles. Ça a été la bonne décision ,» affirme Vladimir Atanasov.  « Évidemment, en passant dans l’univers NoSQL, il faut ajuster sa façon de penser. Après la période d’adaptation et si l’on omet le temps nécessaire pour maîtriser la gateway de synchronisation, l’adoption est allée très vite. Ça accélère vraiment le développement. Si vous placez les principes NoSQL au cœur de votre application, cela vous fait gagner beaucoup de temps. Aujourd’hui, pour rien au monde je reviendrai en arrière. Dans l’univers mobile, NoSQL est la solution. »

Les fruits d’une réussite

L’adoption de Couchbase a non seulement permis à Ryanair de redévelopper très rapidement son application, mais aussi de réaliser une application beaucoup plus réactive et plus agréable à l’usage. Pour l’utilisateur, toute l’expérience de réservation du billet s’est accélérée passant de cinq minutes à moins de deux minutes. L’application est plus rapide, plus réactive, fournit des fonctionnalités hors ligne et économise le forfait data de l’utilisateur : « Grâce à Couchbase, nous économisons 80 Go par jour de transferts entre les mobiles et notre réseau », explique Vladimir Atanasov.

Et même si la satisfaction client est toujours délicate à apprécier, il constate que « notre ratings a augmenté. On a bien moins de critiques mais surtout on se rend compte que les gens conservent l’application et que le taux d’utilisation s’est considérablement amélioré. En tant que développeur, c’est une vraie satisfaction de voir tous ces gens utiliser l’app de façon régulière. »

 

Pour approfondir sur Base de données