Les secrets techniques de Workday, l'appli cloud B2B la plus populaire au monde

Les secrets techniques de Workday, l'appli cloud B2B la plus populaire au monde La plateforme de gestion RH et financière Workday s'adosse à une architecture évolutive à base de microservices. Kubernetes en est le chef d'orchestre. Et l'IA est présente à tous les étages.

Workday est l'application cloud en mode web la plus populaire en termes d'utilisateurs uniques si l'on en croit le dernier baromètre annuel d'Okta (Businesses at Work 2022). Certes, Microsoft 365 est classé devant par le spécialiste de la gestion des accès en mode SaaS. Cependant, la suite de productivité reste très majoritairement utilisée sous forme de logiciel. Et ce, même si ses briques, au premier rang desquels Teams et OneDrive, sont taillées pour collaborer via internet. Combinant gestion RH et financière, Workday a su mettre toutes les chances de son côté pour réussir. Ce qui est passé notamment par plusieurs choix clés en matière de technologies.

Dès son lancement en 2005, l'un des principaux défis de Workday est d'optimiser sa vitesse d'innovation. La société californienne opte d'emblée pour un versionning unique associée à une architecture multi-tenant. Objectif : rationnaliser maintenance et intégration. "Nous passons uniquement 10 à 20% du temps à gérer les changements de version, contre 80% à développer de nouvelles fonctionnalités", se félicite Dave Sohigian, global CTO de Workday. Dans la même optique, la société choisit de développer la logique de son application (gestion de fichiers, de champs, de process...) sous forme de métadonnées et non sous forme de code de programmation. Résultat : une architecture d'une grande souplesse.

Une base de données en mémoire vive

Dès le départ, Workday s'adosse à MySQL. "Mais notre structure de données étant orientée clé/valeur, nous avons décidé d'en migrer une partie vers la base NoSQL open source Basho Riak adaptée à ce modèle", se souvient le CTO. "Grâce à notre couche de métadonnées, nous avons réalisé l'opération rapidement et de manière transparente pour les utilisateurs. "Autre changement facilité par cette approche meta data : d'une application initialement monolithique, Workday s'oriente depuis quelques années vers une architecture à base de microservices. Idem pour son évolution vers le cloud public. Doté historiquement de ses propres data centers (trois aux Etats-Unis et deux en Europe), Workday se déploie désormais sur AWS, à la fois aux Etats-Unis, au Canada et à Singapour, et plus récemment sur Google Cloud. Là-encore, sa logique applicative sous forme de métadonnées simplifie l'opération.

"En matière de cloud public, tout l'enjeu est de mettre dans la balance l'apport des services spécifiques aux fournisseurs en termes de performance et de valeur versus leur contrainte propriétaire", explique Dave Sohigian. "Par exemple nous exécutons tout notre process de traitement des dépenses (RH, ndlr) sur Google Cloud Platform. Nous avions initialement développé en interne un service permettant, à partir du scan d'un reçu, de récupérer le montant correspondant, le nom de la société, du prestataire, la date…  Nous l'avons basculé sur GCP, ce qui nous a permis de l'étendre rapidement à l'Europe, Google disposant déjà des capacités de reconnaissance optique de caractères nécessaires. Ce qui nous a fait gagner un temps précieux"

"Parmi nos 4 000 clients core system, 75% ont signé un accord en vue de partager leurs données à des fins de machine learning"

Pour les tâches les plus courantes, Workday continue d'utiliser MySQL. La base de données se présente sous la forme d'un service de stockage persistant orienté objet. Elle est exécutée via la mémoire vive des serveurs pour répondre instantanément aux requêtes. Pour les actions, notamment d'audit, impliquant d'accéder aux historiques d'informations, le stockage sur disque reste privilégié. "Pour ce type de process de reporting, des temps de latence de quelques secondes sont acceptables pour l'utilisateur", reconnait Dave Sohigian. "Nous avons néanmoins recours au machine learning pour chaque client en vue d'identifier ce qui peut être stocké en mémoire au regard des fonctionnalités qu'il utilise." Evidemment, bénéficier d'une base in-memory est gage de performance. Mais pour Workday, c'est aussi le moyen de se limiter à une copie unique des données quel que soit le traitement : transactionnel, reporting, analytics, machine learning... Simple, mais efficace.

En aval, ce que Workday appelle un object management server (écrit en Java), lui-aussi exécuté en mémoire, interprète la couche fonctionnelle codée sous forme de métadonnées pour la servir aux utilisateurs. C'est lui qui est découpé en microservices. Sans surprise, son déploiement et son orchestration sont pilotés via Kubernetes. En termes de sécurité, Workday ne fait aucun compromis. Chaque champ de l'application fait l'objet d'un chiffrement AES-256. "La possibilité pour les clients de gérer leur propre clé de cryptage est prévue dans notre feuille de route", glisse Dave Sohigian.

Lutter contre les freins au changement

En matière d'IA, Workday bénéficie aussi de ses choix d'architecture. Du fait de son versionning unique, la plateforme est dotée d'un data model unique. Ce qui lui permet de mutualiser les data d'apprentissage de ses clients en vue de bâtir des modèles de prédiction à l'état de l'art. "Parmi nos 4 000 clients core system, 75% ont signé un accord en vue de partager leurs données à des fins d'apprentissage machine", confie Dave Sohigian. "Partant de là, nous avons par exemple créé un modèle orienté compétences comptant 300 dimensions : métier, rôle, profil, région… Il identifie les savoir-faire à acquérir pour prétendre à tel ou tel poste, puis cerne les contenus à consulter, les formations à suivre ou les collaborateurs à contacter pour combler ce gap."

Le principal défi auquel Dave Sohigian a fait face depuis son arrivée chez Workday ? "C'est la lutte contre les freins au changement", insiste le CTO. "Notre produit est taillé pour cibler l'ensemble des salariés de l'entreprise tout en étant conçu pour évoluer en permanence. Mais, c'est dans la nature humaine de vouloir résister au changement. C'est l'une des choses les plus difficiles à accepter, mais c'est aussi la condition du succès."