29.03.19

Blog

Microsoft intronise son data warehouse as a service

  • #Architecture On Premise
  • #Cloud
  • #DWaaS
  • #Microsoft Azure
  • #Data warehouse

Article publié par Bertrand David-Renotte, Tech Leader Microsoft chez Keyrus

Avec l’avènement du Cloud il est devenu courant de challenger nos infrastructures existantes ou prévues, pour les porter sur des services managés online. Lorsque le changement opère, il est fréquemment observé un réel succès, tant en termes de coûts, de réactivité, que d’évolutivité. Dans les solutions basculées dans le Cloud, on retrouve tous types de services (IaaS, PaaS ou SaaS) dont la notion de « data warehouse ». C’est sur ce point que nous allons nous attarder, et plus particulièrement sur les notions de « dans » le Cloud et de « services ». En effet, qu’entend-on précisément par « data warehouse dans le Cloud » ? S’agit-il de transposer le pendant d’une architecture On-Premise vers le Cloud, ou de bénéficier d’un réel service managé ?

Les composantes clés d’un data warehouse

En dehors de l’utilisation qui est faite classiquement d’un data warehouse, les challenges auxquels sont régulièrement confrontés les administrateurs de tels systèmes sont en premier lieu portés sur des aspects de performance et de scalabilité. La performance peut s’optimiser d’un point de vue software et hardware, la scalabilité en agissant sur le hardware. Sur des architectures On-Premise les administrateurs ont la main sur le hardware et peuvent en fonction du besoin le faire évoluer. Quid des possibilités lorsqu’on est dans le Cloud ?

Il existe un large panorama d’offres Cloud permettant d’adresser les besoins en termes de data warehouse dans le Cloud. Portons notre attention sur la solution Azure SQL Data Warehouse, et plus particulièrement sur ce qu’elle a à offrir concernant les points précédemment cités (dont notamment la scalabilité).

Azure SQL Data Warehouse propose ce que l’on appelle un scale-out ou scale-back à chaud. Cela signifie qu’il est possible d’effectuer une mise à l’échelle de la puissance de calcul, sans interruption de services, ni besoin de redistribuer ou recalculer la donnée. La mise à l’échelle s’effectue en jouant sur le nombre de DWU (Data Warehouse Units) paramétrés au niveau du service sur le portail Azure. Comme nous allons le voir, cette souplesse de gestion est rendue possible par le simple fait que le stockage est décorrélé du calcul. Lorsqu’une mise à l’échelle est effectuée, le stockage est détaché des nœuds de calculs, puis des nœuds sont ajoutés (ou enlevés), et enfin le stockage est réassocié au calcul. Nativement, un entrepôt Azure SQL Data Warehouse comporte 60 distributions, qui sont dispatchées invariablement sur les nœuds de calculs. Suivant le nombre de nœuds présents, chaque nœud a plus ou moins de charge de travail et donc de capacité de calcul.

Manipulation de la solution Azure SQL Data Warehouse

Une fois authentifié, cliquez sur « SQL data warehouse » dans le volet d’exploration des services disponibles, puis sélectionnez le data warehouse souhaité. Dans le menu supérieur de l’« Overview » (« Vue d’ensemble » en français) cliquez sur « Scale » (« Mettre à l’échelle ») :

Dans la partie basse de la nouvelle fenêtre qui apparaît à l’écran se trouve une réglette permettant de jouer sur le nombre de DWU configurés pour le data warehouse. Ajustez en fonction du besoin puis cliquez sur « Save » (« Sauvegarder ») :

Une fenêtre de confirmation s’affichera. Validez l’opération :

Pendant que la mise à l’échelle s’effectue, la réglette d’ajustement est désactivée :

Cette fonctionnalité qui permet de jouer sur la puissance de calcul est extrêmement intéressante. En effet, dans un contexte On-Premise, la configuration de la puissance du data warehouse serait effectuée en se basant sur les projections maximum en besoin de calcul. Même si ce besoin représentant un pic ne peut se produire que sporadiquement. Le data warehouse On-Premise monopolise ainsi un budget important, même si la charge n’est pas linéaire. Avec une solution Cloud et Azure SQL Data Warehouse, il est tout à fait envisageable d’automatiser l’attribution des ressources en fonction des besoins et/ou d’un calendrier de répartition de la charge, rendant la solution beaucoup plus rentable en matière de coûts.

Ce que nous venons de démontrer concernant les capacités de calcul est tout aussi vrai concernant le stockage, qui peut être impacté en fonction du nécessaire. Ainsi, il est possible de faire évoluer la configuration de notre data warehouse Azure, aussi bien sur le plan du calcul, que du stockage, et indépendamment l’un de l’autre. Ce qui On-Premise n’aurait pas été possible, puisque généralement le calcul vient avec le stockage.

A partir de ce que nous venons de décrire, Azure SQL Data Warehouse apparaît clairement comme un data warehouse as a service, service managé, et non comme une transposition Cloud d’une architecture On-Premise.