Introduction - Solutions de données de streaming sur AWS avec Amazon Kinesis

Introduction

Aujourd'hui, les entreprises reçoivent des données à une échelle et à une vitesse considérables en raison de la croissance explosive des sources de données qui génèrent des flux continus. Qu'il s'agisse de données de journaux provenant de serveurs d'applications, de données de parcours de navigation provenant de sites Web et d'applications mobiles ou de données de télémétrie provenant d'appareils connectés à l'Internet des objets (IoT), elles contiennent toutes des informations qui peuvent vous aider à savoir ce que font vos clients, vos applications et vos produits en ce moment même.

Avoir la capacité de traiter et d'analyser ces données en temps réel est essentiel pour effectuer des tâches telles que la surveillance continue de vos applications. Cela vous permet d'assurer une disponibilité élevée du service et de personnaliser les offres promotionnelles et les recommandations de produits. Le traitement en temps réel et quasi réel peut également rendre d'autres cas d'utilisation courants (tels que l'analyse de sites Web et le Machine Learning) plus précis et exploitables en mettant les données à la disposition de ces applications en quelques secondes ou quelques minutes au lieu de plusieurs heures ou plusieurs jours.

Scénarios d'application en temps réel et quasi réel

Vous pouvez utiliser les services de données de streaming pour des applications en temps réel et quasi réel, notamment la surveillance des applications, la détection des fraudes et les classements dynamiques. Les cas d'utilisation en temps réel nécessitent des temps de latence de bout en bout de l'ordre de quelques millisecondes, depuis l'ingestion jusqu'au traitement en passant par l'émission des résultats vers les magasins de données cibles et d'autres systèmes. Par exemple, Netflix utilise Amazon Kinesis Data Streams pour surveiller les communications entre chacune de ses applications, afin de détecter et de corriger rapidement les problèmes et d'offrir une disponibilité d'exception à ses clients. Bien que le cas d'utilisation le plus courant soit la surveillance des performances des applications, un nombre croissant d'applications en temps réel dans les domaines de la technologie publicitaire, des jeux et de l'IoT entrent dans cette catégorie.

Les cas d'utilisation courants en temps quasi réel comprennent l'analyse des magasins de données pour la science des données et le Machine Learning (ML). Vous pouvez utiliser des solutions de données de streaming pour charger en continu des données en temps réel dans vos lacs de données. Vous pouvez ensuite mettre à jour plus fréquemment les modèles de Machine Learning à mesure que de nouvelles données sont disponibles, pour des résultats plus fiables et plus précis. Par exemple, Zillow utilise Kinesis Data Streams pour collecter les données d'enregistrement public et de multiples listes de services d'annonces (MLS), puis fournir aux acheteurs et aux vendeurs de maisons les estimations les plus récentes de la valeur des maisons en temps quasi réel. ZipRecruiter utilise Amazon MSK pour ses pipelines de consignations d'événements. Ce sont des composants essentiels de l'infrastructure qui collectent, stockent et traitent en permanence plus de 6 milliards d'événements par jour depuis le site d'emplois ZipRecruiter.

Différence entre traitement par lots et en streaming

Pour collecter, préparer et traiter des données de streaming en temps réel, vous avez besoin d'un ensemble d'outils différents de ceux que vous utilisez traditionnellement pour l'analyse par lots. Avec l'analytique traditionnelle, vous collectez les données, les chargez périodiquement dans une base de données pour les analyser des heures, des jours ou des semaines plus tard. L'analyse des données en temps réel nécessite une approche différente. Les applications de traitement en streaming traitent les données en continu et en temps réel, avant même qu'elles ne soient stockées. Les données de streaming peuvent arriver à un rythme effréné et les volumes de données peuvent varier à la hausse ou à la baisse à tout moment. Les plateformes de traitement des données de streaming doivent être capables de gérer la vitesse et la variabilité des données entrantes et de les traiter au fur et à mesure qu'elles arrivent, souvent par millions voire centaines de millions d'événements par heure.