Couchbase Mobile permet de créer des applications mobiles offline-first : un aperçu des nouveautés de la version 2.0
Dans un entretien avec Couchbase

Le , par Michael Guilloux, Chroniqueur Actualités
En mai 2014, l'entreprise Couchbase a apporté le NoSQL aux plateformes mobiles avec le lancement de Couchbase Mobile 1.0, la première plateforme de base de données NoSQL native pour mobile. Elle permet notamment aux entreprises de créer des applications mobiles optimisées pour fonctionner hors ligne avec une disponibilité de données garantie, indépendamment de la connectivité ou du débit du réseau.

Le 12 avril, soit près de quatre ans plus tard, Couchbase a annoncé de nouvelles fonctionnalités et améliorations avec Couchbase Mobile 2.0. Cette nouvelle version majeure de la plateforme introduit des fonctionnalités de requêtes SQL, de recherche en texte intégral (full-text search), de synchronisation et de sécurité, entre autres.

Mais comment la plateforme et sa nouvelle version peuvent-elles aider les développeurs et entreprises à créer de nouvelles expériences pour leurs utilisateurs et clients ? C'est pour répondre à cette question que l'équipe de rédaction de Developpez.com est allée à la rencontre de Cécile Le Pape, Solutions Architect chez Couchbase, et François Costes, Directeur Europe du Sud de l'entreprise.


Cécile Le Pape, Solutions Architect, Couchbase


François Costes, Directeur Europe du sud, Couchbase

Q1- Pouvez-vous nous présenter brièvement Couchbase et situer l'entreprise sur le marché du NoSQL ?

François Costes : Couchbase allie le meilleur de deux mondes, à savoir Memcached et CouchDB. Memcached nous apporte le cache, la performance dans une seule et même solution. CouchDB nous a apporté la partie base de données NoSQL orientée document, et ce fameux format JSON nous apporte de la performance, de l'accessibilité, de la scalabilité, etc.

Nous existons maintenant depuis plus de sept ans sur le marché et depuis plus de cinq ans en France avec une forte croissance sur l'Europe du Sud, de nombreux nouveaux clients et de nouveaux cas d'usage. Et ce qui a tiré cette croissance depuis deux ans maintenant c'est Couchbase Mobile. C'est une fonctionnalité additionnelle que n'ont pas les autres éditeurs ou vendeurs du monde NoSQL, c'est l'aspect mobile offline qui nous permet finalement d'apporter ce qui est dans nos datacenters derrière le mobile ou l'IoT. C'est un peu l'objectif de Couchbase aujourd'hui.

Cécile Le Pape : Je complèterai en disant que notre positionnement c'est l'engagement pour l'expérience utilisateur. Aujourd'hui, on comprend que l'expérience utilisateur passe par une base permettant d'assurer différents types de cas d'usage, et de simplifier tout ce qui est TCO (coût total de possession) et donc d'avoir une base pour toutes les interactions avec les utilisateurs. Donc c'est vraiment tout ce qui est de l'aspect interactif pour améliorer l'engagement de nos clients et leur expérience.

Q2- Pouvez-vous nous présenter avec un peu plus de détails votre plateforme Couchbase Mobile ainsi que son architecture ?

Cécile Le Pape : La plateforme Couchbase Mobile vise à simplifier la synchronisation des données en provenance des serveurs vers l'edge, c'est-à-dire aussi les objets connectés, les mobiles ou même des applications qui ont besoin d'être indépendantes du réseau. La raison pour laquelle on propose cette stack qui peut tout à fait être réimplémentée par les clients manuellement est de simplifier la synchronisation, de simplifier les échanges réseau et de permettre à la plateforme mobile d'avoir les mêmes types de fonctionnalités et d'expérience utilisateur que les applications en ligne.

Architecturalement parlant, cela signifie que vous avez toujours la stack serveur qui va porter la totalité des données, mais tout ne va pas être porté sur le device – l'idée est de filtrer les données. Il va aussi y avoir à l'autre bout de la stack la partie mobile embarquée qui comporte une base embarquée Couchbase Lite. Et puisque le device ne se connecte pas directement au serveur pour des raisons de sécurité, entre les deux, il y a une passerelle web sécurisée Couchbase Sync Gateway qui permet de faire le lien entre le serveur (Couchbase server) et la partie mobile, qui s'appelle Couchbase Lite.


Pour terminer sur ce point, depuis des années on parle de mobile-first, parce qu'évidemment, nous en tant que clients, on utilise énormément le mobile. Mais le mobile-first a évolué et est devenu aujourd'hui l'offline-first. La problématique sous-jacente est de pouvoir être indépendant du réseau. Cette stack-là vous permet aussi bien de fonctionner en mode offline qu'en mode connecté en fonction de la qualité du réseau. Donc c’est la grande différenciation et la force de Couchbase Mobile.

Q3- Quelles sont les technologies et plateformes supportées par Couchbase Mobile ?

Cécile Le Pape : Au niveau de la communication, on utilise un nouveau protocole basé sur le Websocket, qui est beaucoup plus fluide et performant. Au niveau du développement mobile lui-même, ce sera plutôt des plateformes mobiles natives, donc iOS, Android, Windows. Et puis derrière aussi, on peut utiliser des frameworks multiplateformes comme Xamarin, Ionic, pour ne citer que quelques-uns.

Q4- Quels sont les avantages de Couchbase Mobile par rapport aux alternatives existantes ? Mais aussi, quelles sont ses limites ?

Cécile Le Pape : L'avantage principal de Couchbase Mobile, on l'a déjà mentionné, c'est de simplifier la synchronisation. Maintenant par rapport aux autres technologies, ce qu'il est intéressant de noter c'est qu'on n'est pas verrouillé sur une plateforme comme on peut le trouver dans le cloud. Comme la base de données serveur (Couchbase Server) est indépendante de votre fournisseur de cloud, vous pouvez très bien développer sur Azure, et migrer sur Amazon ou Google Cloud, sans avoir à redévelopper votre application. Vous pouvez aussi avoir des déploiements complètement hybrides. Donc, nous sommes capables de supporter ces cas d'usage. Ce qui fait une autre force. Après, les limitations de ce genre de technologie, c'est que ça reste plutôt orienté développement natif.

Je peux encore ajouter un élément très important sur l'aspect développement mobile. Là, on a parlé que de cas relativement simples, mais ce qui arrive plus souvent pour des applications plus sophistiquées, c'est le problème de conflit. Lorsque vous avez des écritures en parallèle sur différents devices simultanément, il va se produire des conflits puisque par nature les mobiles effectuent ces écritures offline et c'est synchronisé par ailleurs. La plus grosse difficulté, ce qui va ralentir le développement d'applications dans d'autres plateformes, c'est la gestion des conflits. Nous, aujourd'hui, avec nos années d'expérience dans la résolution des conflits, on a simplifié complètement la résolution de ces conflits de sorte qu'ils puissent être détectés et résolus automatiquement. Donc, ça devient totalement transparent et ça simplifie la mise en œuvre de ce genre de solutions qui sont par nature distribuées.

Également, un dernier élément qui va aussi permettre d'apporter quelque chose de différenciant c'est la capacité à gérer la récupération de données en faisant de la réplication sur l'appareil lui-même.

Q5- Pouvez-vous nous citer des entreprises et applications qui utilisent Couchbase Mobile aujourd'hui ?

François Costes : Il y en a beaucoup. Mais parmi les principaux clients de Couchbase Mobile, on peut citer la compagnie aérienne Ryanair. Ryanair nous a choisis à l'époque alors qu'ils avaient des problématiques à résoudre avec leur application de vente de billets d'avion en ligne, notamment l'attente réseau. À chaque action, l'application devait interroger les serveurs en centrale ou dans le cloud. Avant Couchbase Mobile, c'était 5 min pour réserver un billet d'avion. Mais Couchbase Mobile les a aidés à passer à 2 min. Cela a grandement amélioré l'expérience utilisateur et ils ont réduit par huit les échanges réseau entre les datacenters et les différents devices. Comme exemple d’entreprises utilisant notre plateforme, on a aussi Coyote System, l'un des clients avec lesquels on a travaillé en France, et de nombreux autres.

Q6- Couchbase Mobile 2.0 est disponible depuis le 12 avril, quelles sont ses principales nouveautés et améliorations par rapport à la version 1 ?

Cécile Le Pape : Nous avons déjà évoqué un certain nombre d'éléments. Par rapport à la version 1, on a comme nouveauté le requêtage SQL. Auparavant, on utilisait ce qu'on appelle des vues, qui étaient assez limitées en termes d'expressivité. Mais aujourd'hui, on peut faire du SQL. Il y a aussi la recherche Full-Text qui est complètement nouvelle. Elle n'existait pas du tout sur la version précédente. On peut encore citer la capacité à réagir à toute modification de données, donc des listeners grâce auxquels vous pouvez dire aujourd'hui qu'il s'est passé quelque chose sur vos données et réagir en entreprenant les actions nécessaires.

Il y a également le cœur même de Couchbase Mobile qui a été réécrit en C++ pour pouvoir réduire son empreinte sur le hardware pour aller vers des devices de plus en plus petits, pour aller vers l'IoT.

L'API a aussi été complètement simplifiée, parce que sur les années d'expérience qu'on a eues, on s'est rendu compte que du point de vue développeur, plus c'était simple, plus c'était efficace. Comme autre nouveauté, on notera que le protocole sous-jacent aujourd'hui est basé sur Websocket – je l'ai déjà mentionné. Cela permet d'avoir une application bidirectionnelle beaucoup plus efficace sans avoir du polling permanent sur le serveur. Donc, on a amélioré ses performances par deux grâce au fait que nous l'avons basé sur Websocket.

J'ai aussi mentionné que la résolution de conflits qui était dans la version 1.4 très manuelle est maintenant gérée automatiquement. La détection et la résolution de conflits se font désormais de manière automatique de sorte que vous n'ayez plus à vous en soucier. J'ai également évoqué la réplication sur des stockages secondaires qui est quelque chose de nouveau avec la version 2.0 de Couchbase Mobile. Voici un peu l'essentiel des nouvelles fonctionnalités apportées par la version 2.0.

Q7- Qu'en est-il de la tarification ?

François Costes : La tarification est assez intéressante. On a un modèle de souscription annuelle, mais il faut noter que la tarification ne se fait que sur Couchbase Server et Sync Gateway. Couchbase Lite n'est pas facturé, quel que soit le nombre de devices. Il est aussi important de préciser, pour ceux qui veulent essayer Couchbase Mobile, qu’il y a une version Community disponible gratuitement pour le développement et la production.

Nouveautés et téléchargement de Couchbase Mobile 2.0

Et vous ?

Avez-vous déjà utilisé Couchbase Mobile ? Qu'en retenez-vous ?
Que pensez-vous des nouveautés de la version 2.0 ?

Voir aussi :

Couchbase Mobile 2.0 est disponible : un aperçu des nouveautés de la plateforme de base de données NoSQL native pour mobile


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Accueil