L'intégration informatique : définition
L'intégration informatique, ou intégration des systèmes d'information, désigne le fait de connecter les données, les applications, les API et les appareils au sein de votre service informatique, dans le but d'augmenter l'efficacité, la productivité et l'agilité de votre entreprise. L'intégration informatique permet à tous les éléments d'un environnement informatique de fonctionner ensemble. Ainsi, elle représente un aspect clé de la transformation d'une entreprise, c'est-à-dire de son adaptation face à l'évolution du marché. L'intégration informatique ne se limite pas à connecter des éléments, elle ajoute également de la valeur. En effet, en connectant les différentes fonctions de plusieurs systèmes, elle peut offrir de nouvelles fonctionnalités. À titre d'exemple, Apache Kafka est une plateforme Open Source qui permet d'intégrer des flux de données à vos applications afin qu'elles puissent les exploiter en temps réel.
Il ne faut pas confondre l'intégration informatique avec l'intégration continue qui désigne une pratique employée par les développeurs et qui consiste à fusionner des versions de codes qui fonctionnent sur un référentiel central partagé plusieurs fois par jour. L'objectif de l'intégration continue est d'automatiser la création de versions et la vérification afin de détecter rapidement les éventuelles erreurs et d'accélérer le développement.
Apprenez-en davantage sur l'intégration avec Red Hat
Petite histoire de l'intégration informatique
À mesure que les systèmes informatiques grossissaient et se développaient, ils s'éloignaient aussi les uns des autres. Les solutions provenant de fournisseurs différents ne pouvaient plus communiquer entre elles. Au final, les éléments de votre pile informatique n'étaient plus connectés que par le simple fait qu'ils vous appartenaient tous. Il fallait donc trouver une solution pour organiser votre environnement et éviter la répétition des tâches, surtout lorsqu'il s'agissait de mettre en œuvre et de gérer une logique métier.
Remarque : dans la section qui suit, la sémantique fait débat : topologies physiques contre topologies logiques, approches contre architectures contre technologies. Les explications proposées ci-dessous ne sont qu'un aperçu général.
Intégration d'applications d'entreprise
Il existe une solution pour rassembler et organiser tous ces éléments disparates : l'intégration d'applications d'entreprise (EAI), c'est-à-dire un ensemble de technologies, des outils et un framework qui permettent une intégration en temps réel et basée sur les messages entre les différentes applications. L'envoi de ces messages est déclenché par des modifications ou des paramètres au sein de chaque application. Il existe deux modèles d'EAI : l'intégration point à point (« point-to-point ») et l'intégration en étoile (« hub-and-spoke »).
![Point to point integration vs. hub and spoke integration Point to point integration vs. hub and spoke integration](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/Point-vs-Hub-866x400.png.webp?itok=4ck9wrq8)
Le modèle point à point implique que chaque application a été personnalisée pour pouvoir communiquer avec les autres applications et éléments de votre environnement informatique. Chaque ressource doit donc être personnalisée en fonction de toutes les ressources auxquelles elle se connecte. Il s'agit d'une tâche fastidieuse et le modèle est par conséquent fortement sujet aux erreurs. Pour ne rien simplifier, la maintenance du modèle se complexifie à chaque mise à jour de l'infrastructure et des applications.
Le modèle en étoile résout ce problème avec un point de connexion central (le cœur) qui relie toutes les applications et les services. Les rayons qui relient le cœur aux applications et aux services peuvent faire l'objet d'une maintenance individuelle. Ainsi, vous pouvez concevoir des applications plus spécialisées et réserver les tâches d'intégration au cœur et aux rayons. Le principal désavantage de cette approche réside dans la centralisation du cœur, car il devient le point unique de défaillance du système et des communications au sein de votre infrastructure. Dans un modèle en étoile, toutes les intégrations dépendent, par définition, du bon fonctionnement du cœur.
ESB
Après l'intégration en étoile, vient l'ESB (Enterprise Service Bus), un outil d'abstraction orienté messages qui fournit des modules de service entre les applications.
L'ESB tient également le rôle de point central où tous les modules de service sont partagés, redirigés et organisés afin de connecter vos applications et données entre elles. Cette solution remplace avantageusement l'intégration en étoile, mais ce n'est pas non plus la panacée, surtout lorsque votre entreprise croît et acquiert de nouvelles ressources, car elle requiert alors une plus grande rapidité au niveau des propriétés et des ressources logicielles.
![Enterprise Service Bus Integration Enterprise Service Bus Integration](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/ESB-integration-525x425.png.webp?itok=5dNbJDbg)
De prime abord, un ESB ressemble fort au modèle d'intégration en étoile. C'est vrai, mais l'ESB propose tout de même quelques fonctionnalités très spécifiques.
- Un ESB est un service qui utilise des normes ouvertes. Ainsi, pas besoin d'écrire des interfaces uniques pour chaque application.
- Les services d'intégration peuvent être déployés sans modifier fondamentalement les applications.
- Les ESB s'appuient sur des interfaces et des protocoles ouverts et standard, afin de simplifier les nouveaux déploiements.
Toutefois, un déploiement d'ESB implique souvent une architecture centralisée, et ce, pour les mêmes raisons évidentes déjà avancées avec le modèle en étoile : il faut un emplacement unique pour héberger et contrôler tous les services d'intégration. Malheureusement, les déploiements et architectures d'ESB s'accompagnent d'une gouvernance centrale rigide qui ne permet pas de fournir les solutions plus rapides et capables de s'adapter qui sont à la base des initiatives de transformation numérique. De plus, les ESB finissent souvent par se changer en applications monolithiques.
Intégration agile
Jusqu'à présent, nous n'avons évoqué que l'intégration, à savoir, les technologies qui permettent à tous les composants d'un environnement informatique de travailler ensemble. Et l'intégration agile alors, qu'est-ce que c'est ? Cette approche se rapporte simplement à la façon dont Red Hat envisage l'avenir des systèmes connectés et leur capacité à soutenir le travail que les équipes informatiques doivent accomplir pour rester dans la course, en particulier dans un environnement en rapide évolution.
![Agile Integration - Hybrid Platform Agile Integration - Hybrid Platform](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/Agile-integation-525x385.png.webp?itok=4R5FpF-n)
Chez Red Hat, nous pensons que l'approche classique de l'intégration, c'est-à-dire avec des équipes qui contrôlent des technologies monolithiques de manière centralisée, peut freiner le développement des applications distribuées et compromettre leur utilité à long terme. Les technologies d'intégration classiques, telles que l'ESB, présentent certains avantages, notamment parce qu'elles permettent de donner la priorité à la sécurité et à l'intégrité des données. Cependant, elles dépendent aussi d'une seule équipe qui doit définir toutes les intégrations pour l'ensemble de l'entreprise.
Aujourd'hui, les architectures d'applications cloud-native, faiblement couplées et développées selon des méthodes agiles et des principes DevOps, exigent une approche évolutive et tout aussi agile de l'intégration. Selon Red Hat, l'intégration agile est une stratégie de connexion des ressources qui allie des technologies d'intégration, des techniques de distribution agile et des plateformes natives pour le cloud dans le but d'accélérer la distribution des logiciels tout en renforçant la sécurité. En pratique, l'approche consiste à déployer des technologies d'intégration (des API, par exemple) dans des conteneurs Linux, et à répartir la gestion de l'intégration entre des équipes pluridisciplinaires. Une architecture d'intégration agile peut être divisée en trois capacités clés : l'intégration distribuée, les conteneurs et les API.
Intégration distribuée
- Encombrement réduit
- Basée sur des modèles
- Orientée événements
- Communautaire
Avantage : FLEXIBILITÉ
Conteneurs
- Cloud-native
- Simples et déployables individuellement
- Évolutifs et hautement disponibles
Avantage : ÉVOLUTIVITÉ
API
- Points de terminaison bien définis, réutilisables et bien gérés
- Influence et utilisation de l'écosystème
Avantage : RÉUTILISATION