Microsoft a sorti depuis peu un nouveau service nommé Stream Analytics. Ce service permet de se connecter à un stream d’évènement pour en faire de l’analyse en temps réel.
Un flux de donnée est analysé et il est alors possible de faire des agrégations d’informations sur ce flux de données. Pour ceux qui connaissait, c’est en gros la version SaaS hébergé dans Azure de l’outil StreamInsight de Microsoft.
Désormais, les applications web, les APIs ainsi que les outils connectés remontent ont besoins de remonter de nombreuses informations statistiques sur leurs états de santé (pour les objets) ou leurs utilisations (pour les API par exemple). Tout ses évènements ont besoin d’être rassemblés et ensuite analysés.
C’est le but des outils Azure Event Hub pour la collecte des évènements de vos applications et Stream Analytics pour l’analyse de vos données.
Dans les prochains billets , nous allons voir comment mettre en place une architecture pour :
- visualiser les statistiques d’utilisation d’une API ,
- créer des statistiques regroupés par tranche horaire
- émettre des alertes lorsqu’un seuil de consultation est atteint.
Voici le schéma d’architecture globale de la solution :
Nous aurons besoin pour cela de :
-
Un site Web Azure pour hébergé les Api
-
Un middleware (owin) qui va intercepter les appels et généré les évènements
-
Un espace de nom Service Bus avec le hub d’évènements qui va récupéré nos métriques
-
Un Blob avec les données de références (correspondances entre ID et nom)
-
Un compte Azure Stream Analytics avec les jobs suivants :
-
Job PassThrough : pour récupérer tout les évènements et les stockées en bases
-
Job Per Min : pour aggréger les statistiques d’appels par Api
-
Job Throttle : pour générer une alerte si un seuil d’appel est dépassé
D’ici la, voici quelques liens pour la lecture :
Pingback: Azure Event Hub & Stream Analytics–Part 1 : publier des évènements | Jérémie – an other BizTalker