Accueil Cloud computing Expertise Neoxia – La mise en place d’un projet data avec Microsoft...

Expertise Neoxia – La mise en place d’un projet data avec Microsoft Azure

Mehdi Hadria, Neoxia

Mehdi Hadria, consultant Data Engineer / Data OPS chez Neoxia, propose aux lecteurs de Solutions Numériques un tour d’horizon des possibilités offertes par la suite d’outils big data de Microsoft, en passant par les 5 grandes étapes qui structurent la vie d’un projet data.

Arrivé sur le marché du big data après les solutions Amazon Web Services, la plateforme Azure de Microsoft pâtit encore d’un déficit de notoriété. Cependant, en termes de périmètre d’intervention et de performances, Azure s’est largement rattrapé et a depuis été la première solution à faire du transfer learning en data science (réutiliser un modèle pré-entraîné comme point de départ pour une autre tâche similaire). Microsoft Azure est désormais une solution très complète, qui permet de gérer un projet data de bout en bout. 

L’injection de données, première étape
Elle consiste à récupérer la matière première que constitue la data depuis une variété de sources et à l’organiser pour rendre son traitement possible. Il existe plusieurs modes d’ingestion : en temps réel, en batch ou une fusion des deux, qu’on appelle l’architecture lambda. Azure permet de connecter jusqu’à 80 sources de données, qu’elles soient locales ou dans le Cloud, y compris depuis des plateformes autres qu’Azure. L’offre se décompose en trois outils :

– L’orchestrateur de la suite appelé Azure Data Factory, qui permet de construire des data pipelines ;

– Deux outils créés pour l’ingestion des données en temps réel : Azure IoT Hub, destiné aux objets connectés, et Azure Event Hubs, axé sur la gestion d’événements en temps réel.

L’ensemble de ces services sont gérés par Microsoft, leur création se fait en quelques instants et ils sont pleinement exploitables en temps réel, sans avoir à mettre en place un cluster. La disponibilité des données est aussi garantie à 99,99 %.

Une fois les données injectées, filtrées et triées, il faut les stocker

La masse peut être considérable et, en fonction des enjeux, plusieurs services coexistent. Parmi les critères dans le choix des outils, on trouve évidemment la volumétrie et la quantité de données concernées, mais aussi la fréquence d’accès, soutenue (hot storage) ou plus rare (cold storage). Le type de données à stocker entre également en ligne de compte, qu’il s’agisse de textes, graphiques, clés-valeurs, colonnes… Enfin, le mode d’accès (lecture ou écriture) et la finalité d’exploitation constituent les derniers critères fondamentaux dans le choix des solutions parmi la multitude que propose Azure : Azure Cosmos DB, Azure Blob Storage, Azure File Storage ou encore Azure SQL Data Warehouse. Ce dernier outil, par exemple, allie scalabilité et haute performance en permettant de séparer le stockage de l’exécution et ainsi d’arrêter le service lorsqu’il n’est pas utilisé. Cela représente des économies qui ne sont pas négligeables à ce niveau.

L’exploration des données marque le début de leur mise en valeur, c’est donc une étape-clé

Là aussi, Azure a développé un outil performant, le Data Catalog. Sa gestion très intégrée côté Microsoft et l’interface facilitée avec les autres outils de la suite libère les Data Analysts des questions techniques pour se concentrer sur les problèmes métiers. En effet, le catalogue permet d’exposer clairement les données existantes avec des tags et ainsi de visualiser les ressources existantes pour s’interroger sur les questions de fond qui ont de la valeur pour le client : dispose-t-on des bonnes données ? Comment les comprendre ?

Le traitement des données comporte des éléments des deux technologies les plus utilisées, Hadoop et Spark

Azure arrive avec plusieurs offres reposant sur chacune de ces technologies. D’une part, Azure Databricks est basé sur Spark et permet un accès rapide au traitement massif de données. D’autre part, Azure Hdinsight qui est lui basé sur Hadoop, et qui permet de traiter les données de façon distribuée pour mener des calculs complexes en quelques minutes au lieu de plusieurs heures. Le choix se fait donc en fonction de la complexité de l’opération, de la performance attendue, de la richesse de la stack et, globalement, d’un contexte de projet qui peut faire intervenir d’autres critères. Quoi qu’il en soit, les deux outils sont facilement connectables avec les autres services. 

L’analyse, le machine learning, et la data visualisation constituent le coeur de la valeur d’un projet data

Les autres étapes ont servi à préparer celle-ci, afin de tirer parti de la ressource que représente la donnée. Azure Notebooks est ainsi un service d’analytics performant qui permet par exemple l’import de notebooks Jupyter, une application désormais très répandue en analyse de données et qui gère 40 langages de programmation. Mais la puissance d’Azure réside aussi dans son Machine Learning Studio, une solution simple d’utilisation – qui fonctionne quasiment en drag & drop – pour créer des algorithmes de prédiction. Avec cet outil, l’analyste va pouvoir préparer, entraîner, tester, gérer des données, et les déployer en tant que services web. Au niveau de la visualisation des données, Microsoft Azure propose Power BI Service, un outil très puissant pour croiser vos différentes sources de données, qu’elles soient sur le Cloud ou on-premise grâce à un grand nombre de connecteurs, et de créer des tableaux de bord interactifs. De plus, Azure enrichit son offre avec Power BI Embedded qui permet d’intégrer facilement les tableaux de bord dans des applications web au lieu de les exposer uniquement sur la plateforme Azure.

Plusieurs services transverses sont inclus

Qu’il s’agisse de la sécurité et la gestion des accès aux différents services et ressources de la plateforme Azure grâce à Azure Active Directory, qui est nativement connecté aux autres outils de messagerie et de collaboration de Microsoft  (Outlook, Skype, Microsoft Teams…), de la sécurité des informations de connexion et d’authentification  avec Azure Key  Vault, ou des aspects de DevOps et de monitoring, par exemple avec le service de conteneurs Azure Kubernetes Services pour un déploiement facile et simple des clusters Kubernetes.
En résumé, les apports essentiels d’Azure sont l’absence de complexité à la mise en place, les faibles contraintes de maintenance et de monitoring, et donc la réduction drastique des coûts d’entretien. Il reste toutefois des pistes d’amélioration pour faire d’Azure une plateforme incontournable dans l’univers de la data. Il faudrait par exemple autoriser plus de technologies de connecteurs, aujourd’hui limitées à 80. La position d’Azure en tant que challenger sur le marché pousse également Microsoft à des changements très fréquents dans ses solutions, et parfois à l’abandon de certains services, au détriment de la continuité et de la stabilité des architectures. Il est toutefois possible, dès aujourd’hui, de quasiment tout faire actuellement avec Azure… à condition de travailler avec des experts. En effet, énormément de services sont proposés et il est facile de s’y perdre.