Le service informatique de Bernhardt et les experts des équipes jStart Emerging Technologies et IBM Cloud, qui travaillent main dans la main, sont parvenus à atteindre de nouveaux niveaux d'évolutivité et d'adaptabilité en opérant deux changements majeurs. Pour une architecture plus flexible, l'équipe a remplacé l'application back-end monolithique de l'entreprise par une architecture de microservices et une infrastructure d'interface de programmation d'applications (API) exécutées dans un environnement de cloud hybride. Pour accélérer le développement et la maintenance continus, l'équipe a également adopté le modèle DevOps de développement d'applications.
D'une certaine façon, la collaboration entre IBM et Bernhardt a amélioré l'architecture back-end de l'entreprise en la brisant en plusieurs petits morceaux. Chaque application prenant en charge plusieurs processus administratifs s'est vue remplacée par neuf microservices correspondant à ces processus. Ces microservices ont ensuite été intégrés via des API dans un environnement hybride de plateformes hébergées localement et dans le cloud. Avec des API permettant de connecter et de partager des données entre les processus, ces morceaux distincts continuent de fonctionner comme une application unifiée, mais sans les dépendances de l'ancienne architecture qui entravaient les performances. Désormais, lorsqu'un processus tombe en panne, les autres continuent de fonctionner de manière indépendante et l'équipe peut se concentrer sur le problème à résoudre sans se soucier des autres processus. Selon L. Griffith, « l'architecture de microservices nous permet de jouir du temps de disponibilité et de la flexibilité dont nous avons besoin pour répondre aux demandes de nos utilisateurs et de nos clients. »
L'environnement de cloud hybride met également l'accent sur les performances en permettant à Bernhardt de baser chaque service sur la plateforme la plus adaptée. Par exemple, plusieurs API et microservices de la solution Virtual Showroom sont conçus sur le logiciel IBM WebSphere® Application Server Liberty Core et exécutés sur la plateforme publique IBM Cloud. Le microservice de gestion de contenu, qui comprend des informations officielles sur les produits et les salles d'exposition, s'exécute dans l'infrastructure IBM Cloud et est pris en charge par un service de base de données NoSQL IBM Cloudant® sur la plateforme IBM Cloud. De même, le logiciel d'analyse open source Apache Spark s'exécute dans un cluster haute performance de serveurs IBM Power Systems™ hébergés sur un site IBM local.
À l'avenir, lorsque Bernhardt déploiera de nouveaux services pour d'autres secteurs d'activité et que les exigences commerciales et les demandes de performances évolueront, l'entreprise pourra transférer des services individuels entre les plateformes cloud et sur site, selon les besoins. Par exemple, pour s'adapter aux pics de travail liés à la participation au salon High Point Market, l'équipe peut utiliser un conteneur Docker pour déplacer son service de gestion de contenu du cloud vers un réseau local de ressources informatiques dédiées.
Pour Bernhardt, les API représentent à la fois les connexions qui unifient son architecture de microservices et des liens vers l'innovation. Comme elles ne dépendent pas d'un langage de programmation, les API facilitent les intégrations avec un large éventail de services, ce qui signifie que l'entreprise peut intégrer facilement de nouvelles fonctionnalités dans ses applications métier. Par exemple, l'équipe a amélioré la solution Virtual Showroom avec deux services non IBM disponibles via le catalogue tiers de la plateforme IBM Cloud : le logiciel SendGrid, pour les e-mails automatisés concernant les commandes de produits, et le logiciel Redis, pour permettre aux utilisateurs professionnels d'accéder à l'ensemble de l'environnement Virtual Showroom à l'aide d'une connexion unique (SSO). D'autres API permettent à l'entreprise de combiner le logiciel d'analyse Apache Spark avec les capacités de l'Internet des objets (IoT) pour comprendre clairement comment les acheteurs parcourent la salle d'exposition et à quelle fréquence ils passent à côté de certains produits. « Nous utilisons ces API pour exploiter de nouvelles capacités et jouir d'une meilleure visibilité, explique L. Griffith. Elles nous permettent d'apporter des modifications à la volée qui améliorent nos résultats. »
Pour tirer pleinement parti de cette architecture plus flexible et modifiable, Bernhardt et IBM favorisent l'efficacité du développement logiciel en utilisant le modèle DevOps. « Le DevOps est synonyme de cycles plus courts et d'un retour d'information plus rapide, explique L. Griffith. Nous avons ainsi pu développer plus rapidement des solutions plus précises pour répondre aux besoins de notre entreprise. » L'équipe utilise IBM Cloud DevOps Services pour faciliter les retours et la collaboration des utilisateurs, accélérer les cycles de développement et de test et automatiser les déploiements. Ainsi, lorsque les équipes commerciales et les utilisateurs font part de leurs retours sur les performances et les fonctionnalités de l'application, l'entreprise peut recueillir leur témoignage sur le forum de collaboration IBM Cloud DevOps Services avant d'identifier les améliorations à apporter et de les regrouper en une série de tâches de développement alignées sur les microservices pertinents. Elle peut également mettre à jour les différents microservices en parallèle. Enfin, IBM Cloud DevOps Services facilite grandement le passage du code mis à jour des phases de développement, de test et de production à l'aide d'une simple fonction de glisser-déplacer.
Après avoir utilisé la solution Virtual Showroom pour trois salons High Point Market consécutifs, l'équipe informatique de Bernhardt a défini un récit utilisateur qui a donné lieu à l'ajout de la fonctionnalité la plus innovante à ce jour. En effet, les vendeurs voulaient permettre à leurs prospects de découvrir toutes les configurations possibles de leurs produits, même si celles-ci n'étaient pas présentées dans la salle d'exposition. Ainsi, un client pourrait voir à quoi ressemblerait une chaise avec une finition ou un tissu différent ou déterminer si deux meubles différents pourraient aller dans la même pièce. L'équipe a donc ajouté ces scénarios au forum IBM Cloud DevOps Services avant de se pencher sur les exigences de développement. Résultat : lors du salon High Point Market suivant, les vendeurs Bernhardt ont pu utiliser la nouvelle fonctionnalité Signature Seating de l'application pour permettre à leurs clients de personnaliser différents meubles et de les visualiser dans une pièce virtuelle.