Microsoft

Tour d’horizon de l’univers étendu de la Data chez Microsoft (et du prochain SQL Server vNext)

LeMagIT a profité de la venue de Rohan Kumar à Paris pour faire un point complet avec le General Manager for Database Systems de Microsoft Corp sur sa vision des outils de gestions de données et sur les annonces concernant SQL Server vNext.

L’univers Data de Microsoft est devenu une hydre : SQL Server, Azure SQL Database, Azure Blobs, Azure Table storage, Azure SQL Data Warehouse, Azure Search Index, Azure Data Lake Store, Azure Data Factory Service, Microsoft Access, HD Insight (Spark & Hadoop on Azure), Azure Data Lake Analytics, Redis Cache on Azure, Power BI, Document DB, etc.

Sans compter les bases open-source (MongoDB, Cassandra, Couchbase, etc.) et propriétaires (Oracle, etc.) officiellement supportées dans Azure.

Cet univers s’étend du On’Prem au Cloud, des SGBR aux Data Warehouses et Data Lakes, des moteurs OLTP aux moteurs OLAP et NoSQL, de l’ETL à l’analyse de données, du reporting de masse à la visualisation mobile, du requêtage au Machine Learning.

Difficile de s’y retrouver d’autant que les nouveautés sont presque hebdomadaires. En une semaine, Microsoft vient ainsi d’annoncer la disponibilité de Power BI Real Time Analytics et SQL Database Query Editor. Le premier réalise une analyse temps réel sur les flux de données depuis l’outil de visualisation et de reporting Power BI. Le second permet d’interroger vos bases Azure SQL Database et Azure Data Warehouse directement depuis le portail Azure et votre navigateur Web.

Nous avons profité de la visite en France de Rohan Kumar, General manager for Database Systems de Microsoft Corp., pour faire un tour d’horizon de la stratégie Microsoft et de l’annonce d’une nouvelle version de SQL Server, à peine un an après la sortie de SQL Server 2016. Et moins de 6 mois après celle de SQL Server SP1 - une mise à jour majeure qui a ouvert Polybase, Columstore, Dynamic Data Masking, Partitionning, Compression, Always Encrypted, le moteur OLTP « In-Memory » et toutes les fonctions phares de SQL Server Enterprise à toutes les éditions de la base y compris la version gratuite « SQL Server Express » !

Une vision basée sur 3 piliers

Interrogé sur l’existence d’une vision unifiée de l’hydre évoquée plus haut, Rohan Kumar décrypte ainsi la philosophie de Microsoft en matière de base de données : « Notre approche autour des investissements SQL Server et des services Cloud repose sur quelques grands piliers »

 Le premier est d’offrir « une ‘Consistent Programing Surface Area’ (une surface de programmation uniforme). SQL Server est en quelque sorte notre porte-drapeau ‘On Prem’. Mais c’est exactement le même code qui anime le moteur de Azure SQL Database et Azure Data Warehouse. Cela répond à l’une des principales requêtes de nos clients qui est de pouvoir choisir à tout moment si leurs développements sont ou seront ‘On Prem’, en partie dans le Cloud ou totalement dans le Cloud. Ils veulent construire leurs processus métier sans s’inquiéter de savoir comment évoluera leur stratégie à terme. C’est vraiment clé dans notre stratégie : nous voulons que tous les investissements de développement aujourd’hui réalisés en s’appuyant sur SQL Server permettent ce choix et permettent cette fluidité entre On Prem, hybride et Cloud »

Deuxième pilier, une volonté de pouvoir répondre scénarios hybrides. « Ces scénarios hybrides constituent pour nous un élément stratégique majeur. Nous investissons des milliards dans nos infrastructures Cloud pour acquérir cette présence massive qui permet de réaliser des économies d’échelle. L’idée derrière des fonctionnalités comme ‘Stretch Database’ consiste finalement à faire bénéficier nos clients de cette économie d’échelle pour qu’ils puissent, par exemple, continuer à accéder à des données froides sans en subir les coûts de stockage associés. »

Rappelons que Stretch Database est une fonctionnalité introduite par SQL Server 2016 qui permet d’un simple clic d’étendre une base de données locales dans le Cloud Azure de sorte que les données les plus utilisées restent On Prem’ pour des performances maximales, mais que les données moins fréquemment exploitées, automatiquement déportées dans le Cloud, restent accessibles sans avoir à modifier ni les requêtes ni les applications.

Troisième pilier « nous croyons sincèrement à la notion de ‘valeur de la Data’ ».

Rohan Kumar explique ce qu’il entend par là. « Autrefois, les investissements des entreprises autour de SQL Server étaient essentiellement centrés sur du Data Management et de la disponibilité, autrement dit la haute disponibilité des données, leur géo-réplication, leur sauvegarde. La vraie différenciation que nous insufflons aujourd’hui, c’est la notion d’intelligence et d’enseignement (insight) au cœur de la base de données. Nous pensons que la vraie valeur d’une base de données, qu’elle soit On Prem ou dans le Cloud repose désormais sur l’intelligence analytique et les décisions Business que vous allez pouvoir en tirer. Bien sûr la disponibilité, la scalability, la performance, et la sécurité restent très importantes, mais le futur s’appuie sur tous les investissements que nous réalisons - que ce soit dans SQL Server, Azure SQL Database, Azure Data Warehouse, Azure Data Lake, HDInsight (la solution Hadoop dans le cloud Azure) - sur ces notions clés que sont Advanced Analytics, Machine Learning et Intelligence. »

Intelligence & R

Ce qui explique d’ailleurs les incessants investissements de Microsoft dans le domaine de l’intelligence des données et de l’intelligence artificielle avec les rachats récents de Genee et Maluuba.

L’un des plus tactiques fut probablement l’acquisition de Revolution Analytics en 2015. Sous la houlette de Microsoft, R Server s’est musclé, a appris à monter en charge et à jongler avec un univers de données hybride. Il est aussi devenu le premier terrain d’expérimentation cross-plateforme de Redmond puisqu’il est décliné sous Windows et Linux.

Parallèlement le langage R, langage orienté analyse statistique, destiné aux Data Scientists et jusque-là principalement supporté par les milieux académiques, est devenu l’un des fers de lance de Microsoft s’intégrant à Azure, à SQL Server et plus encore à Azure Machine Learning.

Pour Rohan Kumar, « R est un pari très stratégique pour Microsoft. Mais ce n’est qu’un début. À dire vrai, tous les investissements que nous avons réalisés ces derniers mois autour du langage R, de R Server et de l’intégration de R dans SQL Server ont été pensés pour être extrêmement extensibles et sont destinés à s’étendre au-delà de ce langage. Il est trop tôt pour en parler, mais nous en dévoilerons plus durant la seconde moitié de l’année ».

On n’en saura pas plus, même s’il paraît évident que le support de Python sera très probablement rapidement confirmé.

SQL Server vNext

Mais Rohan Kumar était avant tout venu annoncer à Paris le lancement d’un programme « Early Adopters » de SQL Server vNext. Normalement, le cycle de production de la version On Prem de SQL Server est de 2 à 3 ans. Mais SQL Server vNext est annoncé pour l’été prochain soit à peine un an après la version précédente (SQL Server 2016).

« Il n’est pas dans notre intention d’accélérer le rythme des sorties de SQL Server. La raison de cette sortie avancée de la prochaine release tient en un mot : Linux. Le support de Linux, de Docker et des conteneurs sous Linux est une étape clé dans le développement de SQL Server. Bien sûr, nous profitons de cette sortie pour intégrer au passage de nouvelles fonctionnalités dans vNext. Avec notamment des améliorations sur le ‘In-Memory’ du moteur OLTP en retirant certaines des limitations existantes, et en autorisant désormais jusqu’à 8 indexs par table en mémoire. Mais aussi l’intégration de nouveaux algorithmes de Machine Learning, l’apparition de nouveautés comme Adaptative Query Processing (destiné à dynamiquement corriger l’exécution d’un mauvais plan d’exécution) ou encore l’apparition de SQL Graph. Cet investissement sur le terrain des Graph Databases est davantage porté sur l’intégration de fonctionnalités Graph au sein du langage SQL qu’à une réécriture du moteur. »

Dans un premier temps, SQL Server va ainsi permettre de gérer plus facilement et plus rapidement des relations arborescentes comme on en trouve dans les réseaux sociaux, l’analyse de dépendances ou l’analyse de fraudes. SQL Server vNext supportera les opérations CRUD au sein d’un graph et la navigation ‘multi-hop’ avec des notions de nœuds et d’entités.

Cette fonctionnalité SQL Graph a d’abord été testée en bêta privée sur Azure SQL Database. Le succès rencontré justifie aujourd’hui son intégration rapide dans l’édition On Premises. Une pratique qui n’est pas nouvelle dans l’univers SQL Server. La plupart des fonctionnalités de SQL Server 2016 (always encrypted, data masking, …) avaient été d’abord expérimentées et fiabilisées sur Azure SQL Database.

Rohan Kumar justifie cette démarche. « Notre approche a toujours été centrée sur nos clients. Et cette approche est certainement encore renforcée par notre philosophie Cloud First. Le Cloud est plus agile par nature. On apprend de ses erreurs, mais quand vous mettez une fonctionnalité dans une boîte (un produit On Prem), vous avez intérêt à ce qu’elle soit très réussie, car le coût de son support peut être lourd. Le Cloud favorise un feedback rapide et permet d’engager rapidement des discussions autour des fonctionnalités mises en bêta ».

D’autres améliorations sont également prévues comme l’apparition d’un mode « Scale Out » sur SSIS qui permet de paralléliser sur plusieurs machines l’exécution de jobs ETL complexes. Ou encore l’apparition d’améliorations multiples autour de Polybase et de SQL Server Analysis Services. Il sera ainsi possible de se connecter à une infinité de sources de données qu’elles soient On Premises ou dans les Cloud à la manière de Power BI.

« Nous voulons faire de SQL Server, mais aussi de Azure SQL Database, de véritables Hubs pour toute votre Analytics, où que soient vos données, y compris si elles sont hébergées sur les Clouds de Google ou d’Amazon ».

SQL Server Linux

Comme précisé plus haut, Linux est la première motivation de cette sortie anticipée de SQL Server vNext.

Annoncée l’an dernier, cette déclinaison est très représentative de la révolution opérée en interne chez Microsoft. On pourrait penser que cette version est d’abord motivée par une nécessité d’aller chercher de nouveaux clients et de venir grappiller de nouvelles parts de marché à Oracle. Rohan Kumar s’en défend. Pour lui, la principale raison d’être de SQL Server Linux est ailleurs.

« Il ne suffit pas de se prétendre ‘la plateforme du choix’. En écoutant nos clients, il est apparu comme une évidence ces trois dernières années que le choix d’une base de données ne pouvait être lié au choix d’un OS. Essentiellement parce qu’au sein d’une DSI, ces choix sont réalisés par des équipes différentes. C’est vraiment ce qui nous a poussés dans cette direction ».

Mais il y a une autre raison : Microsoft devient une compagnie beaucoup plus ouverte. « C’est très visible dans l’univers Azure où plus de 30% des VM hébergées sont sous Linux… ce pourcentage est en croissance constante », se félicite Rohan Kumar. « L’adoption de Linux pour SQL Server n’est donc pas qu’une question de choix. C’est aussi une question de plateforme de développement côté Client (Client Development Platform). Pendant longtemps, ADO.NET a été le plus avancé des drivers « client ». Ce n’est plus le cas aujourd’hui. Java, PHP, Node.JS bénéficient maintenant de la même attention. Avec Azure, nous prônons l’idée de laisser chacun adopter le langage de son choix (‘Pick the language of your choice’). SQL Server sous Linux adhère à cette volonté ».

Ce que le responsable résume en une phrase : « cette déclinaison s’inscrit dans la discussion que nous avons avec nos clients sur comment les aider à gérer leur transformation numérique, comment les aider dans leur migration vers le Cloud. »

Lors de l’annonce en 2016, certains craignaient que ce SQL Server Linux ne soit qu’une version restreinte de son équivalent Windows. Il n’en sera finalement rien puisque tout ce qui fait les qualités et la force de la version Windows est bien présent et pris en charge : réplication, Log Shipping, Full text Search, Service Brocker, In Memory OLTP, ColumnStore, Compression, Always Encrypted, Row Level Security, Data Masking, Change Data Capture, Auditing, CLR, support de JSON et XML. Même les technologies Always On et Stretch Tables seront supportées bien que celles-ci arriveront avec un peu de retard au travers d’un Service Pack.

Autre inquiétude fréquemment évoquée, les performances de SQL Server Linux. À l’origine Microsoft annonçait que celles-ci ne seraient jamais inférieures à 75% de la version Windows. Mais pourquoi opter pour une version Linux si la version Windows est plus rapide ?

Depuis, les choses ont beaucoup évolué. « D’ici la version finale, je pense sincèrement qu’en matière de performances, on sera au même niveau, qu’il n’y aura aucune différence » affirme Rohan Kumar.

« Nous ne voulons pas que la performance soit un critère de choix entre Linux et Windows Server. Pour être honnête avec vous, je savais depuis le premier jour où nous avons annoncé l’arrivée de SQL Server sur Linux que l’essentiel des discussions tourneraient autour des performances. Au fil de nos previews mensuelles, nous avons fait des progrès considérables en la matière. Certains s’interrogent encore sur l’architecture de SQL Server et la couche d’abstraction introduite par la version Linux. Mais la réalité c’est que l’essentiel des appels sont natifs. Fonctionnellement, SQL Server Linux est presque totalement terminé. Toute notre attention se porte désormais sur l’optimisation des performances et le comportement de SQL Server sur des architectures particulières comme les Superdomes d’HPE. »

NoSQL « made in Microsoft » : vers une démocratisation de DocumentDB

Les bases NoSQL ont le vent en poupe. Depuis juin 2014, Microsoft propose sur Azure sa propre solution dénommée DocumentDB.

Développée par une petite équipe agile et dynamique, celle-ci visait jusqu’à présent des besoins extrêmes, notamment en matière de réduction des temps de latence avec par exemple une géo-réplication et une exécution applicative toujours située au plus proche des internautes.

Jusqu’à présent DocumentDB ciblait les grands comptes et s’exécutait sur des environnements Premium au sein d’Azure. Mais comme la base a fait ses preuves (y compris en interne chez Microsoft où elle a été adoptée par les équipes Xbox, Office 365, etc.). Microsoft ambitionne désormais sa démocratisation.

L’éditeur vient de lancer un DocumentDB Emulator pour offrir aux développeurs une expérience locale simplifiant développement et test (notamment hors connexion).

La base supporte désormais les APIs MongoDB, ce qui permet de porter directement les applications MongoDB sur DocumentDB. Le support d’autres APIs du monde NoSQL devrait être annoncé dans les prochains mois (on pense à Cassandra).

Enfin, les équipes en charge du produit réfléchissent à d’autres niveaux de qualité de service afin de réduire la barre tarifaire d’entrée dans l’univers DocumentDB.

Pour approfondir sur Base de données