L'intégration agile : un levier essentiel de transformation de l'entreprise
Dans une économie en constante mutation, les entreprises recherchent, continuellement, le modèle d'organisation ainsi que les technologies leur permettant de rester compétitifs. L'agilité devient dès lors leur meilleur allié.
Afin que ces innovations stimulent la croissance, il est capital que les collaborateurs les moins techniques et souvent plus proches des besoins de leurs clients, puissent initier facilement de nouveaux projets et services qui répondent à la demande du marché.
Entendu dans la plupart des discours sur la transformation digitale, l'agilité est le mot d'ordre dans toutes les industries. Cependant, la façon dont la méthode agile est appliquée en entreprise est-elle optimale ? L'aborde-t-on de la bonne manière ? En considère-t-on tous ses rouages ?
La réponse est non. Lorsque l'agilité entre en jeu en entreprise, il n'existe pas de solution universelle. Au contraire, l'agilité peut s'obtenir par différentes initiatives, telles que l'amélioration de l'auto-approvisionnement ou l'accélération des livraisons applicatives par l'Intégration Continue (Continuous Integration) et le Déploiement Continu (Continuous Deployment).
Malheureusement, très souvent ces initiatives ne se limitent qu'à des améliorations des lignes de code. Toutefois, qu'en est-il des problématiques d'intégration applicative ? Peut-on y gagner en agilité ?
Il est très rare que les applications soient restreintes au sein de silos. Qu'elles soient internes ou externes, les applications ont besoin d'être intégrées à des systèmes et services. Et, tout comme au sein du code, l'agilité peut être obtenue au niveau de cette couche intermédiaire d'intégration. En effet, de nombreux changements, tels que des modifications dans des systèmes tiers ou des connexions à de nouveaux partenaires, peuvent survenir dans une application à l'insu de son responsable.
Dans cet environnement, trois facteurs peuvent remettre en cause l'agilité de l'intégration :
1. L'intégration au coeur de l'application : la fonction essentielle d'une application repose souvent sur des connexions avec d'autres services existants, intégrés directement dans l'application. Ces services sont souvent au coeur des systèmes d'une organisation, et ont par conséquent, vocation à y rester. Changer l'application peut amener à faire des changements dans la couche d'intégration, ce qui nécessite un certain niveau de contrôle.
2. Processus organisationnels : certains patrimoines existants peuvent représenter un frein à la modernisation. Si l'intégration entre les services est gérée par une équipe centralisée, elle peut causer des blocages lorsqu'une accélération de changements est nécessaire. Dès lors, cette équipe peut aller à l'encontre de la philosophie « agile ».
3. Changements technologiques : une architecture classique de couche d'intégration est celle d'un Entreprise Service Bus (ESB). Traditionnellement, l'ESB est déployée de manière monolithique et centralisée, en regroupant toute la logique d'intégration au sein d'un même déploiement. Cette logique ne s'adapte plus aux besoins et applications actuels. De plus, cela peut freiner la rapidité et la fréquence des changements nécessaires au succès d'une entreprise.
En observant la façon dont les entreprises s'organisent autour de « l'intégration agile », on observe trois piliers importants :
1. Intégration distribuée : il est capital que les compétences dans la gestion de l'intégration soient réparties dans différentes équipes. En effet, il est préférable que l'intégration soit accessible partout où elle est nécessaire dans l'entreprise. L'architecture de déploiement devrait également être décentralisée, de manière à ce que chaque équipe effectuant ce travail d'intégration puisse le faire de manière indépendante, sans contraintes causées par une architecture centralisée. Enfin, l'intégration doit être possible dans tous les types d'environnements, qu'ils soient internes, en cloud hybride ou cloud public.
2. Services basés sur API : la gestion des API peut être un pilier pour finaliser l'intégration distribuée. Les organisations doivent être en mesure d'autoriser l'utilisation des services, contrôler l'accès, adhérer aux principes de gouvernance, améliorer la sécurité, savoir comment ils sont utilisés. Sans une gestion efficace des API, on se retrouve dans le syndrome du plat « spaghettis », avec des connexions point à point et tous les enjeux que cela pose.
3. Environnement d'exécution basé sur des conteneurs : les points évoqués précédemment sont une base essentielle. Mais, pour arriver à une agilité véritablement efficace, il est important de comprendre les avantages que les conteneurs peuvent apporter dans la couche d'intégration. Une plateforme de conteneurs fournit un environnement complet et cohérent facilitant et automatisant les déploiements et amenant, en autre avantage, par exemple la possibilité de faire du débordement à la demande, en adaptant l'infrastructure en fonction des besoins. De plus, une plateforme de conteneurs ajoute une couche d'abstraction à l'infrastructure sous-jacente. Dès lors, les équipes peuvent gérer, de manière plus cohérente, les applications dans un environnement hybride.
Pour atteindre ces trois piliers, il ne suffit pas de « conteneuriser » l'ESB. Ce que l'on cherche à faire, finalement, c'est de démocratiser cette couche d'intégration, la rendre utilisable par n'importe quel utilisateur informaticien. Autrement dit, il s'agit de rendre les compétences d'intégration accessibles à ceux qui ne sont pas de grands experts du sujet, mais qui ont besoin de la maîtriser afin de réaliser de nouveaux services et applications. Ainsi, les entreprises peuvent choisir des technologies qui ne sont pas seulement distribuées, intégrées à la gestion des API et conteneurisées, mais qui sont également plus faciles à utiliser, sans avoir besoin de programmer des lignes de code.
Ces solutions existent-elles aujourd'hui ? Oui. Les plateformes IPaaS (integration platform as a service) fournissent tout ce qui est nécessaire à l'intégration d'applications, de données et de processus. Ces plateformes permettent aux développeurs, mais aussi aux autres employés moins techniques, de connecter leurs applications via un navigateur web. Ces plateformes 'low-code' aident les utilisateurs à créer, plus rapidement, des solutions et à réduire la complexité, en incluant outils graphiques et modèles.
Dans le cadre de leur transformation digitale, les entreprises cherchent à développer des produits, services et solutions technologiques à travers des modèles et des processus plus agiles correspondant davantage aux besoins de leurs clients. Pour y parvenir, ces solutions, et leurs données doivent être reliées aux services et aux applications existants de leur système d'information, et déployées dans des environnements de cloud hybride et multi-cloud afin d'obtenir la flexibilité nécessaire pour répondre à la demande du marché. En incorporant les notions d'intégration dans ces modèles agiles et en considérant les plateformes modernes d'intégration, les entreprises peuvent acquérir un véritable axe de liberté pour leur patrimoine applicatif.
Crédit photo : © Tashatuvango - Shutterstock
Sur le même thème
Voir tous les articles Business