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.