jeudi 13 novembre 2008

Tech Ed 2008 : Windows Azure - Cloud Services

Windows Azure vient compléter la gamme des technologies majeures sur laquelle Microsoft investit avec des moyens colossaux. Rien qu'en investissement Datacenters pour l'hébergement de la plate forme, on parle en Billions de dollars!
Mais que se cache t'il derrière ce concept? c'est ce que nous allons tenter de clarifier dans cet article.
Windows Azure est également appelée "Cloud Platform" ou Plate format dans les nuages (comprendre le nuage internet). Ce principe avant-gardiste s'appuie sur des drivers business interessants :
  • Réduire les couts d'opérations et de capital en terme d'infrastructure
  • Simplifier le déploiement et la gestion d'applications
  • Pomouvoir de la flexibilité pour les applications et l'infrastructure associée.
  • Simplifier le dimensionnement à l'échelle internet
  • Mettre le focus sur les nouvelles fonctionnalités et non l'infrastructure
Microsoft Azure héberge sur cette plate forme des services appelés "Clouds Services" qui sont au nombre de 5 :
  • SQL Services
  • .Net Services
  • Live Services
  • SharePoint Services
  • Dynamics CRM Services
Schématiquement, nous avons la représentation suivante :

Wndows Azure permet donc d'étendre Windows "to the Cloud" en fournissant 3 types de prestations :

  • Le calcul : la mise à disposition d'environnment virtualisés basés sur Windows Server (en fait uneversion optimisée de l'Hyper V avec un coeur physique par machine)
  • Le stockage : Stockage de Blobs, tables de données
  • La gestion / configuration automatisée de Services : une gestion automatisés sur l'ensemble du cycle de vie des services.
  • Un SDK pour les développeurs : C'est du .Net, les développeurs sont donc opérationnels

Au plan de l'architecture, Windows Azure peut être vu comme une fabrique de Machines virtuelles, exploitant des services dont par exemple les .Net Services permettant d'écrire des programmes .Net, mais aussi des Workflows, d'accèder à des données, d'exposer des services, le tout en mode http / Soap et/ou en utilisant la technologie RESTFul.
Grace à Azure, une entreprise pourra exposer une application interne à des partenaires via le Service Bus, ou bien encore un groupe de partenaires pourraient utiliser les Workflows Services pour automatiser leurs Processus métiers inter-organisationels.
Ci dessous le schéma type d'une application hébergée sur la plate forme Windows Azure.

Concernant la Roadmap d'Azure, on a les jalons suivants :

  • Novembre 2008 : CTP + SDK développeur
  • Premier semestre 2009 : Large diffusion de CTPs, des Datacenters additionnels, Pricing & SLA
  • Q4 2009 : Disponibilité commerciale
Un point également interessant sera le cout de la prestation. Aujourd'hui, Amazon, avec l'offre
Amazon Elastic Compute Cloud (EC2) s'impose déjà comme un concurrent agressif avec des couts de l'odre de 10 cents l'heure d'utilisation, cette offre propose des environnements virtualisés sour Linux ou Windows. On note également la présence d'acteurs majeurs tel que Google avec Google AppEngine proposant des applications Web basées sur Python. La politique de prix de Microsoft est donc attendue avec grand intérêt.
En conclusion, les Plate formes Clouds sont là, et Microsoft entend être un acteur de premier plan sur ce créneau, un nouveau monde se découvre, préparons nous à en faire partie.

mardi 11 novembre 2008

Tech Ed 2008 : WF 4.0 - DUBLIN - OSLO => The Power of three

Aujourd'hui, force est de constater que l'utilisation de Windows Workflow Foundation reste marginale dans le domaine du développement d'applications.
Une des raisons à cet situation réside dans le fait que si la création d'un Workflow reste une tache simple, en revanche, le hosting de ce workflow ainsi que l'échange de données entre le workflow et son application cliente est complexe et ne parlons pas de la création de Custom Activities. Et c'est précisément à cette problématique entre autre que répondent Dublin et WF 4.0, une fois le Workflow crée sur ces technologies, "It just works!".
WF 4.0, Dublin et Oslo forment les foundations de la prochaine génération d'applications windows distribuées, dans un monde où la logique applicative sera :

  • Exécuté comme un workflow.
  • Exposé via des services.
  • Défini au travers de modèles.
Pour résumer ces trois technologies on parlera de Workflows, Services et Modèles. Ces technologies peuvent interoperer ou fonctionner individuellement.

Cette nouvelle plate forme technologique répond à un réel besoin issu de feedbacks clients :
  • Avoir des services WF et WCF opérationnels et fonctionnant simplement
  • Pouvoir facilement héberger, monitorer et controler les Services WF et WCF.
  • Avoir une meilleure instrumentation et des possiblités de scripting.
  • Avoir des extensions serveurs built in pour un niveau de service entreprise : stabilité, scalabilité et performance.
WF4.0
Cette technologie va permettre la coordination des taches effectuées par une application. WF 4.0 sera livré avec Visual Studio 2010 et .Net 4.0. Je détaillerai dans un prochain article les nouvelles fonctionnalités qui sont légions au vu des présentations faites lors de cette édition de Tech Ed.


Dublin
Consiste en des extensions de Windows Server (évolution de WAS/IIS) ayant pour role l'exécution et la gestion des Workflows et des services WCF. Dublin permet d'apporter une gamme de services proches de la plate forme Biztalk (mais sans couts de licenses) avec par exemple : Le hosting, la persistence, le monitoring et la partie Messaging plus des outils de scripting avec Powershell. Dublin sera disponible peu après Visual Studio 2010.

Oslo
Il s'agit d'un ensemble de technologies de modélisation (DSL) Oslo est un plate forme de modélisation architecturée sur trois composants :
  • Un repository : Stockage pour les modèles de schémas et d'instances
  • Un langage de modélisation, nom de code "M" : un moyen de définir des schémas et biens plus
  • Un outil de modélisation, nom de code "Visual Studio Quadrant" : un Editeur Visuel pour la création de modèles stockés dans le repository. L'outil permet notamment la création de nouveaux types de workflows plus puissant nommés les FowChart Workflows
En conclusion :
Absolument tous les aspects concernant le Hosting, le monitoring et le controle du Workflow (Activity Tracking) est pris en charge par Dublin, il est même possible d'effectuer du load balancing pour l'exécution de workflows. De plus, WF 4.0 est bien plus performant que la version actuelle (10-100x) et offres une bibliothèque d'activités bien plus étendues ainsi que de nouveaux types de workflows plus puissants, les FlowCharts. L'IDE de développement s'appuie entièrement sur WPF et permet significativement d'accèlérer la création de Workflow en XAML.
L'objectif est clair : améliorer le monde du développement en se basant sur la puissante de 3 nouvelles technologies faites pour travailler ensemble ou de manière complémentaire.





Preview de Visual Studio Quadrant


lundi 10 novembre 2008

Tech Ed 2008 : VSTS 2010 à l'honneur lors du Keynote

Le ton est donné dès le Keynote de cette édition des Tech Ed 2008, VSTS 2010 (Codename Rosario) est le produit mis en avant par Microsoft cette année devant Windows Azure qui est tout de même une des plus grosses nouveautés du moment : Windows Azure est la future solution de Hosting de services surnommées "Clouds Services". Pour information, Windows Azure va mettre à disposition les services suivants :
  • Live Services
  • .Net Services
  • SQL Services
  • Sharepoint Services
  • Microsoft Dynamics CRM Services
Le hosting de développements va permettre de nouveaux Mode de développement et mise à disposition de ces applications. Ci dessous la big picture de la future plate forme "dans les nuages"

Pour en revenir à VSTS 2010 ( Nom de code Rosario), cette mise en exergue lors du Keynote est largement justifiée tant les nouveautés apportées par cette nouvelle plate forme sont nombreuses (Voir les autres articles sur ce blog pour plus de détails). Lors du keynote, Jason Zander (General Manager Visual Studio Team Developer Division) a effectué une demonstration à couper le souffle présentant les fonctionnalités à venir, et notamment la partie TeamLab pour la mise à disposition d'environnement virtuels de tests ainsi que les dernières nouveautés concernant l'implémentation du support de WPF au niveau de l'IDE de développement avec une large palettes de nouvelles fonctionnalités, apportant une nouvelle expérience utilisateur aux développeurs.
Pour résumer, on notera dans les grandes lignes :

Coté IDE Visual Studio
Le support de WPF dans l'intégralité de l'IDE de VSTS, enrichissant l'expérience du développeur et du testeur. On voit ci dessous, l'historique pour une portion de code affichant des informations sur les développeurs ayant modifié un bloc de code, l'historique graphique sur la couverture de code par les tests unitaires et au bas de la fenêtre WPF diverses information.

On est capable très facilement à partir d'une fonction ou méthode donnée d'avoir la liste des callers / callees et de s'y déplacer, Un nouvel outil de Quick search permet de repèrer et accèder à tous types d'artefacts projet, et permet de localiser des mots clés dans une page de code avec une prévisualisation en WPF des résultats trouvés dans la barre de défilement! A voir absolument.

Sharepoint enfin!
L'intégration tant attendue d'un environnement de développement pour SharePoint, s'apparentant à l'approche faite avec le module Database for Professional, sauf qu'au lieu de se connecter à une base de données, on se connecte à un serveur Sharepoint, et à partir de là , on a tout loisir de créer de nouveaux objets via les nouveaux templates de développement, y compris des Webparts en mode graphique, évidemment, l'intérêt de cela étant la facilité du déploiement des nouveaux objets.

La simplification de la complexité à l'aide des modèles visuels : L'Architecture Explorer
Les outils tel que l'architecture Explorer permettent de comprendre bien plus rapidement du code que l'on reprend, cet outil permettra également de créer des Work Items, des diagrammes de séquences. On aura également la possibilité d'explorer les dépendances entres les différents composants ou classes de notre système avec des liens dessinés en tenant compte du niveau de dépendances entre les objets : Plus la dépendance est importante, plus le tracé est épais. Le diagramme est évidemment interactif et permet par un simple double clic d'accèder au code.

Le Module Testeur : Camano et TeamLab
Le module Team Lab avec la capacité de faire mieux collaborer développeurs et testeurs, donner accès à l'environnement de test par un simple lien dans un Work item pour accèlérer l'activité de reproduction du bug, on a également, le recording d'une video de la phase de tests ayant mis en évidence le bug, cette video est rattachée au Work item de type bug transmis par le testeur au développeur et nouveauté, on a égalemnent le splittage de la vidéo étapes par étapes dans la restitution des étapes d'un test permettant au développeur de ne voir que la séquence de la video qui l'interesse pour résoudre un bug (encore un gain de productivité). Ci dessous l'interface récupérée par le développeur après avoir cliquer sur le lien inclus dans son Work item de bug lui donnant accès à l'environnement de test ou s'est produit le bug. :


Test Driven Development
VSTS 2010 permet véritablement l'écriture en mode TDD simplement à l'aide d'un raccourci de touche magique, Ctrl . qui va permettre de créer à la volée, les membres et méthodes non encore implémentés que le développeur invoque à partir de son test

Développement Web
Les développeurs Web trouveront également une fultitude de nouveautés pour accèlérer leur développement. Ce dessous la slide résumant les points nouveaux :