Dans sa stratégie de migration vers le cloud et l’open source, le géant américain de la pharmacie Walgreens prévoit de transférer toutes ses bases de données relationnelles vers la solution open source MariaDB. Au mois de janvier dernier, la Walgreens Boots Alliance a conclu un partenariat majeur avec Microsoft, s’engageant à migrer la majorité de son infrastructure IT vers le cloud Azure. Si la stratégie cloud de l'entreprise a réellement débuté en 2017, l’accord avec Microsoft a naturellement fait évoluer les choses. Lors de l'événement MariaDB OpenWorks organisé fin février à New York, Dave Tuegel, gestionnaire de base de données chez Walgreens, a expliqué comment l'entreprise menait à bien le déplacement « de ses bases de données existantes sur site vers MariaDB et d’autres databases open source exécutées dans le cloud ».

Actuellement, ces bases de données sur site sont principalement constituées de solutions Oracle coûteuses auxquelles s'ajoutent certaines bases SQL Server, Teradata et IBM. Mais Walgreens veut désormais fonctionner avec MariaDB pour les SGBDR d'une part et d'autre part avec MongoDB et Microsoft Cosmos pour la partie NoSQL. « Afin d’accélérer la migration, nous avons prévu de déplacer l'ensemble de notre datacenter vers Azure sous 18 à 24 mois », a déclaré Dave Tuegel. « Nous voulons migrer les applications actuellement sous Oracle vers le cloud, et les convertir vers les bases de données MariaDB qui serviront d'alternative aux bases relationnelles d’Oracle ». 

Un changement de paradigme majeur

Walgreens a commencé à travailler officiellement avec MariaDB en avril 2018, avec un architecte dédié pour démarrer rapidement. Dave Tuegel a admis que pour une entreprise très dépendante d’Oracle, le passage à MariaDB représentait un « changement de paradigme majeur », en termes de déploiement et d’architecture. Pour se préparer, tous les administrateurs de bases de données de son équipe IT de 2000 personnes ont eu droit à une semaine de formation. Selon Walgreens, ce sont principalement l’évolutivité et le coût du déploiement qui ont motivé ce changement. Peut-être parce que l’entreprise n’est pas assez avancée dans ce processus, Dave Tuegel n'a pas voulu donner de chiffres sur les économies de coûts, mais il a déclaré que l’objectif final était « à terme, de se libérer d'Oracle ». Il a cependant reconnu que du fait de l’historique - voilà 25 ans que l’entreprise utilise les applications d’Oracle - « cela prendrait plusieurs années ».

Pour démarrer, Walgreens a conçu ses nouvelles applications pour qu'elles fonctionnent sur des technologies de base de données open source, tout en planifiant simultanément la migration des applications existantes vers ce modèle au fil du temps.

Défis à relever

Dans un exposé plus technique, Jasbir Sokhey, architecte technique pour l'ingénierie numérique chez Walgreens, a expliqué le choix d’architecture et il est revenu sur certains défis très spécifiques auxquels a dû faire face Walgreens. L'architecture de l'environnement de production, au plus haut niveau, comprend le proxy de base de données MaxScale et un serveur de base de données maître avec deux esclaves, répartis sur cinq machines virtuelles Azure (VM). L’un des premiers problèmes auxquels l'équipe a été confrontée concernait l'interruption régulière des connexions en raison de l'intervalle de « maintien en vie » par défaut de MariaDB, plus long que celui d'Azure. Au final, l'augmentation de l'intervalle pour se caler sur MaxScale a demandé un simple ajustement.

 

Comme toute entreprise du Fortune 50, la sécurité tenait forcément une place importante dans les priorités de Walgreens quand l’entreprise s’est intéressée à des technologies open source comme MariaDB. « Nous voulions mettre en place un environnement stable en utilisant d'abord la réplication MaxScale, Gallera et Master/Slave, puis configurer et tester les composants de sécurité », a expliqué M. Sokhey. Ensuite, ils ont renforcé l'authentification Lightweight Directory Access Protocol (LDAP) et implémenté la couche Secure Socket Layer (SSL) pour le cryptage. Selon M. Sokhey, la mise en œuvre du LDAP a été « assez facile ». Elle a nécessité une collaboration étroite avec l'équipe de sécurité pour authentifier les utilisateurs. Il a fallu aussi utiliser des modules d'authentification enfichables (Pluggable Authentication Modules  - PAM) pour renforcer les protocoles d'authentification.

 

Concernant le SSL, « MariaDB permet une belle approche par étapes, disponible en ligne », a encore expliqué M. Sokhey. « Ensuite, avec l’équipe de sécurité, vous pouvez générer des clés SSL publiques ». Walgreens cherche également à automatiser une grande partie de son travail dans ce domaine en utilisant la technologie de Chef. « Dans le cloud en particulier, en nous appuyant sur la technologie open source, nous voulons automatiser les configurations des machines virtuelles à l'aide des recettes de Chef », a encore déclaré M. Sokhey. « L'un des plus gros avantages, pour créer un système de fichiers par exemple, c’est que le serveur Chef pousse ses recettes vers toutes les machines virtuelles et les exécute pour vous. Ce qui signifie que vous n’avez pas besoin de demander à un spécialiste des VM Unix de le faire à votre place ».