L'intégration d'entreprise, qu'est-ce que c'est ?
Toute entreprise moderne se doit de partager ses données. Si vous travaillez dans une grande entreprise qui cherche à tirer parti des Big Data, vous savez que leur intégration n'est pas simple. Cette pratique suppose que les applications et les périphériques au cœur de votre stratégie métier ont accès les uns aux autres, et ce, très certainement, dans différents environnements cloud. L'intégration d'entreprise englobe les technologies, les processus et les équipes qui connectent les données, les applications et les périphériques en tout point de l'infrastructure informatique.
Au fil des années, le modèle d'intégration d'entreprise basé sur un nombre relativement réduit de connexions point à point a laissé place à un modèle centralisé relié via un bus de service d'entreprise (ESB), puis à une architecture distribuée formée de multiples points de terminaison réutilisables.
Intégration d'entreprise : quelles ressources et quelles méthodes ?
Quelles ressources peuvent être intégrées ?
Avant toute chose, la question de l'intégration d'entreprise concerne les données. L'accroissement du volume des données dans l'entreprise a conduit à la généralisation de l'utilisation de l'expression « Big Data » pour illustrer l'ampleur et la variété des sources de données. La possession d'importantes quantités de données dans des formats non standard divers et variés peut apporter une grande valeur ajoutée. Encore faut-il que ces données aient d'abord été intégrées depuis les différentes sources ou applications dont elles proviennent. Avec l'Internet des objets (IoT), les entreprises ont également la possibilité de se rapprocher des clients et d'analyser des données utiles recueillies à partir d'appareils du quotidien, à condition d'extraire les données critiques qui doivent être stockées dans leur datacenter. Les applications web compliquent elles aussi la démarche d'intégration d'entreprise, en particulier lorsqu'il s'agit d'intégrer des applications existantes à une architecture de services telle que les microservices.
Quelle méthode utiliser pour intégrer les applications, les périphériques et les données ?
Auparavant, un bus de service d'entreprise (ESB) centralisé, géré par une seule et même équipe, était capable de connecter tous les points de terminaison de votre environnement. Aujourd'hui, la centralisation des équipes et des technologies présente néanmoins un risque : celui d'engorger les systèmes modernes, qui ont besoin de liaisons rapides et simples pour intégrer les composants distribués. Selon vos besoins en matière de données et services, une stratégie qui combine un système de messagerie, des connecteurs d'applications, des flux de données, des modèles d'intégration d'entreprise et des API déployables rapidement et de façon itérative, sera plus adaptée pour le développement d'applications modernes.
Messagerie
Le système de messagerie assure la communication entre les différents composants d'une architecture d'applications distribuée. Les composants peuvent échanger des messages sans nécessairement utiliser le même langage, compilateur ou système d'exploitation, à condition toutefois que l'expéditeur et le destinataire sachent interpréter le format et le protocole de messagerie communs.
Dans une architecture de microservices, les messages sont acheminés via un Service Mesh.
Connecteurs d'applications
Les connecteurs d'applications sont des éléments d'architecture qui modélisent les règles d'interaction des composants. Il s'agit de connexions standard, qui ont été personnalisées pour des API spécifiques, dans l'optique d'accélérer l'intégration de nouveaux points de terminaison.
Flux de données
Les flux de données fournissent un flux constant d'informations qui peuvent être ajoutées ou consommées par des applications, indépendamment de leur transmission. Par exemple, Apache Kafka est une plateforme distribuée de diffusion de données en continu, capable de publier, stocker, traiter et souscrire à des flux d'enregistrement en temps réel.
Modèles d'intégration d'entreprise
Un modèle d'intégration d'entreprise désigne un ensemble de solutions autonomes d'un point de vue technologique qui vise à résoudre des problèmes d'intégration courants. Ces modèles fournissent aussi aux développeurs et architectes d'applications un langage commun pour décrire les intégrations.
API
Une API est un ensemble d'outils, de définitions et de protocoles qui facilite la création de logiciels d'applications. Elle permet à votre produit ou service de communiquer avec d'autres produits et services sans connaître les détails de leur mise en œuvre.
L'approche de Red Hat en matière d'intégration
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 au niveau de la sécurité et de 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.
L'intégration dans une architecture cloud-native
Une application cloud-native regroupe un ensemble de microservices indépendants et faiblement couplés, qui sont déployés dans des conteneurs Linux et connectés via des API ou un système de messagerie. Chaque service met en œuvre une fonctionnalité métier et est développé par des équipes réduites sur la base de workflows DevOps, comme l'intégration et le déploiement continus (CI/CD). Les services peuvent ainsi être créés rapidement, déployés automatiquement et mis à jour régulièrement, sans être soumis à des cycles de développement en cascade.
DevOps
Le modèle DevOps est une approche de la culture informatique, de l'automatisation et de la conception de plateformes conçue pour accroître la valeur ajoutée des entreprises et optimiser leur réactivité.
Conteneurs
Les conteneurs permettent de rassembler des applications dans des paquets et de les isoler avec l'ensemble de leur environnement d'exécution, ce qui facilite leurs déplacements entre plusieurs environnements tout en conservant leur pleine fonctionnalité.
Microservices
Dans une architecture de microservices, les applications sont décomposées en leurs éléments les plus simples et indépendants.
API
Une API est un ensemble d'outils, de définitions et de protocoles qui facilite la création de logiciels d'applications. Elle connecte les produits et services sans connaître les détails de leur mise en œuvre.
Les applications cloud-native sont conçues de façon à apporter une valeur métier, comme la capacité à prendre en compte rapidement l'avis des utilisateurs dans un effort d'amélioration continue. En d'autres termes, le développement des applications natives pour le cloud permet d'accélérer la création des nouvelles applications, d'optimiser les anciennes et de les connecter les unes aux autres.
Les applications natives pour le cloud sont distribuées, et cela pose un problème d'intégration différent par rapport aux applications monolithiques traditionnelles. L'intégration agile permet le développement d'applications natives pour le cloud notamment parce qu'elle répond à la fois aux exigences des applications et aux besoins d'intégration de l'entreprise.
Découvrez la gamme de produits Red Hat Application Services
Red Hat Integration est l'un des trois groupes de produits de la gamme Red Hat Application Services. Ces solutions permettent aux développeurs d'intégrer des applications à un large éventail de systèmes internes et externes dans des architectures hybrides.