La décision d'une entreprise de basculer l'ensemble de ses données jusqu'alors gérées en interne vers le cloud public est loin d'être anodine. Surtout lorsque l'on s'appelle Evernote et que l'on gère pas moins de 5 milliards de notes, 12 milliards de fichiers pesant sur la balance 3 petaoctets de données. Et pourtant, c'est bien ce qu'a décidé de faire la start-up spécialisée dans la prise de notes cloud et mobile en 2016. Mercredi, la société a d'ailleurs annoncé que le gros de la migration avait été effectué. 

Evernote a souhaité tirer parti du cloud pour plusieurs raisons. D'abord pour l'aider à exploiter les fonctions d'apprentissage machine qu'il a développées, et dont se souviennent encore de très nombreux utilisateurs. Mais également pour gagner une agilité venant du fait de ne pas avoir à faire tourner un datacenter. C'est d'ailleurs l'une des tendances fortes observées ces dernières années dans de nombreuses sociétés prenant la décision de migrer leurs workloads en dehors de leurs infrastructures vers le cloud public de fournisseurs. Alors que cette transition nécessite pas mal de travail et d'adaptation, Evernote a salué les efforts de Google pour l'aider dans son gigantesque projet.

Pourquoi migrer vers le cloud ?

Le travail à mener était réellement énorme, d'autant qu'à la base, le backend d'Evernote a été conçu pour tourner sur les deux datacenters jumeaux de la société, pas sur un cloud public. Beaucoup de temps a ainsi dû être passé pour maintenir l'activité comprenant le remplacement des disques durs, le déplacement des câbles et évaluer les nouvelles options d'infrastructure. Mais si ces fonctions étaient clés pour maintenir la bonne santé globale et la performance du service Evernote, elles n'apportaient pas de valeur ajoutée pour les clients, d'après Ben McCormack, vice-président des opérations de la société. 

En termes de fournisseurs dans le cloud, Evernote n'avait que l'embarras du choix entre Amazon Web Services, Microsoft Azure, Google Cloud... Ce qui a emporté le choix d'Evernote est lié aux similarités entre son focus actuel et les domaines d'expertise de Google, la start-up hébergeant un grand volume de données avec pour objectif de les exploiter via du machine learning. « Nous avons fait un choix stratégique et ces domaines qui sont importants aujourd'hui le seront aussi demain et ce sont les mêmes dans lesquels Google excelle », a expliqué Ben McCormack. Alors que le coût est souvent cité comme principal bénéfice des migrations vers le cloud, M. McCormack a indiqué que cela n'a pas constitué un critère principal aux yeux d'Evernote, ni un frein à sa migration. Un autre élément a fait pencher la décision de la société vers Google. Son CEO, Chris O'Neill, a été un ancien de la firme de Mountain View pendant 10 ans ce qui a permis, aux dires du directeur de la communication de la start-up, Greg Chiemingo, d'apporter une aide précieuse dans la négociation.

Des metadata en plus des notes et des pièces jointes 

Signé en octobre, l'accord de migration a suivi rapidement son cours avec, dès la fin d'année, la nécessité de migrer 5 milliards de notes et autant de pièces jointes. A cause des metadata, telles que les images thumbnails, incluant celles des fichiers joints, le volume total des fichiers à migrer s'est élevé à 12 milliards. Sachant que le principal objectif a été de procéder à la migration sans perdre un octet des 3 Po de données stockées dans les datacenters d'Evernote. Une partie de la transformation a consisté à repenser le service réseau. Evernote utilisait auparavant UDP Multicast pour gérer une partie de son workflow de reconnaissance d'image, qui fonctionnait bien dans le centre de données de l'entreprise, où il pouvait contrôler les routeurs de réseau. Mais cette même technologie n'était pas disponible dans le cloud de Google, ce qui a nécessité une adaptation de son application pour utiliser un modèle basé sur la file d'attente en s'appuyant sur le service Cloud Pub/Sub.

Les équipes de Google ont accompagné Evernote dans sa migration de très près sur une plage horaire 24/7 afin que tout se passe de la meilleure façon possible et pallier à tout incident. En tout, la migration s'est déroulée sur 70 jours, avec la plus grosse partie sur 10 jours en décembre. Pour Evernote, une chose est claire : même avec les projets les plus exigeants, une équipe doit pouvoir être prête à s'adapter à la volée à un nouvel environnement. Et cela n'a pas toujours été simple. Par exemple, Google a dû utiliser des techniques de migration en direct pour déplacer des machines virtuelles d'un hôte vers un autre afin d'appliquer des correctifs et contourner les problèmes matériels. Quoi qu'il en soit, de l'avis d'Evernote, son projet de migration a montré que le cloud est prêt pour supporter n'importe quel sorte de workload.

Des gains de latence et de chargement de pages réduits 

Mais quid des bénéfices ? L'un des principaux pour Evernote, c'est que le cloud de Google a permis de réduire la latence et d'améliorer la consistance de la connexion à l'international. Le temps de chargement des pages a également été réduit. Actuellement, il reste une dernière salve de pièces jointes à migrer avant la fin définitive du projet de migration. Pour la suite, la start-up prévoit de tirer parti de quelques autres fonctionnalités du cloud de Google mais aussi d'autres services à venir. Elle compte notamment utiliser Google Cloud Functions, permettant aux développeurs d'écrire des snippets de code exécutables. Des tests alpha portant sur la Cloud Platform mais encore jamais publiquement révélés au public sont dans les tuyaux et serviront au déploiement de nouvelles fonctionnalités inclues prochainement dans Evernote.