Business Geek

Aller au contenu | Aller au menu | Aller à la recherche

Tag - SQL Services

Fil des billets - Fil des commentaires

lundi 10 novembre 2008

SQL Services ou SQL Data Services ?

Une question légitime sur SQL Services est de savoir quel est son vrai nom ? En effet, on peut trouver les termes SQL Services et SQL Data Services. Lequel est correct ?

En fait, les deux sont corrects mais ne correspondent pas à la même technologie. Je m'explique. SQL Services est la technologie "chapeau" qui correspond à l'équivalent de SQL Server in-the-cloud. Ce sont les services SQL de Windows Azure. SQL Data Services est un sous-ensemble de SQL Services et correspond uniquement au service de données relationnelles. C'est l'équivalent de la brique base de données de SQL Server.

Même si on comprend avec l'un ou l'autre des termes, la précision est faite ;-)

Report Builder in-the-Cloud

Lors d'une démo à la PDC, j'ai vu la possibilité de faire des rapports Reporting Services avec des données récupérées depuis SQL Data Services (ie. "dans le cloud").

Cette fonctionnalité est possible grâce aux fonctionnalités d'extensibilité qui existent dans Reporting Services depuis la version 2005. En effet, il est possible grâce aux Custom Data Extensions (CDE) d'ajouter sa propre méthode de récupération de données (un System.Data.DataSet, un composant métier, un webservice, etc.).

Une partie des équipes de SQL Services, affectée sur des labs autour de la nouvelle technologie, nous propose donc une implémentation permettant de requêter des données dans le Cloud. En ajoutant simplement quelques Assemblies dans les répertoires de Report Builder, Visual Studio et Report Server, on dispose donc d'un nouveau type de connexion pour les Data Sources : SQL Server Data Services.

Pour obtenir les DLLs et le quide d'installation : http://sqlserviceslabs.net/Reporting.html

Une fois installé, il suffit de se connecter sur son Authority, de choisir son Container et d'écrire sa requête à la Linq Style :

from e in entities where e.Kind == "Contacts" select e

Note : attention, une erreur de jeunesse certainement, il ne faut pas de retour à la ligne dans la requête

 

Merci à Stella Chan, Lead Program Manager sur Reporting Services chez Microsoft, pour ses réponses. D'ailleurs, je reviendrai bientôt avec un post sur sa session à la PDC (http://channel9.msdn.com/pdc2008/BB26/)

jeudi 30 octobre 2008

PDC2008 - jour 4

Les sessions auxquelles j'ai participé :

  • SQL Server Data Services : Under the Hood
  • Under the hood: Inside the Cloud Computing Hosting Environment
  • Designing Your Application to Scale
SQL Server Data Services : Under the Hood

cf. post sur le sujet. Mais je ne dirais qu'une chose : GENIAL !!

Under the hood: Inside the Cloud Computing Hosting Environment

Pas beaucoup plus d'info que la dernière session du premier jour (Architecting Azure). Le système de réplication des noeuds semble impressionnant et comme je le pensais intégré au plus bas niveau. Et le Fabric Controller qui surveille tout... Une vraie fourmilière...
Juste un détail, il est possible d'héberger les rôles (les services en fait) sur un noeud physique ou sur une VM, et là, c'est Hyper-V (version Windows Azure certainement) qui prend la main.

Designing Your Application to Scale

Un état de l'art de la montée en charge. J'étais très heureux de voir que je partage les mêmes concepts que Microsoft, ça me conforte dans les preceptes que je prêche en consulting.
Encore une fois j'ai adoré le pattern Ring Geometry, appliqué aussi dans l'architecture de haute disponibilité de Azure (en plus de SQL Services, cf. post précédent).

PDC2008 - jour 3

Les sessions auxquelles j'ai participé :

  • Keynote - MS Research
  • SQL Server Data Services: Futures
  • Programming Cloud Table Storage
  • SQL Server 2008: Deep Dive into Spatial Data
SQL Server Data Services: Futures

Rappel des fonctionnalités disponibles dès maintenant, utilisation avec Astoria et présentation des prochaines features (connexion directe sur le Cloud depuis Report Builder 2.0 !!).

Programming Cloud Table Storage

Lors des sessions sur Azure, j'ai vu qu'il y avait les briques SQL Services et Azure Storage. Azure Storage permet de stocker des données structurées (ie. relationnelles). Mais alors quelle différence avec SQL Services ?
En fait, Azure Storage permet de stocker des données facilement et à bas coût; c'est le SQL Services des pauvres (i'm kiddin'). La session était toutefois très intéressante avec 90% de code. Le speaker, Pablo Castro était parfait dans ses explications et impressionnant par sa vitesse de codage.

SQL Server 2008: Deep Dive into Spatial Data

Une session level 400 pour finir la journée c'est pas mal. Le speaker, Isaac Kunen, a traité des points précis de l'utilisation des API spatiales de SQL Server (et même en dehors d'ailleurs). Il nous a parlé d'extensibilité et nous a présenté les évolutions futures (la levée de la limitation de l'hémisphère et des cartes dans Reporting Services)

Bref, que du bonheur...

PDC2008 - Interlude

Désolé pour ce post un peu à la sauvage... Je sors de la session décrivant l'architecture interne de SQL Services. Le travail fait par les équipes de Microsoft pour monter cette solution est impressionnant.

3 gros sous-systèmes :

  • le front-end : une ferme qui reçoit les requêtes REST/SOAP, les traite, les route et appelle le bon noeud SQL dans le backend
  • le master node : un cluster SQL qui contient toutes les informations de routage et de partitionnement sur les noeuds
  • le back-end : une forêt de SQL Server correspondant aux noeuds, qui se répliquent les uns les autres

J'ai bien aimé la Ring Geometry qui est la technique d'auto-surveillance et de routage des noeuds entre eux.

Mais il leur reste encore fort à faire : géo-clustering, requêtes multi-noeuds, consistance multi-noeuds, etc.

PDC2008 - Jour 2

Les sessions auxquelles j'ai participé :

  • Keynote 1 & 2
  • SQL Server Data Services: Tips and Tricks for High-Throughput Data-Driven Applications
  • SQL Server 2008: Business Intelligence and Data Visualization
  • A Lap around SQL Services
  • Windows Azure: Architecting & Managing Cloud Services


Ces 2 keynotes étaient vraiment fameux. De la démo magique qui brille mais c'est tellement bon. Le premier Keynote était consacré à Windows 7 et aux interfaces clientes. Le second était une démo 100% code avec Azure présentée par les showmen Don Box et Chris Anderson.

Les sessions du jour quant à elles ont été instructives. J'ai eu de nombreux éléments de réponse qui consolident ma vision de Azure (et de SQL Services). Tout d'abord, sachez que les versions actuelles sont assez limitées. Je rapelle que Azure est une vision à 2009-2010. Ces limitations sont fonctionnelles, tout n'est pas encore développé, mais aussi au niveau des garanties et des quotas (d'ailleurs, le pricing n'est même pas établi).

Précisions :

Je vais d'abord revenir sur Azure. L'idée n'est pas de prendre votre application tel quel et de la mettre sur un système qui garantisse la haute-disponibilité et la montée en charge. Votre application doit être conçue pour Azure et doit répondre à de nombreuses règles. C'est pour cela qu'arrive Oslo, langage qui permet de modéliser ces contraintes et de les intégrer dans le développement.
Lors du déploiement sur Azure, ce modèle sera interprété par le "Fabric Controller" qui gèrera l'application dans le cloud et mettra en place, en fonction des contraintes exprimées, la redondance le load-balancing, etc.
Pour comprendre les contraintes imposées pour votre architecture, il faut bien voir que pour garantir le load-balancing de vos applications ou même la haute-disponibilité (reprise après un crash), il faut tendre, par exemple, vers le stateless ou avoir une gestion d'état compatible. Evidemment, cet exemple n'est qu'une des facettes des choses à penser pour développer pour le Cloud.

Concernant SQl Services, l'idée à terme est vraiment d'avoir un SQL Server en ligne (in the cloud), qui peut monter en charge à l'infini, gérer la haute-disponibilité, avec paiement à l'usage, etc. C'est bien SQL Server qu'il y a derrière (backend servers) mais interfacé par un front-end qui semble impressionnant (et qui, je pense, réinterprète la requête et la dirige dans le bon noeud dans le backend).
Pour le moment, il y a très peu de fonctionnalités, juste du stockage d'entités. Pas d'intégrité, pas de transactionnalité au niveau du container, pas de jointures, etc. Pour ces fonctionnalités avancées, il va falloir attendre ou se les coder comme au bon vieux temps. C'est d'ailleurs assez frustrant d'ailleurs.
Le requêtage peut se faire via REST donc on peut tester directement dans un browser.

A noter la notion de schéma flexible qui m'a bien plu et qui permet pour des mêmes entités de ne pas avoir toutes les mêmes colonnes. (Ca sent le sparse columns derrière...)


Jeudi, je vais à une session (level 400) sur SQL Services en interne. Il me tarde...

Conclusion :

Pour conclure, la journée 2 a été très bien pour rentrer en profondeur dans Azure et SQL Services. Je suis de plus en plus séduit par cette nouvelle famille chez Microsoft et le fait que Microsoft réfléchisse à modéliser l'infrastructure (et par extension la production) directement à la création de l'application va dans le bon sens à mon avis.
En revanche, je suis aussi de plus en plus frustré car en rentrant dans le détail, je vois les limitations de la version actuelle. En même temps, je devais m'y attendre, je suis toujours sceptique sur les démos magiques où on nous promet la lune :-p.

mardi 28 octobre 2008

PDC2008 - Jour 1

Premier jour de sessions et ma confiance envers les technologies Microsoft est renouvelée pour quelques années encore. Allons directement à l'essentiel : l'annonce du Keynote.

Ray Ozzie, architecte en chef chez Microsot a présenté Windows Azure

Azure est une nouvelle race d'OS, conçue pour le Cloud Computing. L'objectif, héberger des services (vos applications) et du stockage (relationnel) dans un environnement en haute-disponibilité, réparti géographiquement à travers le monde, avec une montée en charge garantie.

C'est pour arriver à cet objectif que les équipes de Microsoft (code name Red Dog, reconnaissables à leurs chaussures rouges) sont descendus d'un niveau pour intégrer cette gestion (Service Manager) directement dans l'OS. Mais cela veut dire aussi que Windows Azure et nos applications seront dans les Datacenters de Microsoft.

Evidemment, Microsoft va faire concurrence à l'offre elastic de Amazon EC2 mais aussi concurrence aux hébergeurs. Mais fort à parier que d'ici quelques temps, ces mêmes hébergeurs seront certifiés pour hoster Windows Azure :-)

Il faut s'en convaincre, c'est la vision de Microsoft pour les années à venir. Assez réticent sur le Cloud Computing dès l'apparition de ce buzz word, j'attendais beaucoup de voir comment Microsoft allait transformer ce concept dans le monde réel.

Me voila rassuré même si ces premières annonces et sessions me laissent encore plein d'interrogations. Heureusement, les sessions à venir détaillent Azure sur tous les aspects pour lesquels il y a des zones d'ombre. Et puis je compte aussi aller discuter avec les experts pour creuser certains points précis.

Biensur, tout ne sera pas éclairci cette semaine, Azure est encore au stade de la CTP.

Pour conclure ce post, voici les sessions auxquelles j'ai participé pour ce premier jour :

  • Keynote
  • A Lap around Cloud Services Part 1 : une meilleure vision des Services Azure
  • Datacenters and Resilient Services : tout simplement super intéressant, je veux le même job que Benjamin Ravani, responsable de GFS (Global Fundation Services) qui est la division chargée des Datacenters et de la montée en charge des services de Microsoft (Windows Live ID, MSN, Hotmail, etc.).
  • ASP.NET 4.0 Roadmap : juste des annonces mais un speaker ennuyeux
    A Lap around Cloud Services Part 2 : la démo magique où tout marche mais on ne sait pas comment c'est fait, je reste sur ma faim
  • SQL Server: Database to Data Platform - Road from Server to Devices to the Cloud : superbe démo de Zach Owens et des éclaircissements sur les SQL Services d'Azure (en fait SSDS, cf. un ancien post).

Ce que j'ai manqué :

  • "Dublin" and .NET Services: Extending On-Premises Applications to the Cloud

 

PS : cet article est mon 100ème post depuis l'ouverture de ce blog. Si je state ça, ça fait 5 posts par mois en moyenne...

mercredi 5 mars 2008

SSDS : SQL Server Data Services

Ce soir, il y a eu une annonce au MIX'08 de Las Vegas d'un nouveau produit dans la famille SQL Server :

SQL Server Data Services

Kezako. C'est une base de données en ligne, un SQL Server en mode ASP. Cela permet de démarrer une activité et de disposer d'une base de données rapidement sans avoir à trouver une hébergeur, installer un serveur, etc. On paie à l'usage.

La techno semble séduisante et mystérieuse. Au programme : un requêtage en LINQ, de la recherche Full-Text, une communication via SOAP, un stockage illimité (moyennant des $$) et un SLA sur de la haute-disponibilité...

Une chose m'intrigue, dans la page de présentation du produit on peut lire :

Years of experience running these technologies in-house.

C'est qu'ils savent bien garder un secret chez MS. Et dire que moi je critiquais l'ouverture de Endpoint HTTP dans un serveur de données, peut-être était-ce ceci la finalité. Ca me fait penser à ce bon article de Bob Beauchemin sur les synergies de développement chez MS.

Toutes les infos et pour s'enregistrer dans le programme beta :
http://www.microsoft.com/sql/dataservices/default.mspx

Je vous laisse, je vais revendre mes serveurs sur eBay.