Encore un autre "nouveau" venu :-) Bienvenue à Azure Stream Analytics !

Au fil du temps, les perceptions de l'industrie ont changé par le biais d’un meilleur usage des données et avec cette transformation digitale, Microsoft en a fait de même afin de fournir des solutions d'analyse de données toujours plus simples d’appréhension et rentables au regard de l’investissement demandé. Aujourd'hui, de nombreux processus s’exécutent sur Internet où des tonnes de données d'évènement sont générés à un rythme soutenu et sont ainsi disponibles (potentiellement) aux entreprises.

Les entreprises qui sont capables de traiter et de prendre des décisions en temps réel sur cette base sont plus flexibles et donc plus à même de se différencier sur leur marché et de “tirer leur épingle du jeu”. L’analyse en temps réel procure un avantage dans tous les secteurs qu’il s’agisse de l’analyse du cours d’une action pour le trading, d’alertes sur les risques financiers, de la détection de fraudes, de la protection des données, de l’analyse de données émises par des capteurs ou encore de flux de données provenant de sites web.

Il s’avère donc très important pour ne pas dire clé de pouvoir exploiter en temps réel de telles données au fil de l’eau, et pas juste en se contenter d’interroger seulement des données au repos dans une table de base de données. Evoluant dans un environnement hautement compétitif, les entreprises cherchent la solution leur permettant de réaliser ces analyses en temps réel de manière flexible, sûre et à faible coût.

Traditionnellement, si un service informatique se lance dans l’implémentation d’une telle solution, il faut généralement repartir de zéro. La séquence typique commence par l'achat de matériels dédiés, l’installation dudit matériel et des logiciels envisagés dans le contexte, la conception du code nécessaire, son déploiement, son test, sans oublier le contrôle et le suivi de la solution. Même la fonctionnalité SQL Server StreamInsight  impose un cycle de vie de solution similaire.  (Pour mémoire, SQL Server StreamInsight est une technologie de traitement d’évènements complexes (CEP) qui permet de créer des applications pilotées par des évènements et de mieux dériver des idées en corrélant des flux d'évènements à partir de plusieurs sources avec un niveau de latence quasi nul.)

Par ailleurs, concevoir le code et la solution au final n’est pas chose aisée. La solution doit non seulement se montrer efficace au final vis-à-vis l’analyse et de ses résultats attendus mais également être résistante aux pannes. On comprend alors que les couts de mise en œuvre et de maintenance de ce genre de solutions augmentent rapidement. Les grandes entreprises se sont résignées à subir ces couts importants pour construire leurs propres solutions mais les petites, elles, passent souvent à côté de cette opportunité car elles ne peuvent suivre.

Par contraste, Azure Stream Analytics vous permet de concevoir une solution en quelques minutes. Oui, en quelques minutes et ce sans se soucier de l'achat de nouveau(x) matériel(s), payer pour le développement de solution, leur déploiement et leur supervision.

Stream Analytics est un service de calcul de flux en temps réel entièrement géré dans le Cloud permettant de traiter des évènements complexes (CEP) évolutifs de données de diffusion avec une latence faible, une haute disponibilité et de façon évolutive. Une vidéo d’introduction est disponible ici.

Annoncé sous forme de version préliminaire publique le 29 octobre 2014 dernier lors de la conférence Microsoft TechEd Europe 2014, ce service de traitement et d’analyse de flux de données s est désormais en disponibilité générale depuis le 16 avril 2015 dernier.

image

Pensez à la façon dont vous vous y prendriez pour compter toutes les voitures rouges dans une aire de stationnement avec une requête SQL ou le comptage de mots (word count) de Map/Reduce. Considérons maintenant le scénario de diffusion en continu équivalent. Comment est-ce que vous compteriez toutes les voitures rouges passant devant un point particulier sur la route et ce dans un délai de 1 minute.

Grâce à Azure Stream Analytics, les développeurs peuvent facilement combiner des flux de données avec des enregistrements d'historiques ou référencer des données pour dégager des perspectives rapidement, en toute simplicité.

Azure Stream Analytics dispose d’un modèle simple de déclaration de requêtes pour décrire les traitements à effectuer. Le langage de requête est proche du SQL et une gamme d’opérateurs allant de simples filtres à des corrélations complexes et des agrégations est fournie. La définition d'opérations fenêtrées basées sur le temps telles que les agrégats fenêtrés, la corrélation de plusieurs flux pour détecter des modèles (comme des séquences) ou la comparaison de conditions actives par rapport à un historique de valeurs et de modèles, peut s'effectuer en quelques minutes à l'aide de l'ensemble accessible des opérateurs de langage de requêtes SQL d’Azure Stream Analytics. Le langage proposé étend ainsi de manière intuitive la sémantique de SQL mais reste néanmoins dans ses limites syntaxiques. Il s’agit encore une fois de faciliter l’utilisation de ce nouvel outil.

En termes de flux de données, Stream Analytics propose une intégration immédiate au concentrateur d'évènements Azure (Event Hub) afin de pouvoir ingérer des millions d'évènements par seconde. Ensemble, les concentrateurs d'évènements Azure et Azure Stream Analytics vous permettent de traiter de gros volumes de données issues de capteurs, d'appareils, d'applications, etc. et de prendre des décisions en temps réel.

La plage d'entrée et de sortie des interfaces du concentrateur d'évènements Azure facilite l'intégration d'Azure Stream Analytics à d'autres sources de données et moteurs de traitement sans dénaturer la capacité de diffusion des calculs.

Ceci apporte une souplesse certaine à Stream Analytics pour pouvoir prendre en charge de multiples scénarios d’analyse en (quasi-)temps réel ceux liées au scénarios de l'Internet des objets (IoT). Il suffit de regarder un instant le monde qui nous entoure ou de reprendre encore les illustrations proposées par la session plénière J3 Vers une technologie invisible et une intelligence omniprésente ? lors des Microsoft TechDays 2015 pour se convaincre de l’intérêt : les appareils et objets deviennent de plus en plus intelligents et aptes à communiquer leur état, des valeurs représentant avec leur environnement leur statut et au-delà. A ce propos, nous en profitons pour rappeler l’annonce faite en mars dernier lors de l’évènement Microsoft Convergence 2015 de la suite IoT de Microsoft qui viendra compléter la suite IoT Azure d’ores et déjà disponible et dont fait partie Azure Stream Analytics, au même titre que le concentrateur d’évènements Azure ou encore Azure HDInsight, DocumentDB, Microsoft Power BI dont nous sommes appelés à parler sur ce blog.

Azure Stream Analytics réalise les transformations et autres traitements par le biais de jobs. Azure Stream Analytics se connecte par ailleurs également directement en termes de stockage à la base de données SQL Azure, aux blobs d’Azure de façon à accéder notamment aux données d'historique. Vous pouvez écrire des données à partir de Stream Analytics vers le stockage Azure, où elles peuvent ensuite être traitées à nouveau comme une série d'évènements ou utilisées dans d'autres formats d'analyse par lots à l'aide d'Azure HDInsight, objet de nombreux billets dans ce blog.

Azure Stream Analytics tire parti des années de travail de l'équipe Microsoft Research dans le développement de moteurs de diffusion hautement optimisés pour le traitement urgent, ainsi que dans les intégrations de langages pour de telles spécifications. Azure Stream Analytics tire parti de la communauté open source de Hadoop, YARN et REEF pour le traitement de la mise à l'échelle.

Les sorties d’Azure Stream Analytics peuvent également être passées à un autre concentrateur d’évènements Azure. Elles peuvent enfin être utilisées à des fins de présentations. Le webcast de la session Gaining Real-Time IoT Insights using Azure Stream Analytics, AzureML and PowerBIjouée lors de l’évènement Build 2015 fin avril dernier met « en musique » Azure Stream Analytics pour vous donner un aperçu du champ des possibles.

image

Pour plus d’informations sur Azure Stream Analytics, vous pouvez consultez la Présentation d'Azure Stream Analytics ainsi que la Documentation d'Azure Stream Analytics disponible sur le site Microsoft Azure.

La Prise en main d'Azure Stream Analytics vous propose par ailleurs un didacticiel qui va vous expliquer comment utiliser des données de température en lisant des données à partir d'un concentrateur d'évènements Azure avant de traiter les données provenant des résultats d'une base de données SQL Azure. Vous ne disposez pas encore d’un abonnement Azure. Qu’à cela ne tienne, cliquez ici pour un environnement d’évaluation gratuit d’Azure.

image

Nous vous invitons également à aller lire ou relire les billets publiés sur le Blog MSDN Azure Stream Analytics. N’oubliez pas non plus le Forum MSDN Azure Stream Analytics qui est là pour faciliter la création d’une communauté d’échanges sur le sujet.

Enfin, pour vous mettre le « pied à l’étrier » au-delà du didacticiel précédent, nous vous recommandons de considérer le projet open source ConnectTheDots.io développé par Microsoft Open Technologies et disponible sur la forge communautaire GitHub. Ce projet a enfin été initié pour vous aider à connecter rapidement de petits appareils et capteurs (Raspberry PI, Intel Galileo, etc.) à l’environnement Microsoft Azure et à mettre en œuvre de belles solutions d'IoT tirant parti bien sûr d’Azure Stream Analytics, objet de ce billet, mais aussi, - vous vous en doutez compte tenu de ce qui précède – du connecteur d’évènements Azure, d’Azure HDInsight mais aussi d’Azure Machine Learning.

Comme cela a été démontré lors des derniers Microsoft TechDays 2015, le Centre de l'accélérateur linéaire de Stanford ou SLAC (Stanford Linear Accelerator Center) met à profit ce projet ConnectTheDots.io dans un pilote des services de la suite IoT Azure mentionné précédemment. Ce pilote conduit avec Microsoft Open Technologies illustre le suivi et le contrôle prédictifs d'un des systèmes de refroidissement de l’accélérateur de particules du SLAC.