Choisir une technologie de traitement de streaming et d’analytique en temps réel sur Azure

Plusieurs services sont disponibles pour le traitement du streaming et l’analytique en temps réel sur Azure. Cet article fournit les informations nécessaires pour déterminer la technologie la mieux adaptée à votre application.

Quand utiliser Azure Stream Analytics

Azure Stream Analytics est le service recommandé pour l’analytique de flux sur Azure. Vous pouvez l’utiliser pour un large éventail de scénarios, notamment les suivants :

L’ajout d’un travail Azure Stream Analytics à votre application est le moyen le plus rapide d’obtenir une analytique du streaming opérationnelle, en utilisant le langage SQL que vous connaissez déjà. Azure Stream Analytics est un service de travaux. Vous n’êtes donc pas obligé de passer votre temps à gérer des clusters, et les temps d’arrêt ne sont pas un problème grâce au Contrat de niveau de service (SLA) qui propose une disponibilité de 99,9 % des travaux. La facturation est également effectuée au niveau du travail, ce qui offre des coûts de démarrage peu élevés (une seule unité de streaming), mais évolutifs (jusqu’à 396 unités de streaming). Il est beaucoup plus économique d’exécuter quelques travaux Stream Analytics que d’exécuter et de maintenir un cluster.

Azure Stream Analytics fournit une riche expérience prête à l’emploi. Vous pouvez immédiatement tirer parti des fonctionnalités suivantes sans aucune configuration supplémentaire :

  • Opérateurs temporels intégrés, tels que des agrégations fenêtrées, des jointures temporelles et des fonctions analytiques temporelles.
  • Adaptateurs Azure natifs d’entrée et de sortie.
  • Prise en charge de la modification lente des données de référence (également appelées tables de choix), notamment la jonction avec des données de référence géospatiales pour le geofencing.
  • Des solutions intégrées, telles que Détection d’anomalies.
  • Plusieurs fenêtres de temps dans la même requête.
  • Possibilité de composer plusieurs opérateurs temporels dans des séquences arbitraires.
  • Latence de bout en bout inférieure à 100 ms à partir de l’entrée arrivant à Event Hubs, à la sortie dans Event Hubs, notamment le délai réseau depuis et vers Event Hubs, à haut débit soutenu.

Quand utiliser d’autres technologies

Vous voulez écrire des fonctions définies par l’utilisateur, des agrégats définis par l’utilisateur et des désérialiseurs personnalisés dans un langage autre que JavaScript ou C#

Azure Stream Analytics prend en charge les fonctions définies par l’utilisateur ou les agrégats définis par l’utilisateur en JavaScript pour les travaux cloud et en C# pour les travaux IoT Edge. Les désérialiseurs C# définis par l’utilisateur sont également pris en charge. Si vous souhaitez implémenter un désérialiseur, une fonction définie par l’utilisateur ou un agrégat défini par l’utilisateur dans d’autres langages, tels que Java ou Python, vous pouvez utiliser Spark Structured Streaming. Vous pouvez également exécuter le EventProcessorHost Event Hubs sur vos propres machines virtuelles pour le traitement arbitraire du streaming.

Votre solution se situe dans un environnement local ou multicloud

Azure Stream Analytics est une technologie propriétaire de Microsoft et est uniquement disponible sur Azure. Si vous avez besoin que votre solution soit portable sur les clouds ou localement, envisagez des technologies open source telles que Structured Streaming Spark ou Apache Flink.

Étapes suivantes