Toyota Material Handling démarre une nouvelle infrastructure Data pour l'industrie 4.0
L'activité manutention du Groupe Toyota mène le refactoring complet de son infrastructure Data pour se préparer aux applications Industrie 4.0 de demain. La recette de cette transformation ? Cloud public, microservices et base de données orientée document.
Basé à Mjölby, en Suède où l'entreprise a son siège et l'un de ses sites de production, Toyota Material Handling Europe fabrique des chariots élévateurs pour toute l'Europe. Plus de 130 000 chariots connectés sont déjà sortis des chaînes d'assemblage ultramodernes de cette usine du groupe Toyota. Depuis 2018, les chariots élévateurs sont dotés en standard d'un boîtier télématique qui transmet en 4G leurs données de fonctionnement toutes les 12/24 heures. En 2011, une nouvelle entité a été créée afin de concevoir des applications exploitant ces données de fonctionnement, Toyota Material Handling Logistics Solutions.
Baptisé "I_Site", un portail client a été mis en ligne à destination des logisticiens qui exploitent les chariots élévateurs au quotidien. Celui-ci centralise toutes ces données et chaque client peut s’y connecter afin d’accéder aux données de son parc de chariots Toyota. L'infrastructure en place est alors typique de ce que l'on appelle une infrastructure monolithique, c'est-à-dire une base de données Microsoft SQL Server hébergée en interne sur laquelle les développeurs créent les applications télématiques de l'industriel. "Nous nous sommes rendus compte que notre infrastructure existante ne pourrait évoluer", confie Filip Dadgar, Principal System Architect & IT-Manager chez Toyota Material Handling Logistics Solutions. "Nous devions investir afin de moderniser cette infrastructure informatique et passer d’une approche classique vers une infrastructure plus modulable et sur laquelle il sera plus facile d’intégrer de nouvelles fonctionnalités".
Des microservices et du Cloud public pour gagner en modularité
Un vaste projet de modernisation de l'infrastructure Data et de refactoring des applications du portail est alors lancé pour aller vers une architecture à base de microservices et choisir une base de données de nouvelle génération pour stocker les informations issues des équipements connectés : "nous avons ainsi établi divers critères de sélection, notamment sur les performances que nous souhaitons atteindre, les temps de latence, une forte modularité et notamment une fonction auto-évolutive et une base de données sans maintenance. En effet, dans le cadre de notre nouvelle approche DevOps, nous ne souhaitions plus consacrer des ressources à la maintenance des infrastructures elles-mêmes, une tâche qui ne fait pas partie de notre cœur de métier. La sécurité et la conformité faisaient bien évidemment partie de nos critères de sélection, car nous sommes amenés à stocker les données de nos clients, des données personnelles sur les caristes et ces données doivent être à la fois conformes au RGPD et conservées sur le territoire européen. Nous sommes basés en Suède mais nous devions donner accès à ces services en ligne à tous nos clients européens. Nous avons décidé de nous appuyer sur Microsoft Azure. Enfin, nous ne souhaitions pas consacrer du temps à des tâches de backups et restaurations de données, et cela devait être automatique depuis le portail."
MongoDB Atlas s'impose comme solution de stockage des données
Si Toyota Material Handling Europe a fait le choix de la plateforme Azure pour son portail "I_Site", ce choix doit être réversible à tout moment et la plateforme doit pouvoir migrer vers AWS ou Google Cloud. La base de données choisie devait donc être agnostique en termes de plateforme d'exécution et permettre une migration sans imposer une réécriture des applications. "Avant cette migration, nous utilisions Microsoft SQL Server, mais pour faire monter en volume une telle base de données, il faut investir beaucoup d’argent dans le matériel, ce qui n’a plus de sens aujourd’hui. Nous avons notamment évalué Azure Cosmos DB, une solution très performante dans de nombreux cas d’usage, mais étant donné nos volumes de données, cette solution aurait été extrêmement coûteuse pour nous".
A l’issue du benchmark, c’est la base MongoDB qui a été sélectionnée par l'équipe projet. La base de données orientée document a été considérée comme bien plus facile à exploiter par les développeurs comme l'explique Filip Dadgar : "SQL Server et Cosmos DB imposent aux développeurs d’avoir une relativement bonne connaissance du fonctionnement de ces bases de données. MongoDB est plus simple pour un développeur car tous les objets manipulés sont des objets JSON. En outre MongoDB s’appuie sur une forte communauté Open Source de développeurs".
Outre ce changement de plateforme, le plus gros défi fut de réorganiser les équipes et mener le refactoring des applications. Toyota Material Handling s'est appuyé sur le framework SAFe (Scaled Agile Framework) pour mettre en place une organisation agile, réorganisant ses 120 développeurs en 7/8 groupes travaillant sur des microservices. Pour susciter l'adhésion des équipes, un "Manifesto" a été signé par tous.
La planification des développements est réalisée sur 10 semaines, avec des sprints de 2 semaines. Le responsable IT souligne : "ce rythme nous donne la capacité de modifier nos priorités et passer à une autre fonctionnalité si la valeur d’un développement n’est pas démontrée auprès des clients. L'important est de développer et réagir vite et de maintenir le rythme sur la durée."
La conception des microservices a été dictée par les 6 grands principes de la méthodologie objet SOLID et l'accent étant porté sur le découplage des microservices et la mise en oeuvre d'OpenAPI : chaque microservice est fonctionnellement bien spécialisé et doit être autonome et ne communiquer que via des API bien définies avec les autres microservices. S'il devient trop complexe, il doit être découpé en services plus petits.
Leur conception s'appuie sur l'approche Domain Driven Design (MDD). Chaque microservice gère ses propres données et on peut combiner divers microservices pour répondre à un appel d’API ou un service de plus haut niveau qui souhaite consommer ces données. Il devient alors très simple de faire monter en puissance dans l'architecture tel ou tel microservice en fonction des besoins réels et non pas de manière globale avec une base de données classique on-premise.
En outre un soin tout particulier a dû être porté sur la gestion du cycle de vie des API comme l'explique Filip Dadgar : "dans notre domaine, la logistique, nos clients mettent en place leur propre logique métier au-dessus des API. Nous ne pouvons donc les modifier à notre guise, ce qui veut dire qu'il nous faut donc être capables de faire du versioning et de gérer soigneusement le cycle de vie de chaque API".
Une nouvelle architecture pour booster l'innovation
Pour les porteurs du projet, cette migration vers les microservices doit permettre à Toyota Material Handling Europe d'être beaucoup plus réactif et proposer de nouvelles applications innovantes à ses clients. "Un côté intéressant de développer nos applications en microservices, c’est que l’on peut innover bien plus rapidement et de manière plus sûre que par le passé puisque chaque microservice est indépendant. Cela nous permet d’être plus créatifs", explique le responsable informatique.
L'exploitation des données de fonctionnement des chariots élévateurs va permettre de passer d'une maintenance préventive, avec des passages planifiés des techniciens, à une maintenance prédictive. De plus, les microservices doivent permettre aux équipes agiles de développer plus facilement de nouvelles fonctionnalités spécifiques à certains marchés, certaines régions géographiques ou même certains clients.
En outre, le portail permet à l'entreprise de planifier l'utilisation de ses chariots élévateurs et notamment gérer la planification des caristes sur un parc de chariots. Ces derniers viennent ensuite se logguer sur le bon chariot. Plus important, la loi impose dans certains pays aux caristes de parcourir une check-list avant de commencer leur journée de travail avec, par exemple, une vérification du fonctionnement des freins, vérifier qu'il n'y a pas de fuite d'huile sous le véhicule, toute une série de vérifications à faire avant de pouvoir démarrer la machine.
Une application de gamification sur le thème de la sécurité est disponible sur le portail, une compétition entre caristes sur des durées de 1 à 9 semaines pendant lesquelles ceux-ci doivent éviter au maximum les chocs, avec un prix accordé au meilleur cariste. Cette opération originale a permis d'abaisser de 70% le nombre de collisions mesurées par les capteurs chez certains clients.
Le nombre d'applications qui pourront être proposées sur "I_Site" est potentiellement infini car si la nouvelle plateforme a été initialement conçue pour les données issues des capteurs posés sur les chariots de manutention, les ambitions de Toyota Material Handling vont aujourd'hui bien au-delà : "notre architecture de microservices va nous permettre d’ajouter des données issues des capteurs installés dans les usines et nous allons pouvoir traiter ces données sous de multiples aspects, notamment pour nos plus grands clients qui ont à gérer des milliers d'entrepôts dans des centaines de pays". De simple portail client, "I_Site" est en train de devenir le pivot d'une nouvelle stratégie Industrie 4.0 pour le fabricant de machines.
Actuellement, le projet est en phase finale de migration vers la nouvelle infrastructure. Filip Dadgar précise : "l’une des exigences de ce changement de plateforme était de maintenir en ligne nos services sans interruption. Nous avons donc dû répliquer les données de notre plateforme de production sur la nouvelle infrastructure tout au long de la phase de migration." La bascule s’opérera à la fin de cet été et alors Toyota Material Handling Europe pourra enfin éteindre son infrastructure on-premise et entrer pleinement dans l'ère de l'Industrie 4.0.