novembre 2009 - Messages
Et voilà la dernière session de la PDC, enfin la session que j’attendais depuis le début (j’exagère à peine) En même temps on se garde le meilleur pour la fin :)
Présenté par Marc Scurell, Lead PM sur le sujet. Le but de la présentation est biensur de nous présenter SQL Azure Data Sync sorti le jour du KeyNote (bon ça a fait moins de bruit que la sortie de SL4 beta, je vous l’accorde volontiers !)
Basé sur le Sync Framework V2 , Marc nous fait un tour d’horizon du framework, avec pas mal de théorie, intéressant pour ceux qui n’ont pas suivi mes webcasts et articles ;)

SQL Azure Data Sync
Le Wizard qui va permettre de connecter une base de données locale avec SQL Azure, avec une base de données local SQL SERVER 2008.
Tout se passe par le wizard, qui va créer toute l’architecture sur SQL AZURE, parfait réplica de la base locale. A noter que le tracking des changements se fait via le Change Tracking de SQL SERVER 2008, mais j’ai pu voir encore des tables supplémentaires contenant des métadatas encore nécessaires pour faire fonctionner le tout.
Vient ensuite une démo de synchronisation entre SQL AZURE et SQL SERVER CE. Ce qu’est sympa c’est que le template VS pour SQL CE va générer via son wizard non seulement la première synchronisation mais aussi le code nécessaire pour reproduire une synchronisation complète en .NET
Du coup la synchro entre une base de données sql ce et sql azure se résume en 1 ligne !
Pour aller plus loin; on peut meme imaginer des scénarios 3 Tiers, avec de la logique métier officiant entre les bases de données locale et les bases SQL Azure :
Synchronisation avec un client Silverlight
Une démo très très sympa vient conclure ma PDC, une synchronisation entre SQL Azure et un client Silverlight (où je vous rappelle nous n’avons PAS ADO.NET et encore moins la possibilité d’accéder à une base Compact)
Le principe est donc de synchroniser la base SQL Azure avec l ‘IsolatedStorage local disponible depuis SL :
Ca, ça m’a bien bluffé, ils ont écrit le SyncProvider spécial pour l’IsolatedStorage. Espérons qu’ils le fourniront en sample :)
Pour finir la roadmap de Sync Framework : On s’oriente vers début 2010 avec la sortie du Sync Framework V2.1 avec le full support Azure et la V3 en cours d’année.
Voilà la PDC c’est fini pour cette année, et contrairement à l’année passée, aucune prochaine date n’a été annoncée, on va donc je pense revenir à un cycle plus classique de 3 ou 4 ans avant la prochaine PDC !
J’en profite au passage pour remercier Laurent de Techheadbrothers et Thomas de Microsoft qui m’ont permis d’assister cette année à ce grand évènement. Merci !
Voici venir les innovations du langage XAML.
Session assez intéressante sur les apports futurs au langage XAML. On notera surtout la naissance d’un nouveau namespace (et meme sa propre dll) dédié entièrement au XAML : System.Xaml située dans System.Xaml.dll
Au niveau des nouveautés du langage, j’ai pu voir l’ajout de code inline, comme les évènements (bien que je ne sois pas fondamentalement convaincu de l’apport de la chose :)) ou encore l’exécution de code simple comme dans l’exemple suivant :
Ca ca peut m’intéresser dans les expressions de Binding tiens.. mais j’ai des doutes !
XamlDom : Travailler avec un modèle objet Xaml Complet.
Un peu comme un XmlDocument va permettre de se ballader dans un document Xml, XamlDom va nous permettre de nous ballader dans un document Xaml, et récupérer de précieuses informations sur les noeuds xaml. Sur l’exemple on verra même comment récupérer le type de l’UIElement associé au noeud en cours !
Du coup sérialiser un simple bouton XAML devient beaucoup plus aisé !
Dans la copie d’écran suivante vous avez
- Le bouton Xaml
- Le code nécessaire pour sérialiser notre bouton à l’ancienne : avec un XamlXmlWriter
- Le code nécessaire avec XamlDom (utilisation d’un XamlDomObject)
Du coup (encore) ce modèle objet abouti va ouvrir des portes à des outils comme l’analyse statique du code Xaml avec FxCop. D’ailleurs l’équipe chargée de Xaml est trés proche de l’équipe FxCop pour fournir un environnement de travail évolué à ce niveau là.
Nous avons droit enfin à un chapitre consacré à l’amélioration de la localisation Xaml que ce soit en SL4 ou en WPF (On part de tellement loin avec des outils comme LocBaml qu’on ne peut QUE faire BCP mieux) La démo est assez convaincante, un peu comme de l’asp.net, où l’on génère les ressources avec VS 2010 depuis un simple menu qui va lancer un parse complet du document Xaml
Au niveau des designers VS 2010 et Blend, on note des améliorations notables des performances ou encore l’ajout de l’IntelliSense dans Blend :
Vous pouvez d’ores et déjà télécharger la CPT de la Microsoft XAML Toolkit à cette adresse : http://code.msdn.microsoft.com/xaml
Voilà une session animée par Clemens Vaster en personne.
Celui ci va nous parler de la communication entre applications externes et AZURE. Alors forcément, partant de la, on pense forcément Service Bus ! Alors oui la session fut en partie consacrée au service bus, mais pas que :)
Pour nous introduire sa problématique Clemens Vaster (CV) fait mumuse avec DinnerNow.net, un projet démo qu’il utilise depuis des lustres pour aborder des sujets divers et variés.
Chose intéressante, son application existe et comme toute VRAI application, a un historique, des contraintes architecturales fortes. Potentiellement toutes les briques ne sont pas migrables sur AZURE :
Un peu comme je l’ai fais, le contexte est de prendre une application déjà existante et de la porter sur le CLOUD :
- Des choses que vous ne pouvez pas exécuter dans le Cloud
- Des choses que vous ne voulez pas exécuter dans le cloud
Biensur le Sevice bus est LA solution pour mettre en relation un service WCF, quelque soit les contraintes de votre Intranet.
Mais que se passe t’il si le service exposé ne sait pas parler WCF ou ne sait pas communiquer par HTTP ? Prenons par exemple SMPT, SNMP, POP, IMAP … TDS !
TDS est le protocole de communication de SQL SERVER sur un port 1433 en général. Justement nous voudrions (Surtout Clemens Vaster en fait :)) faire communiquer notre Web Role avec une base de données sur un intranet local, serveur situé biensur derrière toutes les barrières des sécurité classiques (firewall, proxy, isa etc …)
CV va donc pendant sa session nous démontrer comment utiliser le Service Bus et un projet Bridge pour réussir à faire ce que l’on appelle communément du Tunneling :
Nous avons deux composants : “Port Bridge Service” et “Port Bridge Agent”
L’agent a pour rôle d’écouter et d’accepter des connexions TCP (ou named pipe) sur un port configurable. le service lui doit accepter ces connexions et établir un duplex channel avec l’agent, via le Service bus. Il a ensuite la charge traiter les données de l’agent avec le sercice à l’écoute et vice versa :
Clemens Vasters a mis à jour son blog pour expliquer comment faire du tunneling grace à son Bridge et le Service Bus AZURE : http://blogs.msdn.com/clemensv/archive/2009/11/18/port-bridge.aspx
Session intéressante, assez technique, enfin …. trés technique :)
Nouvelle sessions sur Azure, et le dévelopement avancé d’application pour la plateforme, présenté par Steve Marx. technical strategist sur azure.
L’application exemple prend un Load Balancer; des noeuds IIS, des noeuds permettant de faire de la recherche, et des noeuds gérant des requetes SMTP externes.
Le principe va etre de monter un architecture comprenant un gros moteur de recherche qui va etre réparti sur plusieurs noeuds azure.

Durant sa session, il nous présentera des points comme : La communication inter roles, les Endpoints non HTTP, les cycles de vies des instances, ou encore les tailles des VMs (ça c’etait le plus simple, un simple attribut dans le fichier xml de config !)
Les noeuds web sont basés sur ASP.NET MVC
Le moteur de recherche est Lucene.net, une API populaire portée de java
Aprés nous avoir bien expliqué la différence entre les messages reçus par un Web Role et un Worker Role (grosso modo, le web role est soutenu par un IIS qui gère les requêtes entrantes, alors que votre Worker Role reçoit n’importe quel type de message) Steve nous parle un peu des Endpoints :
- InputEndpoint. Permet d’écouter sur des ports specifiques des requêtes entrantes
- InternalEndpoint : Permet de communiquer entre différents roles à l’intérieur de votre architecture AZURE : de la communication inter roles
Durant sa session, Steve nous montrera même comment se passer des queues, qui ont l’avantage et l’inconvénient de délivrer un message à un seul Endpoint, là où il nous faut dispatcher le message sur tous les noeuds : Il va passer par les Table Storage (je vais rester assez vague sur sa technique, parce que j’ai d’une part, pas tout suivi, et d’autre part, il est lui meme rester assez flou :))
Bref une démo pur code, bien HardCore, le source code de la session devrait être dispo rapidemment sur le blog du monsieur.
Le blog du monsieur, où le source devrait être rapidemment disponible : http://blogs.smarx.com
Voilà une session qui a été un peu mon heure “détente” de la journée.
La session est animée par deux joyeux lurons, Douglas Purdy et Chris Sells qui nous ont présenté le Projet Quadrant, et le langage “M”
On se retrouve ici avec une application “Quadrant” permettant de naviguer dans les données SQL SERVER; trés facilement.
Mieux il devient possible et intuitif de créeer des vues Maitres Détail de vos données, simplement avec du glisser-déposer.
Chaque écran est finalement une vue de vos données, cet écran est en fait construit à partir de ce fameux langage “M” D’ailleurs, il est facile de faire un “clic-droit” sur le formulaire pour voir le script “M” qui est à l’origine du formulaire; un peu comme vous le feriez avec le source d’un code HTML.
Voilà une session sympa, un peu décalée par rapport à l’ensemble des sujets du jour (AZUuuuuuuuuure) et qui fut ma fois bien fun !
C’est parti pour le keynote de la deuxième journée.
La première partie du keynote est axée sur Windows 7, la volonté de MS de fournir un OS d’excellente facture, en prenant en compte les retours des utilisateurs.
Nous avons droit ensuite à une démonstration de l’UAC, ou encore le “Shake and minimaze”. Bref, rien de particulier, juste quelques features “funs et utilles” de Windows 7.
On passe ensuite au hardware et Windows 7 avec une démonstration de mini PC, et la charge qu’ils sont capables d’accepter avec Windows 7
Quelques démos sur le ScreenTouch, allez on va pas se priver, ils nous montrent du matos !
Bref, un bon début de Keynote, résolument marketing avec une dévotion totale à Windows 7
En même temps, faut bien l’avouer, Windows 7 EST une réussite. Ok, let’s go to the next, show me new Stuff !!!
Internet Explorer 9
Ah tiens, je me remets de mes émotions (http://microsoftpdc.com/tablet) pour voir l’annonce de IE 9, avec des capacités encore plus évoluées et un test ACID3, (presque) concluant.
Ah mais je rêve, IE9 fait du rendu Direct X ! oulà oulà ! un Full Rendering D2D sur IE 9, ça calme !
Scott Guthrie fait son entrée, et nous parle de Silverlight 3. C’est beau, et on est pas en reste en France avec des sites comme Canal +, Le tour de France ou encore Rolland Garros sont alors plein cadre, plein slide :)
ANNONCE DE SILVERLIGHT 4
Avant d’aller plus loin non seulement l’annonce est faite, mais la béta est déjà disponible sur http://www.silverlight.net Y’a plus qu’a !
Allez, c’est parti pour les démos. Une des nouveautés concerne la gestion des médias, webcams et micros.
Scott Gu nous fait une démo, avec des effets appliqués en temps réél au rendu, pixels shaders.
Avec son style bien particulier la salle est pliée quand il prend un screenshot de sa tête déformée par un effet appliquée en live sur sa webcam !
Une démo de scan d’un code barre sur SL4, bref ça donne quelque chose d’extraordinaire dans moins de 5 Mo quand même !
IIS Smooth Streaming : Bon ça c’est pas nouveau, mais peu de personnes connaissent. Je vous conseille de vous rendre ici pour plus d’infos : http://www.smoothhd.com/ Une démo sur IPhone; après on dira que MS est pas ouvert :) Bon ok, la démo a pas marché, mais on y croit ! :)
Sinon au menu de Silverlight 4, on a noté encore :
- Gestion du clic droit (Mais ouiiiiiiiiiiiiiiiiiiii)
- Rich Text Editor
- Printing
- Clipoboard access
- Mouse wheel
- Implicit style (mais ouiiiiiiiiiiiii)
- Drag drop
- CommandBinding (MVVM)
- Additionnal Controls
- Support HTML
S’en suit une démo d’un éditeur HTML dans Silverlight 4.
Ca en jette pas mal, le drag and drop d’un fichier Word dans une fenêtre SL4 contenant l’éditeur wysiwyg
Au niveau des données; quelques améliorations notables comme:
- Le partage d’assemblies entre SL et .NET 4
- Améliorations du Databinding
- Support du multicast UDP
- Améliorations REST
- Améliorations WCF
- Intégrations des WCF RIA SERVICES
Sur ce dernier point Scott Hanselman viendra nous faire une démo de RIA Services. Rien de bien extraordinaire, mais qui fait son petit effet :)
On passe ensuite au support avancé dans Visual Studio 2010. Là au menu, en vrac nous avons :
- Un éditeur Wysiwyg dans VS 2010
- Améliorations de l’IntelliSense dans le XAML
- Améliorations des designers pour le data binding, les layouts et les styles
- Intégration des RIA Services
- Support du Full Trust en mode OOB
Au niveau performance SL4 nous promet d’être 2 x plus performant et de démarrer 30% plus rapidement.
Une démo très très sympa sur une application Facebook sur Silverlight 4.
Y’a pas à dire, ça déchire du taureau des Landes.. avec accès direct au matériel (upload du photo de son device en simple glissé-déposé)
La dernière partie du KeyNote sera axé sur Office 2010 et les nouveautés Sharepoint. Etant loin d’être expert sur le sujet, je laisse le soin à Redo qui est assis à coté de moi, de vous relater la fin de session !
Voilà, direction les sessions. La journée s’annonce chargée !
Et voilà je suis en possession de mon nouveau laptop offert par MS pendant la PDC.
Moi qui voulait en acheter un !!!
Tiens, quelques photos de la bête !

Tiens, en comparaison de ma machine actuelle, ca va me changer ;) (et encore je vous parle pas du poids !!)

Juste aprés la session sur Azure Present and Future, voici la même mais cette fois ci pour SQL AZURE
Les nouveautés présentés vont tourner autour de :
- Intégration avancée dans SSMS SQL SERVER 2008 R2
- Intégration dans Visual Studio 2010
- Reporting
- Synchronisation
Alors bon, un peu déçu sur le coup car au final, aucune démo ni sur la BI, Reporting et encore moins sur Data Sync.
Il faut croire qu’il faudra attendre les sessions dédiées sur ces sujets !
Sinon pour le reste :
J’ai pu voir le plan d’exécution d’une query sur SQL AZURE depuis Visual Studio 2010. Sympa !
Nous avons droit à une présentation du système de backup, bien que cette partie ne nous concerne pas puisque totalement pris en compte par SQL AZURE.
Par contre possibilité de configurer et gérer les backups.
Système de Clone : Possibilité de Cloner les bases de données :
1: Create Database xx.ProdClone as CLONE of xyz.Prod
D’autres points, en vrac:
- Support de providers SaaS (Api, template, Meta-data tracking, Support de scénarios)
- Support du DAC
- Support de Data Sync
- Dynamic database splits
- Merge databases
- Management across group of databases
- Aditionnal database size options
- Multiple database connections
- fan-out query on multiple databases
Les demandes utilisateurs (je n’ai pas su voir si cela allait être intégré)
- Support for profiler
- support spatial
- Full Text Search
- Change Tracking
- CLR
- BI
- Encryption
- Additionnal authentication
Tiens, une info (on s’en serait douté mais bon) “Dallas” utilise SQL AZURE.
Sql Azure codename “Vidalia”
Le principe : Séparer le contrôle des données des données elles-même.
Pas de démo sur le sujet, le principe reste sympa. A tester :)
Voilà une session que j’ai nommé “Killer Session” ! (en fin de journée je vous explique pas !)
Session animée par deux (jeunes) membres de l’équipe WPF Performance (Blogs http://blogs.msdn.com/jgoldb/ et http://blogs.msdn.com/ricom)
Autant le dire de suite, ces deux jeunes envoient du bois !
Je ne vais pas rentrer dans les détails, la session est très technique. Quelques slides pour résumer la philosophie du truc :
Oui les mesures, et surtout l’expérience !
je ne résiste pas à la tentation de vous montrer un des exemples découvert pendant la session:
Il s’agit d’éviter de charger des modules inutilement dans votre code.
Supposons que j’ai dans un “IF” un appel à un objet externe, faisant parti d’une dll supplémentaire :
1: // Some code
2: // /...
3:
4: if (!expected)
5: {
6: using (COMClassLogger log = new COMClassLogger())
7: {
8: log.WriteLog("Error");
9: }
10: }
11:
12: // Some code
13: // /...
Votre module est loadé lors du chargement de l’assembly principal, alors que celle ci peut ne pas être utilisé (Peut être parce qu’on passe pas dans le IF :))
Oui monsieur, l’évaluation du IF est fait au runtime, pas à la compil !!!
Le truc pour éviter ça c’est d’exporter votre appel dans une méthode, “like this” :
Si lors du chargement, votre module supplémentaire ne fait pas parti du corps de la méthode de chargement, il ne sera pas chargé. On fait donc un truc du genre :
1: // Some code
2: // /...
3:
4: if (!expected)
5: {
6: WriteLogEntry();
7: }
8:
9: // Some code
10: // /...
11: }
12:
13: private void WriteLogEntry()
14: {
15: using (COMClassLogger log = new COMClassLogger())
16: {
17: log.WriteLog("Error");
18: }
19: }
Le problème c’est le JIT compiler va optimiser ce code est “coupé-coller” le corps de la méthode au niveau de l’appelant. Donc un coup d’épée dans l’eau !
Bref, il nous faut donc indiquer à .NET de ne PAS faire faire ce qu’on appelle du “Inlining”, en marquant notre méthode avec un attribut MethodImpl, “like that” :
1: [MethodImpl(MethodImplOptions.NoInlining)]
2: private void WriteLogEntry()
3: {
4: using (COMClassLogger log = new COMClassLogger())
5: {
6: log.WriteLog("Error");
7: }
8: }
Et voilà un module non chargé, qui pourrait bien faire ramer (potentiellement) notre application au démarrage !
C’était je pense un des exemples les plus simple de la session :)
Nos deux compères ont beaucoup utiliser les outils de traces à disposition; voici un bon slide qui résume ceux qu’ils ont utilisé :
Voilà, bonne optimisation à tous :)
Et voilà, la session n’est pas encore donnée (elle aura lieu Jeudi) mais déjà la CTP de SQL DATA Sync est disponible !
Je reviendrais dessus rapidement mais voici déjà l’annonce sur le Blog de la team Sync :
http://blogs.msdn.com/sync/archive/2009/11/17/announcing-sql-azure-data-sync-november-ctp-available-for-download.aspx
CA, ça roxe !
Cette session nous a présenté la plateforme Azure tel qu’elle a été imaginée au départ et vers où elle s’oriente.
Si on résumait l’évolution, on pourrait dire que nous avons eu :
-
Azure sort en CTP (ça c’est le passé)
-
Azure supporte des application critiques (ça c’est le présent)
-
Azure prend en compte le management, la facturation, la localisation, les outils (ça c’est le futur !)
Ce qui va nous intéresser bien sur c’est l’évolution de la plateforme !
La session arrive sur ce point à peine 10 minutes après le début. Bon Point !
Ce que j’ai pu en retenir :
La volonté de créer un environnement de programmation complet, et encourager les best practices.
Notre interlocuteur va d’ailleurs nous détailler comment il voit le dév. des worker roles et de web roles
Une nouveauté intéressante (enfin !) La possibilité de communiquer entre différents worker roles, via des Endpoints exposés, en HTTP ou TCP !
Le système va plus loin et nous proposera même un système de notifications, pour par exemple être prévenu lors de l’arrivée de nouvelles instances !
Imaginez des centaines d’instances communiquant ensembles, et pouvant être prévenues qu’une nouvelle instance est disponible !
Sinon, d’autres divers points :
- Support des magasins de certificats dans le cloud
- Support des providers ASP.NET (authentication, membership …) (ENFIN !)
- Système de logging et de diagnostiques directement sur le cloud
Quelque chose à mon avis de TRES TRES intéressant, c’est l’accès Remote sur les VMs Azure !
Dommage nous n’avons pas eu droit à une démo de cette feature, mais il reste pas mal de sessions, wait and see !
Vous connaissez déjà sous Azure les systèmes de Blob Storage ou encore de Table Storage.
Chacun d’entre eux va bénéficier de quelques nouveautés comme le Random read ou Random writes sur les Blob Storage ou encore le support du batch partitionning sur les Tables.
Une nouveauté vient s’ajouter la dessus : le Drive-Storage : A mon humble avis, un suppléant tout désigné du Blob Storage à terme, il permettra d’utiliser un système standard de gestion de fichier sur AZURE !
Nous avons eu droit à un Slide nous présentant la possibilité de faire des mises à jour à chaud des services hébergés sur vos Roles Instances. Pas mal, à tester !
Enfin, une dernière nouveauté, le Service Management, un ensemble d’api de management de votre environnement Azure, à utiliser en parrallèle avec les API de diagnostics et de Logging
Je viens de me mettre à Twitter. Vous pouvez me suivre à cette adresse http://www.twitter.com/sebastienpertus
J’y tweet pas mal sur la PDC de cette année, avec un peu de fun par ci par là :)
Merci Patrice pour la formation accélérée ! :p
J’ai décidé d’assister à une première session sur l’intégration du DACPAC dans Visual Studio 2010.
Avant tout, je vous conseille de lire cet article de Christophe Laportes sur le sujet. Il couvre le sujet d’un point de vue SQL SERVER 2008 only. Ici il s’agit de couvrir la passerelle entre SQL SERVER 2008 (R2) et Visual Studio 2010
L’intégration avec Visual Studio 2010 se fait via un nouveau template projet :Database Application Component.
Visual Studio va produire des modèles objets compréhensibles, avec l’utilisation poussée de l’IntelliSense, ou encore le debuggueur.
On voit apparaitre un nouvel éditeur pour T-SQL, Débuggeur, IntelliSense, designer de police, analyse statique de code…
Tout cela pour résoudre les 3 principaux challenges du développement d’applications multi tiers: Développement, Déploiement et Maintenance
Mais me direz vous, il existe bien les .dbproj sur Visual Studio ? !
En résumé : Là ou on passait par l’exécution d’un script sqlcmd, là on intègre directement un .dacpac dans Visual Studio et inversement dans SQL SERVER 2008 R2
Par contre, il est clairement établi que les projets .dacpac sont destinés à des applications moyennes, là ou les .dbproj, certes plus complexe à mettre en œuvre, sont plus accès grosse applications.
Des démos qu’il en ressort, tout est trés encapsulé et assez opaque, ce qui peut expliquer le fait que tout ceci reste à utiliser dans des configurations moins poussées, moins complexes.
Un .dbproj lui, est un modèle trés ouvert, trop ouvert, qui demande plus de structuration, mais qui reste utilisable dans beaucoup de scénarios.
Roadmap
La vision à moyen terme et d’unifier le dacpac et le dbproj, pour combiner le meilleur des deux modèles

C’est parti pour le Keynote !
Autant le dire tout de suite, il n’y aura pas d’annonce fracassante cette année, en tout cas pas aujourd’hui …
| Le Keynote est ouvert par Ray Ozzie, figure emblématique, qui avait déjà officié dans le même rôle l’année dernière. | |
Hip hip cocorico, nous avons droit à une présentation de LOIC LEMEUR, un frenchy dont la société à développé Seesmic (client Twitter)
Celui ci nous présentera Seesmic for Windows et une preview de Seesmic for Silverlight, qui devrait être disponible d’ici 2 semaines. Du bon boulot, ça a l’air TRES fluide et l’expérience utilisateur a l’air poussée.
 | Viendront plus tard d’autres personnes comme Don Box et Chris Anderson qui mettront de l’ambiance comme à leur habitude pendant leur démonstration |
Ray Ozzie nous annonce que OUI, Azure hébergera plusieurs technologies comme PHP ou MySQL.
Ensuite, une présentation de WordPress on Azure. J’ai bien aimé quand le gars remplit le fichier de configuration en activant 1000 instances :) Bizarrement, il a pas validé !
Annonce des Roadmap Azure:
L’image est de mauvais qualité, voici les informations :
- PDC 2008 Octobre 2008 : Annonce d’AZURE
- PDC 2009 Novembre 2009 : Nouveauté AZURE
- Janvier 2010 : Mise en production
- Février 2010 : Facturation
Microsoft Pinpoint et Microsoft codename “Dallas”
Annonce de Microsot PinPoint : Systèmes de partage d’applications, de données et de services sur le CLOUD, un peu comparable à un “Market place for Azure”.
Rendez vous sur le site officiel Microsoft Pinpoint : http://www.pinpoint.microsoft.com/en-US/
Première brique sur Pinpoint : Microsoft Codename “Dallas” : Partage de données sur le Cloud AZURE.
Profitez de DataSources directement exposées sur AZURE. Ce service fait parti de Windows Pinpoint et est accessible depuis le portail PinPoint :
Petit démonstration de Dallas : La plateforme permet de charger les données directement dans Gemini, voir même vous pondre le code C# pour y accéder directement depuis Visual Studio 2010.
Sql Data Sync
 | Présentation de SQL AZURE DATA SYNC. Impressionnant, de simplicité, du clic and point, et votre base de données est synchronisée avec SQL AZURE ! |
J’irais faire un tour à la session dédiée sur ce sujet le dernier jour, stay tuned !
Microsoft Project Sidney
Sidney permet de connecter des applications sur votre propre domaine, depuis le Cloud. Rendre disponible une application locale depuis le CLoud. Comparez cela un peu comme du .NET SERVICE BUS, mais de plus haut niveau.
Une brique de sidney nous est présenté permettant de faire de la connexion point à point
Windows Azure Connectivity Agent : Dans l’exemple présenté, il résoudra le problème de connexion à une instance SQL SERVER
AppFabric
Annonce de AppFabric : Gros Framework permettant de développer des applications pour Windows et AZURE. Il s’agit là d’un environnement complet d’exécution et de développement.
S’en suit une démo de quelques Nouveautés VS 2010.
On peut noter, entre autre :
Démonstration du Single Sign On : Activation en 3 clics depuis un Wizard. démo rapide, pas eu le temps de voir grand chose
 | Validation coté client sur MVC 2 (il était temps :)) |
Démonstration de Intellitrace, qui permet de tracer toute l’exécution de votre application, pratique ! Notamment on a pu assister au débuggage d’une requete LINQ TO Entities et le script généré et exécuté sur SQL SERVER
Vient ensuite un petit tour sur un outil de diagnostic complet dans IIS : Dublin
Déploiement simplifié avec la gestion de profils, associé au mode de compilation (Release, Debug)
Application Model Project : Ou comment configurer votre solution pour le cloud, sans se soucier des fichiers de configurations.
Le déploiement va directement s’effectuer sur AZURE en mode Stagging
Démonstration du déploiement via POWERSHELL, dommage pas de photos, trop rapide :)
Viendra enfin une démonstration de System Center Management pour Azure. MS veut fédérer les systèmes de management que ce soit en intra que sur le Cloud avec des outils unifiés. SCM en est une pierre centrale
Voici quelques photos des annonces des disponibilités de la plateforme et des outils présentés pendant la plénière:
Enfin un dernier slide sur la localisation des DataCenters mondiaux, on notera 2 datacenters en Europe, disponible en 2010 !

Voilà, rapidement ce qu’on pouvait dire de ce premier keynote !
Maintenant, direction les sessions !!
Suite du workshop de ce matin.
Voici un aperçu non exhaustif de cette deuxième partie de session
Dynamic Worker Roles
Présentation des worker roles dynamiques : Ou comment répartir les types de travaux sur un worker role, et pouvoir ajouter de nouveaux types de travaux sans redéployer
La solution : Utiliser une file d’attente de stockage: Grosso modo, le principe est d’uploader les taches dans un Blob storage qui est chargé dans le worker role à la volée, dans un AppDomain perso, quand celui en a besoin pour parser un message.
Ah, petit exemple avec un service “PingPongService” :)
Le gros intéret réside surtout dans le fait que le déploiement d’un service mis à jour ne nécessite pas le redéploiement complet du Worker Role.
L’exemple est concluant, le redéploiement d’une nouvelle version d’une assembly est quasi instantanée, sans interruption des autres services du worker Role
The MapReduce Pattern
Concept du MapReduce : Diviser un problème énorme à résoudre en plusieurs problèmes plus simple, ou comment résoudre le traitement d’une charge trop importante pour un worker role.
A vous de définir comment mapper et réduire votre charge de travail, avec une fonction de répartition:
Storage Strategy
Il est déjà 15h quand nous attaquons les différentes stratégies de stockage
Chris Auld nous parle de Partitionning : Parce que les données sont trop volumineuses ou la charge top importante (trop de transactions / sec par ex) il est intéressant de partitionner (ça vous rappelle surement le partionning sous SQL SERVER non ? :))
Le partitionning est divisé en 3 types : Horizontal, Vertical et Hybrid.
L’Horizontal Partitionning est géré par défaut dans Azure Blobs ou Azure Queues, et à gérer dans SQL Azure
Le Vertical Partitionning, va découper les données sur plusieurs noeuds.
L’Hybrid partitionning prend les avantages et défaut des deux modèles précédents
Quelques slides supplémentaires nous présentent les meilleurs façons de partitionner sous SQL AZURE (qui reste une solution à implémenter selon votre propre méthode algorithme)
La partie partionning se termine sur une démo des différentes façons de créer une clé de partitionnement.

Plus de Messages
Page suivante »