Mise en place d’une machine virtuelle dédiée à l’analyse de données – 1ère partie

Cela fait un petit moment que le blog n'avait pas connu de nouveaux billets. Il est donc plus que temps de reprendre en main le clavier !

Dans un monde où les entreprises accumulent toujours plus d'informations sur leur(s) domaine(s) d'activité(s), l'informatique moderne a évolué afin de mettre en place des outils facilitant l'exploration, l'analyse et l'utilisation de cette masse de données hétérogènes.

Parmi les tâches les plus courantes, on retrouve notamment :

  • La génération de tableaux de suivi des indicateurs de performances clés (KPI),
  • L'exploration de données dans le but de trouver des corrélations,
  • L'ingénierie des données,
  • Le Machine Learning.

Afin de travailler avec ces données, il est rare de pouvoir se contenter d'un seul outil ; ce qui peut vite devenir un réel casse-tête à déployer et maintenir.

C'est pourquoi nous allons aujourd'hui nous intéresser au travers de ce billet à la machine virtuelle « Data Science VM » mise à disposition par Microsoft sur le magasin en ligne Azure Marketplace. Vous pouvez consulter à ce propos le billet Announcing the Availability of the Microsoft Data Science Virtual Machine.

Au-delà de son déploiement, nous vous proposons un tour d'horizon des capacités ainsi mises à disposition avec quelques illustrations de mise en œuvre.

Mise en place de la machine virtuelle dans Azure

Prérequis

Lors du déploiement de toute solution hébergée par Microsoft Azure, il est impératif de posséder un abonnement. Si vous possédez déjà un abonnement Azure, vous pouvez vous rendre directement à la prochaine section.

Pour créer votre abonnement Azure deux solutions s'offre à vous :

Création de la machine virtuelle

Pour démarrer, rendez-vous sur ce lien, correspondant à la page de description de la machine virtuelle sous Windows Server 2012 R2.

Vous devriez arriver sur une page telle que celle-ci :

Figure 1 : Page de présentation de la machine virtuelle

Cliquez sur Créer.

Il vous suffira ensuite de suivre les étapes de configuration d'Azure :

  • De base. La configuration des paramètres de base comprend les éléments suivants :
    • Le nom de la VM,
    • Le nom d'utilisateur,
    • Le mot de passe associé pour l'utilisateur,
    • L'abonnement que vous souhaitez utiliser,
    • Le groupe de ressources, si vous souhaitez constituer des entités regroupant plusieurs services Microsoft Azure,
    • L'emplacement où sera héberger votre VM (Europe du Nord ou Occidentale fournissent des latences très faibles).
  • Taille. En termes de dimensionnement de la machine, vous pouvez choisir entre :
    • A3 : 4 cœurs / 7Go de ram pour un jeu de données de faible/moyenne importance
    • A4 : 8 cœurs / 14Go de ram pour un jeu de données de moyenne importance
    • A7 : 8 cœurs / 56Go de ram pour un jeu de données important

Vous pouvez avoir accès à d'autres types d'instances via le menu Afficher tout.

  • Paramètres. Cette étape permet de préciser notamment la configuration du stockage permanent de la machine. Si vous ne possédez pas de groupe de stockage, il vous est possible d'en créer un simplement. Le premier choix est suffisant : Localement redondant.

  • Récapitulatif. Cette étape liste le récapitulatif de la configuration de l'instance.

  • Acheter. Le détail des coûts associés à l'instance est listé.

Si la proposition vous agrée, cliquer sur Acheter. Vous devriez être en mesure de voir l'avancement du déploiement de votre machine :

Le déploiement prend une dizaine de minutes pour être effectif. Une fois celui-ci correctement exécuté, vous devriez voir une petite notification apparaitre.

Version Linux de la machine virtuelle

Il est à noter qu'une version Linux de cette même machine virtuelle existe. Cette dernière est disponible ici.

Cette machine virtuelle est basée sur une version de CentOS 7.2 (OpenLogic), et embarque, tous les outils nécessaires, de manière semblable à ceux proposés par son alter égo exécutant Windows Server 2012 R2.

Cependant, il convient de noter quelques différences dans les applications fournies :

  • PostgreSQL Database. En remplacement de Microsoft SQL Server.
  • Squirrel. Interface de visualisation de bases de données.
  • Eclipse. En remplacement de Microsoft Visual Studio.

Enfin, concernant cette image, sachez qu'il n'est pas possible de faire du bureau à distance classique (RDP) sur cette VM. Afin d'obtenir un accès graphique, l'image embarque X2Go Server, outil qui vous permet de d'accéder à l'environnement graphique de la machine via SSH.

Pour ce faire, vous devrez installer X2Go Client disponible ici. Pour vous connectez, rien de plus simple. Démarrer une nouvelle session via New Session et saisissez les informations suivantes :

  • Host. Adresse IP de votre machine virtuelle, ou son nom d'hôte.
  • Login. Nom d'utilisateur que vous avez configuré. 
  • SSH Port. Par défaut 22.
  • Session Type. Indiquez XFCE (Il s'agit du seul type de bureau supporté actuellement).
  • Media Tab. Si vous n'utilisez pas le son et/ou le support d'une imprimante, désactivez-le.
  • Shared Folders. Possibilité d'ajouter des dossiers de votre machine local en accès distant sur la machine virtuelle.

A titre de complément, vous pouvez consulter le billet Announcing the Availability of the Linux Data Science Virtual Machine.

Utilisation de la machine virtuelle

Maintenant que notre machine est opérationnelle – nous illustrons la machine virtuelle sous Windows Server 2012 R2 mais la version Linux est en tout point similaire aux différences précédentes près -, vous devriez la voir déployée dans votre interface de gestion Azure (En naviguant dans le groupe de ressources auquel vous l'avez affecté lors de l'étape précédente).

En cliquant maintenant sur l'icône de la machine virtuelle DataScienceVM, vous êtes en mesure d'accéder au Bureau à Distance de celle-ci via les informations de connexion que vous avez spécifié à l'étape précédente.

Cliquer sur Connecter pour cela.

Vous devriez obtenir un bureau semblable à celui-ci :

Tour d'horizon des outils disponibles

Comme annoncé au début de ce billet, la machine virtuelle dispose d'une large palette d'outils permettant d'effectuer une multitude de tâches, des plus simples aux plus complexes.

Voici quelques-uns des outils préinstallés sur la machine :

Il est à noter également que la machine virtuelle embarque le récent outil de Deep Learning de Microsoft, à savoir CNTK (Computational Network Toolkit) disponible sur le repo/la forge communautaire GitHub.

Cet outil se présente sous la forme d'une commande, et vous permet de modéliser et d'entrainer des réseaux de neurones de manière parallèle, et éventuellement, distribuée sur plusieurs machines. Nous aurons l'occasion prochainement de lui consacrer une petite série de billets ;-) Stay tuned… Dans l'intervalle, vous pouvez consulter les billets Microsoft Releases Open Source Deep Learning Toolkit on GitHub et Microsoft releases CNTK, its open source deep learning toolkit, on GitHub.

(À tout moment vous avez la possibilité d'installer de nouveaux logiciels via Microsoft Web Platform et/ou en les téléchargeant directement sur le site de l'éditeur. )

Ceci conclut notre première partie. Une seconde partie de ce billet s'intéressera à une illustration de mise en œuvre des fonctionnalités ainsi offertes au travers de cette VM prête à l'usage.