Microsoft Techdays 2010 (2/3)

Les Techdays sont l’occasion pour Microsoft de présenter chaque année à ses utilisateurs, du plus geek au plus boss, sa gamme de produits, d’outils sous forme de présentations, d’ateliers ou de retour d’expérience. Difficile de couvrir complètement cet événement tant l’offre de sessions est pléthorique, nous vous proposons donc, à travers une série de posts (voir le premier), sur les sessions que nous avions choisi et de partager avec vous notre ressenti.

Ce deuxième post est orienté nouveautés serveurs, cloud … et un petit bonus.

Session : SQL Server 2008 R2 pour les développeurs

Une session très technique qui présente les nouveautés du T-SQL dans 2008 R2 notamment les nouveaux types de données (Hierarchy, Date, Time, DateTime2) et leur utilisation. Une partie de la session servit à présenter l’utilisation de méthode .Net dans les procédures stockées. Il faut savoir que c’est possible, mais je ne vois pas grand intérêt à le faire. Des illustrations autours de ces points furent faites en T-SQL, mais également en .Net.

Sessions : Découvrir Windows Server 2008 R2 en 1h chrono et Les services de fichier et le stockage sous Windows Server 2008 R2

Première remarque : Windows Server 2008 R2, c’est long à dire. On ne se compare pas encore à du Capcom (Super Street Fighter 4 Alpha remix extra plus), mais on s’en rapproche. Vivement Windows Server 2008 R2 SP1 ! Bref, la R2 (pour faire court) reste une évolution mineure, mais qui apporte néanmoins son lot de nouveautés. Sans les citer toutes, voilà celles qui me semblent les plus intéressantes:

  • Hyper-V permet maintenant de faire de la migration de VM à chaud, sans les arrêter. Les VHD (virtual hard drive) sont extensibles à chaud également. Un petit utilitaire, Wim2VHD permet de déployer un WIM sans avoir à démarrer la VM.
  • L’apparition de BranchCache, qui automatise la stratégie de cache des fichiers entre sites distants.
  • La gestion de 256 cœurs et jusqu’à 300 VM par serveur. Regrouper les machines, c’est bien, parce qu’on a le « core parking » qui permet d’affecter toute la charge sur une partie des cœurs, économisant ainsi l’énergie, et surtout chauffant moins.

Pour le reste, il s’agit plus d’évolutions de 2008 que de réelles nouveautés.

Session : Temps réel dur avec Windows CE

Windows CE n’est à priori pas un OS dédié au temps réel. La session présente les manières de créer des applications temps réel en utilisant Windows CE (6.5). Un regret : plus de la moitié de la session servit à expliquer ce qu’est le temps réel. Du coup, la partie réservée à la mise en œuvre fut tronquée pour cause de temps, me laissant ainsi sur ma faim. Bref, en conclusion : il est possible de faire du temps réel sous Windows CE, même si, honnêtement, un OS dédié reste plus facile à appréhender et à utiliser.

Windows Azure AppFabric

Présentation des fonctionnalités de la plateforme et de ses différentes briques:

  • Windows Azure: l’environnement d’exécution d’applications web (Web Role) et services (Worker Role) sur le cloud, d’APIs de stockage de fichiers sous forme de blob, de donnée en tables dénormalisées ou queues (FIFO).
  • SQL Azure : environnement de stockage relationnel des données. Certaines fonctionnalités de SQL server sont ici désactivées (plus de détails) et notamment tous les services de reporting et décisionnel que l’on peut brancher sur un SQL Server classique.
  • Windows Azure Platform permet d’échanger à l’intérieur du cloud et vers l’extérieur via
    • ServiceBus
      • Relaie les appels de service vers les providers du service (s’étant initialement enregistrés auprès du ServiceBus). Gestion du Multicast
      • Négocie les connexions à travers firewall, NAT, DMZ puisque le provider du service n’effectue que des connexions sortantes vers le ServiceBus qui le redirige vers un client lors d’un appel. Permet même de négocier des connexions directes entre client et provider de service lorsque la sécurité le permet.
      • Est multi plateforme, peut exposer les services en SOAP ou en REST
  • AccessControl :
    • Sécurise les services, scénarios simple de user/password ou intégration avec ADFS v2
    • Fédération d’authentification entre plusieurs fournisseurs d’identité,
    • Support de Web Resource Authorization Protocol (WRAP) et Simple Web Token (SWT)

Une plateforme qui parait complète et qui privilégie la cohabitation avec des systèmes existants. La volonté apparait de ne pas se couper des standards et de s’intégrer dans des architectures hybrides.

Workshop: Développer pour Windows Azure (PaaS)

Le but de ce workshop était de montrer les différentes étapes pour créer une application hébergée sur le Cloud de Microsoft. Le cas d’étude portait sur une application ASP.NET classique. Le résultat est sans appel, rendre « Azure compliant » un site web est on ne peut plus facile :

  • Déploiement, le simple ajout d’un projet dans votre solution VS2010 et il suffit alors d’un click droit pour packager l’application sous la forme d’un zip et d’un fichier de conf pour ensuite le déployer sur votre environnement Azure (AppFabric).
  • Développement,  les services azures sont accessibles sous forme de surcouche de WCF, rien de nouveau à maîtriser.
  • Stockage (non relationnel),lLa encore c’est simple, il suffit de connaitre la connection string donnée par AppFabric et d’utiliser une API fournie par le framework pour être capable en quelques lignes de gérer ses fichiers sur le cloud.
  • Testabilité, le framework de développement met à disposition un outil « Development Fabric » permettant de reproduire en local le comportement du serveur AppFabric pour la gestion des applications, du load balancing, et du stockage. On peut donc debugger tranquillement son application en local avant de déployer.

Architectures hybrides Azure/Entreprise

Cette session dessinait brièvement différentes topologies de systèmes et de besoins et listait pour chacune d’elles les avantages et inconvénients à migrer sur le cloud Saas, PaaS ou IaaS (volontairement bref) :

  • Sites web marketing: demande sporadique, pics d’affluence, besoin de sécurité réduite

=> migration du site sur le cloud, meilleure gestion des pics d’affluence, économies en maintenance et gain en disponibilité.

  • Logiciel de CRM, utilisateurs nomades, besoin de disponibilité

=> passage à une offre de CRM SaaS (l’exemple classique de Salesforce), gain en maintenance, disponibilité, accessibilité depuis différents endroits et terminaux.

  • Référentiel métier legacy, besoin d’accessibilité depuis l’extérieur: restrictions juridiques (zone de stockage), accès depuis multiples plateformes, besoin de sécurit

=> on garde son référentiel localement et on expose des services un outil de Bridge dialoguant avec Azure ServiceBus et permettant d’exposer son service au public contrôlé par AccessControl.

Session intéressante car elle adresse des problématiques plus réelles et ne présente pas le cloud comme la solution idéale, mais plutot comme un moyen d’amélioration, d’optimisation et d’économie.

Session : objets vivants, objets intelligents

Une session sur le design, qui partait à priori d’une très bonne initiative : explorer les comportement émergents et les interactions entre objets dès lors qu’ils sont rendus ‘intelligents’ par la technologie. Malheureusement, les projets présentés ne sont que des illustrations de concepts qui existent dans la littérature SF depuis un demi-siècle (utérus artificiel, table-écran,…). Il manquait vraiment un coté concret, sur les possibilités offertes par la technologie d’aujourd’hui (par opposition à celle du futur à base de nanomachines et autres) dans la création d’objets ‘awares’.

A suivre …

Mick Philippon, Nicolas Raynaud, Olivier Roux

2 commentaires sur “Microsoft Techdays 2010 (2/3)”

  • à propos de la session "objets vivants, objets intelligents", entièrement d'accord... quoi que j'aurais peut-être été encore plus méchant : Au delà de l'aspect redite de Philipp K Dick, William Gibson, Neal Stephenson, Alastair Reynolds ou Dan Simmons pour ne citer qu'eux, (qui l'ont écrit 100 fois mieux peut-être parce que ce sont des écrivains et non des designers...) ; au delà des piques matérialistes ringardes - on peut être prix nobel de physique corpusculaire et croyant, ça n'a rien à voir ; au delà des références pourries à Faust et Frankenstein ; au delà de la blague sur les informaticiens tout puissants (et lui, il se prend pas pour un démiurge ?) ; au delà de... bref, ce qui m'a fait hurler (intérieurement) le plus c'est la vision simpliste que l'intervenant avait de l'émergence comportementale : prenez quelques (bon ok beaucoup de) nano-trucs, touillez un peu, attendez que ça prenne, et hop on a du comportement ! FAUX ! FAUX ! Et peut-être même pas désirable. La complexité ne naît pas que du nombre, sinon les plages de sable fin seraient super intelligentes. Pour obtenir du "comportement" (terme qui n'a pas été clairement défini d'ailleurs - donc je dirai que c'est de la complexité qui se reproduit et devient de plus en plus complexe à chaque génération - qui évolue en gros), je pense qu'il faut aussi dans la recette, entre autres, une disymmétrie originelle, un très très grand nombre de degrés de liberté, du temps, beaucoup de temps et de la chance de ne pas se faire rattraper par l'entropie. Si notre ami compte produire du comportement, il peut attendre quelques milliards d'années avant que sa soupe originelle produise, par hasard, quelque chose qui ressemble à un ersatz de molécule d'ARN... et on est encore loin d'avoir du "comportement". Et si, pour accélérer le processus, on introduit trop de contraintes, alors ce n'est pas du comportement autonome, simplement une forme de réseau distribué qui obéit au doigt et à l'oeil aux humains et est con comme un bol. Bref, pour moi, Terminator et Matrix resteront encore un bon moment de la SF. L'intelligence artificielle égale à l'intelligence humaine, ce n'est pas pour aujourd'hui (et si ça arrive, on n'aura probablement pas fait exprès). Conclusion : cette session, c'était une insulte à notre intelligence (et accessoirement à notre culture... Attention, l'informaticien moyen lit pas mal de SF ; certains même en écrivent). PS : je ne critique absolument pas le travail réalisé par ses élèves qui sont probablement très bons dans le cadre des études qu'ils mènent.
  • Pour rebondir sur la session "Session : SQL Server 2008 R2 pour les développeurs", je cite : "Une partie de la session servit à présenter l’utilisation de méthode .Net dans les procédures stockées. Il faut savoir que c’est possible, mais je ne vois pas grand intérêt à le faire." Effectivement, dans une appli de gestion il n'y a pas grand intérêt, surtout que pour le coup il faut avoir la CLR sur le serveur hébergeant SQL Server et activer le mode CLR dans SQL Server. Heureusement, la CLR se charge uniquement quand une procédure stockée utilisant du .Net et appelée. Par contre le fait d'utiliser du code .Net apporte des possibilités complémentaires au T-SQL pour faire des traitements plus complexes et avoir un cache mémoire objet. Je pense notamment à la possibilité de développer des calculs scientifiques dans une appli uniquement SQL Server + Procédure stockée avec du .Net. Exposant ainsi des calculs complexes sur les données sans avoir besoin d'une couche objet complémentaire au dessus de la couche base de données, puisqu'on l'intègre directement dans les procédures stockées exposées sur la base via l'implémentation de code .Net. Après reste à comparer le coût de développement et de maintenance d'une telle architecture par rapport à quelque chose de plus "classique", et également voir comment y implémenter le harnais de test. Merci pour l'ensemble de vos retours sur les TechDays, ayant également participer je reste un peu sur ma faim sur certains résumés, mais il est vrai qu'il y aurait beaucoup à dire et il est plus simple d'attendre les podcasts. Je vous invite à mettre à jour vos articles avec les liens vers les podcasts quand ceux-ci seront disponibles.
    1. Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


      Ce formulaire est protégé par Google Recaptcha