Domaine

Comprendre l'intégration d'entreprise

L'intégration des applications et des données est primordiale pour toute entreprise qui souhaite proposer des expériences et services novateurs à ses clients.En général, une équipe gère une technologie d'intégration monolithique pour toute la structure. Cependant, le niveau de complexité des applications ne cesse de croître : distribuées dans toute l'entreprise, celles-ci doivent évoluer et s'adapter rapidement pour suivre le rythme imposé par les marchés concurrentiels. Ces nouveaux défis appellent une stratégie itérative basée sur des technologies d'intégration natives pour le cloud et sur l'agilité des équipes.

Qu'est-ce que l'intégration d'entreprise ?

Une entreprise moderne est obligée de recourir au partage de données. 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, 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 quelle méthode ?

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 de filtrer 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 dans 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 mieux adaptée pour le développement d'applications modernes.

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.

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.

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 streaming de données capable de publier, stocker, traiter et souscrire à des flux d'enregistrement en temps réel.

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.

Qu'est-ce que l'intégration agile ?

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é sur le 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 natives pour le cloud, 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. Nous partageons justement cette vision de l'intégration agile : une stratégie de connexion des ressources qui combine 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 native pour le cloud

Une application native pour le cloud 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 des clients 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.

Pratiques 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 natives pour le cloud 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.

Les solutions indispensables pour une intégration agile

Plateforme d'intégration distribuée qui relie votre infrastructure et permet aux experts en intégration, aux développeurs d'applications et aux utilisateurs métier de développer, ensemble ou individuellement, des solutions connectées.

Plateforme qui simplifie le partage, la sécurisation, la distribution, le contrôle et la monétisation de vos API pour les utilisateurs internes et externes.

Plateforme de messagerie flexible, hautes performances et à faible encombrement, qui transmet les informations de manière fiable et permet une intégration en temps réel ainsi qu'une connexion à l'Internet des objets.

Vous ne savez pas encore tout sur l'intégration…