Jump to section

Apache Kafka, qu'est-ce que c'est ?

Copier l'URL

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. Elle est conçue pour gérer des flux de données provenant de plusieurs sources et les fournir à plusieurs utilisateurs. En bref, elle ne se contente pas de déplacer un volume colossal de données d'un point A à un point B : elle peut le faire depuis n'importe quels points vers n'importe quels autres points, selon vos besoins et même simultanément.

La plateforme Apache Kafka est une alternative au système de messagerie d'entreprise classique. Initialement développée par LinkedIn comme système interne pour la gestion de ses 1 400 milliards de messages quotidiens, c'est aujourd'hui une solution Open Source de diffusion de données en continu capable de répondre aux divers besoins des entreprises.

Les microservices ont révolutionné le domaine du développement. Ils augmentent l'agilité des développeurs en réduisant les dépendances, notamment aux couches de base de données partagée. Toutefois, les applications distribuées créées par vos développeurs doivent être intégrées pour partager leurs données. L'une des options d'intégration les plus courantes, connue sous le nom de méthode synchrone, exploite les API pour partager des données entre plusieurs utilisateurs.

Il existe une autre option d'intégration, la méthode asynchrone, qui implique la réplication des données dans un magasin intermédiaire. C'est dans ce type d'intégration qu'Apache Kafka intervient. La plateforme diffuse les données d'autres équipes de développement pour alimenter le magasin intermédiaire et ainsi permettre le partage des données entre plusieurs équipes et leurs applications.

Les équipes chargées des microservices n'ont pas les mêmes exigences d'intégration que les équipes de développement traditionnel en cascade. Elles nécessitent trois fonctionnalités essentielles :

  1. Intégrations distribuées : des intégrations légères et basées sur des modèles, qui peuvent être déployées en continu et selon les besoins et qui ne sont pas limitées par les déploiements de type ESB centralisé.
  2. API : des services basés sur des API pour la création d'un écosystème de partenaires, de clients et de développeurs qui permet une utilisation fiable et rentable des services.
  3. Conteneurs : une plateforme pour le développement, la gestion et la mise à l'échelle d'applications connectées et cloud-native. Les conteneurs permettent de développer des artefacts « lean » qui peuvent être déployés individuellement dans le cadre de processus DevOps et mis en cluster pour assurer une haute disponibilité.

Qualifiée d'« intégration agile » par Red Hat, cette approche inclut les intégrations dans les processus de développement des applications, offrant ainsi plus d'agilité et des solutions qui s'adaptent plus facilement. L'intégration agile permet notamment d'utiliser librement la méthode synchrone ou asynchrone, selon les besoins spécifiques de l'application. Apache Kafka est la solution idéale si vous optez pour l'intégration asynchrone orientée événements en complément de l'intégration synchrone et des API, et pour une meilleure prise en charge des microservices et de l'intégration agile. Elle peut jouer un rôle important dans votre initiative visant à rationaliser les processus de développement, stimuler l'innovation, gagner du temps et accélérer la mise sur le marché de vos nouveaux services, fonctions et applications.

La solution Apache Kafka est intégrée à la fois aux pipelines de diffusion de données en continu qui partagent les données entre les systèmes et les applications, et aux systèmes et applications qui consomment ces données. Apache Kafka prend en charge différents cas d'utilisation pour lesquels le débit élevé et l'évolutivité sont essentiels. Cette plateforme permet également de réduire la latence à quelques millisecondes en limitant l'utilisation d'intégrations point à point pour le partage de données dans certaines applications. Les utilisateurs peuvent donc accéder aux données plus rapidement, ce qui est primordial lorsque les données doivent être disponibles en temps réel, par exemple pour l'exploitation informatique et le commerce en ligne.

La solution Apache Kafka peut traiter des millions de points de données par seconde. Elle est donc parfaitement adaptée pour relever les défis liés au Big Data. Toutefois, elle peut également être utile aux entreprises qui, à l'heure actuelle, n'ont pas à gérer des volumes colossaux de données. Dans de nombreux cas d'utilisation liés au traitement des données, tels que l'Internet des objets (IoT) et les réseaux sociaux, les données croissent de façon exponentielle et peuvent rapidement surcharger une application que vous concevez sur la base du volume de données dont vous disposez actuellement. Le traitement des données exige donc de prendre en compte l'évolutivité, autrement dit de prévoir la prolifération accrue des données.

 

Équipes d'exploitation

Le travail des équipes d'exploitation repose sur les données. Elles doivent donc pouvoir y accéder rapidement. C'est là l'unique moyen d'assurer en continu le bon fonctionnement et les performances des sites web, applications et systèmes. Apache Kafka convient pour les fonctions d'exploitation qui reposent sur la collecte de données provenant de sources variées, telles que la surveillance, les alertes et la création de rapports, ainsi que la gestion des journaux et le suivi de l'activité sur les sites web.

Internet des objets

D'après Gartner, l'IoT devrait compter plus de 20 milliards de périphériques d'ici 2020. L'atout premier de l'IoT réside dans les données exploitables générées par cette multitude de capteurs. La plateforme Apache Kafka est conçue comme un système évolutif capable de traiter le volume colossal des données qui seront générées par l'IoT.

Commerce en ligne

Le commerce en ligne est un domaine qui offre de plus en plus de possibilités d'utilisation pour la solution Apache Kafka, car celle-ci permet de traiter les données liées aux clics sur les pages, aux mentions J'aime, aux recherches, aux commandes, aux paniers et aux stocks.

Kubernetes est la plateforme idéale pour Apache Kafka. Elle répond aux besoins des développeurs qui nécessitent une plateforme évolutive pour héberger les applications Kafka.

À l'instar d'Apache Kafka, Kubernetes augmente l'agilité des processus de développement. Cette technologie, sur laquelle reposent les services cloud de Google, est un système Open Source qui gère les applications conteneurisées et élimine de nombreux processus manuels associés aux conteneurs. Kubernetes rationalise le déploiement, la configuration, la gestion et l'utilisation d'Apache Kafka.

En combinant Kafka et Kubernetes, vous bénéficiez à la fois des avantages de Kafka et des atouts de Kubernetes : évolutivité, haute disponibilité, portabilité et facilité de déploiement.

L'évolutivité de Kubernetes est le prolongement logique de Kafka. Avec Kubernetes, vous pouvez faire évoluer les ressources de manière horizontale et verticale grâce à une commande simple ou les mettre à l'échelle automatiquement selon leur utilisation pour tirer le meilleur parti de vos infrastructures de calcul, de réseau et de stockage. Grâce à cette fonctionnalité, Apache Kafka peut partager un pool limité de ressources avec d'autres applications. Apache Kafka bénéficie également de la portabilité de Kubernetes entre les fournisseurs d'infrastructure et les systèmes d'exploitation. Enfin, Kubernetes permet aux clusters Apache Kafka de couvrir les environnements sur site ainsi que les clouds publics, privés et hybrides, et d'utiliser plusieurs systèmes d'exploitation.

Essayez Kafka gratuitement

Accédez à Red Hat OpenShift Streams for Apache Kafka, un service Kafka entièrement hébergé et géré pour les applications basées sur les flux.

Keep reading

Article

L'intégration, qu'est-ce que c'est ?

Vous souhaitez savoir en quoi consiste l'intégration ? Découvrez ce que c'est, comment l'adopter et pourquoi elle est plus efficace avec des solutions Open Source.

Article

Apache Kafka, qu'est-ce que c'est ?

Apache Kafka est une plateforme distribuée de diffusion de données en continu, capable de publier des flux d'enregistrement en temps réel, de les stocker, de les traiter et d'y souscrire.

Article

Une API, qu'est-ce que c'est ?

Une API, ou interface de programmation d'application, est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications.

En savoir plus sur l'intégration

Produits

Red Hat Integration

Ensemble complet de technologies d'intégration et de messagerie.

Red Hat Runtimes

Un ensemble de produits, d'outils et de composants qui facilitent le développement et la maintenance des applications cloud-native.

Red Hat Process Automation

Un ensemble de produits pour automatiser les décisions et processus métiers de manière intelligente. Comprend Red Hat Decision Manager, Red Hat Process Automation Manager et Red Hat Runtimes.

Red Hat Cloud Services

Services gérés et hébergés de plateforme, d'applications et de données qui rationalisent l'expérience dans le cloud hybride, réduisant ainsi les coûts d'exploitation et la complexité liés à la distribution des applications cloud-native.

Ressources

Formations

Cours gratuit

L'intégration agile avec Red Hat : présentation technique

Illustration - mail

Ce type de contenu vous intéresse ?

Inscrivez-vous à notre newsletter Red Hat Shares.