MSDN France propose pour stimuler vos neurones pendant les vacances des vidéos d'introduction - "5' pour comprendre", dont un aperçu des technologies Microsoft beta dont le Sync framework, Astoria, Entity Framework et le Cloud Computing.

Les autres épisodes de 5' pour comprendre méritent aussi le détour si vous souhaitez avoir un premier aperçu de l'une des technologies suivantes : Visual Studio 2008, .Net 3.5 (WCF, WPF, Linq, AJAX, WF, CardSpac, XNA...)
Enregistrée pendant les TechDays 2008, voici un avant-goût de la proposition Microsoft pour inter-connecter des applications via un bus hébergé dans les nuages. Le tout au travers d'une démonstration basée sur les Biztalk Services, technologie en preview dans nos labs.
Le WebCast et la présentation sont ici :
Venez découvrir pourquoi et comment vos Services échangeront demain des messages via l’Internet Service Bus. La mobilité et les échanges sont au cœur des usages informatiques. Demain, les Services seront consommés tantôt à l’intérieur de l’entreprise, tantôt par des acteurs externes qu’ils soient employés, partenaires ou clients finaux. Aussi, les stratégient qui se résument à créer des passerelles dédiées pour telle ou telle cible (B2C, B2E ou B2B) ne pourra supporter la multiplication des échanges et des tiers. C’est pourquoi les équipes R&D Microsoft travaillent sur la constitution d’un bus d’échange sur Internet. Ce bus est prêt à l’emploi : vos Services quels qu’ils soient .NET, JAVA ou PHP peuvent s’y connecter pour être visibles au-delà des frontières de l’entreprise. Nous illustrerons nos propos en présentant un exemple d’échange sur la dernière CTP de BizTalk Services, et présenterons l’architecture de ce bus de services, les fonctionnalités qu’il propose en standard et comment l'enrichir.

A l'occasion de la conférence mondiale Partenaires (WW Partner Conference 2008), Microsoft vient de dévoiler la tarification de ses offres Online Services (à savoir à partir de 3$ par utilisateur et par mois) et de façon originale car inédite, Microsoft propose de rémunérer ses partenaires à la fois à la souscription + sous la forme d'une rente mensuelle.
Rappelons que les Microsoft Online Services correspondent aux offres Serveurs traditionnels Microsoft mais hébergées ici dans les Data Centers Microsoft. Cette offre comprend aujourd'hui 2 suites, en fonction du type d'utilisateur soit occasionnel soit régulier :
- Pour les services à destination des utilisateurs occasionnels, "Microsoft Online Deskless Worker Suite" comprend une messagerie Exchange, un mail reader "Outlook Web Access", et l'accès au portail SharePoint. Tarification : 3$ / utilisateur / mois
Exchange Online Deskless Worker will provide e-mail, calendars, global address lists, anti-virus and anti-spam filters, as well as Outlook Web Access Light for access to company e-mail. SharePoint Online Deskless Worker will provide easy access to SharePoint portal and team sites and search functionality, giving employees read-only access to important information such as company policies, training and benefits.
- Pour les employés de bureau, "Microsoft Business Productivity Online Suite" comprend des versions Online de Exchange, SharePoint, Office Communications et Live Meeting. Tarification : 15$ / utilisateur / mois pour la suite, et il est aussi possible de souscrire à ces produits de façon individuelle.
For information workers, businesses can provide an online business productivity suite of Microsoft’s enterprise-class communication and collaboration software as a subscription service. The suite includes the following: Exchange Online for desktop and mobile e-mail and calendars with Outlook Web Access and full Office Outlook integration Office SharePoint Online for portals, collaboration, search and customized team sites Office Communications Online for instant messaging and presence Office Live Meeting for Web conferencing and videoconferencing
De plus, de l'inédit à ma connaissance côté commercialisation puisque Microsoft innove en proposant de rémunérer les partenaires prescripteurs de l'offre à la fois à la signature du contrat (12%) mais aussi de façon annuelle (6% récurrents) ! Pour en savoir plus si vous êtes partenaire...
Ces offres sont réservées aux Etats-Unis dans un premier temps, et s'ouvriront courant d'année prochaine à l'Europe.
De son côté, Microsoft Dynamics CRM Online sera disponible à l'automne 2008 à un prix promotionnel partenaires de 19$/utilisateur/mois.
Dans le billet "PaaS ou S+S" daté de Mars dernier, nous avions présenté l'approche PaaS (Plate-forme as a Service). En fin de billet, nous avions comparé les approches - de type PaaS versus l'approche S+S promue par Microsoft - en soulignant que la flexibilité du S+S dans le mode d'hébergement, répondait mieux à la multitude des scénarios envisagés en entreprise (coûts versus sécurité versus criticité).
Il semble que la société Bungee Labs, le challenger dans le domaine du PaaS face aux Sales Force, Google & co, vient confirmer nos propos. En effet, tel qu'annoncé fin Avril, Bungee confirme que des applications réalisées pour sa plate-forme PaaS seront hébergeables à demeure.
Récapitulons : il s'agit donc pour Bungee de proposer de bâtir des applications à partir d'une plate-forme intégrée et hébergée :
- soit dans les data centers Bungee Labs,
- soit chez Amazon EC2 (data center d'exécution d'environnements virutalisés),
- ou encore chez soi ("à demeure", dans son entreprise).
Une façon de se démarquer pour Bungee ou bien la prise en compte des besoins exprimés par leurs clients ?
"What we're enabling is the ability to host their applications where they want," Brad Hintze, director of product marketing at Bungee Labs.
A l'occasion de son départ, Bill Gates fait un bilan pour PCMag de ses 30 années et positionne la plate-forme Windows du futur, dans la logique Software + Services.
En avant-première de la PDC 2008, Bill souligne qu'à la différence des compétiteurs, Microsoft proposera une expérience de développement complète et unifée pour les applications hébergées dans les nuages.
- Traduction - Ce sur quoi nous travaillons et que Ray Ozzie annoncera pour la PDC, un peu plus tard cette année, est de permettre d'écrire facilement des programmes qui sont capables de s'exécuter à grande échelle dans les nuages, et de telle sorte que l'on comprend ce qui est réellement exécuté.
The thing we're doing that Ray Ozzie will talk about later this year at the PDC is how you make it easy to write those programs that are high-scale running in cloud data centers in a way that you really understand what is going on.
Et dans le contexte de l'article PCMag :
There is storage in the cloud, which is clear that your file should be up there and geo-distributed and backed up, and there is computation in the cloud. Those are both great, appropriate things, but the one that is without any tradeoff is to have the logical storage master up in the cloud. The one that you have to be careful of is what about computation, because computation is not free. And you have big problems with latency, offline, and scheduling that resource, which is a finite resource. But we are actually taking some pilot customers and moving huge parts of their data centers into our cloud where we manage it for them. Over the next couple of years, a portion of the data centers will start to move. Some people say data centers will move to the cloud very quickly, but I tend to think it will vary a lot
So you have two things moving to the cloud to be clear. You have stuff that could be done on the client, like storage where the master moves up and you just do caching. Then you also have server-based computing that could move into the cloud. Well that's just a different data center, but it may be one that has the scale and pooling. With some of the early efforts, like the Amazon S3 stuff, it still forces you to write the program that understands there are different computers and how things work on that.
The thing we're doing that Ray Ozzie will talk about later this year at the PDC is how you make it easy to write those programs that are high-scale running in cloud data centers in a way that you really understand what is going on.
Suite à son annonce par Michaël Manos lors Data Center World 2008, l'approche orientée "conteneurs" choisie par Microsoft est controversée.
Afin de répondre à la future demande pour ses services en ligne (Live et Office Live), Microsoft prévoit d'ajouter à ses Data Centers de l'ordre 10.000 serveurs par mois en montant progressivement jusqu'à 20.000 serveurs par mois. Pour tenir un tel rythme, la stratégie retenue consiste à s'appuyer largement sur des conteneurs - Microsoft C-blox, conformément à l'étude de James Hamilton. Si d'autres acteurs utilisent des conteneurs, il s'agit généralement d'une utilisation très limitée.
Microsoft innove donc en annoncant sa décision de remplir un étage complet du Data Center de Chicago avec 150 à 220 C-blox d'une longueur de 12 mètres, et d'une capacité de 1.000 à 2000 serveurs. (La fourchette est naturellement large pour éviter toute corrélation sur la puissance effectivement délivrée par le Data Center).
Les bénéfices attendus sont multiples :
- une utilisation optimale de la surface pour un nombre de serveurs jusqu'à 10 fois plus important qu'un Data Center traditionnel (organisé en racks),
- une rapidité d'installation puisque l'infrastructure nécessaire se limite à de l'énergie, de la bande passante et des pompes à eau contrairement à la mise en place d'un rack !,
- une disponibilité accrue en minimisant les interventions humaines : la maintenance du DataCenter sera assurée par une équipe de 35 opérateurs au total (24x365) : le CBlox est l'unité de maintenance, pas de réparation des éléments défectueux. Lorsque trop d'unités dans le CBlox sont jugées défectueuses, il est remplacé,
- une capacité d'innovation importante puisque les conteneurs sont renvoyés au constructeur lorsque leur efficacité devient trop faible. Le constructeur les équipe alors avec les derniers niveaux de matériels, le tout sur un cycle prévisionnel de 3 à 5 ans.
Si Microsoft innove avec le C-blox, cette approche est critiquée par certains spécialistes : 6 reasons why Microsoft's container-based approach to data centers won't work.
Est-ce que le monde du Data Center est trop conservateur ? trop frileux ? Est-ce que Microsoft saura relever ce nouveau pari ? et sur le long terme ? La réponse dans quelques années...
I do think containers will work, but there are lots of people who are going to disagree as it changes the game. Green Data Center Blog.
Les fondamentaux du Data Center
Un DataCenter peut se caractériser notamment au travers des 3 paramètres fondamentaux :
- Disponibilité (99,9998 par exemple, soit 17 secondes par jour de non disponibilité),
- Energie (consommée par les équipements, ainsi que les infrastructures, notamment la distribution de l'énergie - transformateurs et redondance -, PUE)
- Capacité (il s'agit du nombre de serveurs par m2, chiffre auquel on associe généralement la puissnace)
L'enjeu pour les constructeurs de Data Centers est d'optimiser le ROI associé aux paramètres ci-dessus selon une stratégie qui allie par ailleurs des facteurs tels que les économies d'énergie (Green Data Center, mode de refroidissement - air ou eau) ou bien l'adaptatibilité des infrastructures (Type d'installation des équipements (en rack ou en conteneurs), choix de remplacement ou réparation des équipements en cas de défaillance, rythme de remplacement des équipements pour tirer parti des innovations (18 mois, 3 ou 5 ans)).
L'innovation est difficile dans le domaine des Data Centers, de part leur complexité : les compétences sont multiples depuis l' électricité, la plomberie, le réseau, le matériel, l'administration de l'ensemble. D'autant plus que toute erreur coûte chère à l'arrivée étant donné les investissements colossaux associés.
L'approche Conteneurs : extrait de l'étude de James Hamilton
Shipping containers are ideal for the proposed solution: they are relatively inexpensive and environmentally robust. [...] More importantly, they are recognized world-wide [...] The container can be cost-effectively shipped over the highway or across oceans. Final delivery to a data center is simple using rail or commercial trucking. The container can be placed in any secure location with network capacity, chilled water, and power and it will run without hardware maintenance for its service life.
 |
Many large Internet properties [...] now order full racks of equipment from the manufacturer, rather than individually packaged systems. Our proposal takes this progression one step further in that the systems are built out fully in the shipping container with full networking support and cooling. The systems don’t have to be individually packaged [...] The container is simply attached to network, chilled water, and power. |
[...] The modules are self-contained with enough redundancy that, as parts fail, surviving nodes continue to support the load. [...] we don’t replace individual failed systems. In this modified model, the constituent components are never serviced and the entire module just slowly degrades over time as more and more systems suffer non-recoverable hardware errors. Even with 50 unrecoverable hardware failures, a 1,000 system module is still operating with 95% of its original design capacity. The principle requirement is that software applications implement enough redundancy so that individual node failures don’t negatively impact overall service availability.
Live Mesh propose de simplifier la gestion de nos multiples matériels notamment la synchronisation des données entre ceux-ci. Au delà de l'utilisation de ce service qualifié de finalisé (Finished selon la catégorisation Software + Services Microsoft), jetons un premier coup d'oeil sur le futur kit de développement dont la disponibilité est annoncé pour d'ici quelques mois.
|
|
Commençons par le modèle. A chaque utilisateur, sont associés :
- des devices (PC, PDA, Mobile...),
- des applications (à terme, il sera possible de bénificier d'une expérience que je qualifierai de "Bought once, Deployed Everywhere")
- des actualités et des activités (à approfondir !)
- des données : les Mesh Objects |
Les équipes Live Mesh ont favorisé une ouverture maximale de la plate-forme pour rester agnostique au niveau des applications pouvant manipuler, enrichir les données consolidées dans votre univers Mesh.
Ainsi, les données associées à l'utilisateur - Mesh Objects - sont sauvegardées (MembersFeed, DevicesFeed, NewsFeed, DataFeed), synchronisées et accessibles selon la philosophie REST et sous forme de flux dont le format est adaptable parmi : ATOM, JSON, FeedSync, WB-XML, RSS... De plus, il est possible de s'abonner à des modifications intervenant sur les Mesh Objects (mécanisme publish / suscribe).
La plate-forme Live Mesh se présente donc comme suit. Pour entrer dans le détail de la structure des feeds et des interactions entre ceux-ci, je vous invite à parcourir la vidéo Live Mesh Developer Tour et découvrir cet article Live Mesh : A Developer 's Dream

Microsoft propose - en technical preview limitée - une nouvelle ère de connectivité au travers du Web : "Live Mesh". Quelques ressources pour découvrir la technologie :
Qu'est-ce que Live Mesh ?
Il s'agit de tisser un lien entre les différents matériels que nous manipulons : PC, Téléphone, PDA, au travers du Web de sorte à synchroniser ses données entre différents matériels mais aussi pour accéder à ses matériels à distance (il s'agit du Live Remote Desktop qui s'appuie notamment sur la tecnhologie Windows Remote Desktop).
Ce service est finalisé et à destination des particuliers (d'où marque "Live"). Un kit de développement permettant d'étendre la plate-forme devrait voir le jour dans les mois qui viennent. La technical preview de Live Mesh est limitée à l'Amérique du Nord pour le moment.
Par opposition aux solutions de type P2P (Peer To Peer), l'accessibilité à ses données est permanente puisqu'elle repose sur une plate-forme dans les nuages : l'infrastructure Windows Live, accessible au travers d'une interface Web : le "Live Desktop" (différent du Live Remote Desktop voir plus haut). Voici un aperçu de cette interface qui permet d'ajouter et interagir avec ses matériels mais aussi ajouter, synchroniser et partager vos données :
Une plate-forme de synchronisation et d'échanges de données ... et plus !
Cette première version de Live Mesh se concentre sur la connectivité de ses matériels (Live Desktop, Live Remote Desktop) et côté données (des Mesh Objects stockés dans le Live Mesh Storage Server), sur les aspects synchronisation (basés sur des feeds authentifiés) et partage sécurisé avec ses communautés (Live ID).
Cependant, ses concepteurs voient la plate-forme Mesh comme un moyen d'unifier l'accès aux applications : un achat groupé (au travers d'une lience unique) et un déploiement multi-devices pour bénifier au final une expérience utilisateur simplifiée pour la gestion de tous ses matériels.
Pour aller plus loin concernant cette vision plate-forme : lire le billet Live Mesh As a Platform et visualiser la vidéo Live Mesh for Developers en 10 minutes.
Les limitations de la technical preview
La preview est limité à quelques milliers d' utilisateurs, en anglais, et seulement aux US puisque la plate-forme est hébergée uniquement dans les data-centers US.
Si seuls les matériels Vista et XP sont supportés pour le moment, il est prévu pour les Mac et les matériels mobiles soient supportés dans les mois à venir.
Aucune date de disponibilité pour la France pour le moment.
A l'occasion de la réalisation d'une maquette, je découvre combien l'utilisation de Linq permet de nous faciliter la tache : voici une dizaine de lignes, comment publier les 15 derniers billets de trois blogs au travers d'un nouveau flux RSS.
|
1
2 3 4 5
6
7
8
9 10 11
|
string[] urls = {"http://blog.sfartz.com/feed/rss2", "http://blogs.msdn.com/ssfartz/rss.xml", "http://blogs.msdn.com/cloudcomputing/rss.xml"};
List<SyndicationFeed> feeds = new List<SyndicationFeed>(); foreach (string url in urls) { using (XmlReader feedReader = XmlReader.Create(url)) { feeds.Add(SyndicationFeed.Load(feedReader)); } }
DateTime minDate = DateTime.Now.AddDays(-30);
var mashedItems = from feed in feeds from item in feed.Items where item.PublishDate > minDate orderby item.PublishDate descending select item;
// Et maintenant restituons les 15 derniers billets sous forme d'un flux RSS
SyndicationFeed mashedFeed = new SyndicationFeed(mashedItems.Take(15));
using (XmlWriter writer = XmlWriter.Create(context.Response.OutputStream)) { context.Response.ContentType = "text/xml"; mashedFeed.SaveAsRss20(writer); } |
Ce code est exécutable dans des applications Serveur, Client Windows et Client Web :
- Serveur et Client Windows : à partir de la version 3.5 du framework .Net
- Client Web : à partir de la version 2 de SilverLight (en beta 1 actuellement)
Pour découvrir l'ensemble du code (jusqu'à l'affichage du flux RSS dans un espace Web SilverLight personnalisable) et pour parcourir d'autres exemples guidés, consulter les labs SilverLight.
Une interview assez complète concernant la construction du Data Center de Microsoft situé à San Antonio, Texas. Livraison : Novembre 2008.
Voici un nouveau type de services pour les équipes de développement et de tests - en complément de services déjà disponibles comme une infrastructure ALM dans les nuages.
En effet, la startup Skytap basée à Seattle propose de provisionner des machines virtuelles à la demande.
Si la gestion d'infrastructure virtualisée a été simplifiée avec l'introduction de gestionnaires de machines virtuelles (System Center Virtual Machine Manager), il n'en reste pas moins qu'il est nécessaire d'affecter des équipes à la gestion de ces infrastructures : Skytap cible donc les petites et moyennes entreprises.
A moins que les équipes distribuées géographiquement soient aussi intéressées par la possibilité de partager des états dans le cadre de la reproduction d'une anomalie par exemple.

Voici une série de billets qui expliquent comment intégrer une couche de persistance dans les nuages (SQL Server Data Services) à une application multi-tenant. L'architecture présentée est illustrée au travers de l'application de référence LitWareHR.

Eugenio présente son retour d'expérience en terme d'architecture, d'implémentation, gestion de cache, gestion du mode déconnecté pour des besoins de tests...
Nothing valuable is free, isn't it? SSDS gives you unlimited storage, tremendous flexibility, geo-aware location. You don't have to worry about backups, operations, disk failures, power, air conditioning, machines, etc. You just use it.
But all this goodness comes at a cost: you don't "own" the database any more, you can't assume the database is "close" to you (too chatty interactions with it, will lead into latency issues) and the programming model you were used to is different: there are no tables, stored procedures, views, joins, etc.
You will have to decide whether these cons, out-weight the benefits in your particular scenario, and hopefully some of the lessons learnt in Litware, although impossible to extrapolate to every scenario, will help you make that decision.
Principes d'une couche de persistance multi-tenant
Pour rappel, une couche de persistance multi-tenant doit être extensible pour permettre de créer des spécialisations sur mesure pour tel ou tel client. D'un point de vue technique, il s'agit d'apporter la capacité à son framework de persistance d'ajouter des attributs à des entités pour certains scénarios. Il est donc nécessaire de stocker 3 niveaux de données pour chaque type :
- les données communes à tous les types (ID, Version, Type voir des propriétés génériques tels qu'un nom court, un nom long, une description)
- les données racines au type (Adresse, Téléphone, Age par exemple dans le cas d'un type Personne)
- les données étendues du type, spécialisée par scénario (Numéro de sécurité sociale si l'application traite doit traiter un dossier patient par exemple)
Au niveau technologique, il est possible d'implémenter cette extensibilité au travers de 3 patterns : types XML, colonnes pré-définies ou encore via des tables d'extension. Ce document analyse ce choix en terme de performances.
Au fil de mes échanges, je m'aperçois que les populations techniques perçoivent encore de façon incomplète la proposition de Microsoft en terme de Cloud Computing.
En 6 pages, voici donc une synthèse "Microsoft et le Cloud Computing" qui présente la vision Cloud de Microsoft sous un angle Développement.
Bonus : Une matrice des technologies Cloud proposées par Microsoft et les principaux frameworks .Net impliqués dans un développement dans les nuages. Voici donc les technologies à suivre si le développement dans les nuages vous passionne !
DISCLAIMER : Ce document n' engage que la responsabilité de son auteur, et est amené à évoluer au rythme des annonces Microsoft.
La 6ème conférence annuelle du développement pour le monde de la Finances s'est tenue à New York les 12 et 13 mars dernier. Le thème de cette année était le "high-performance computing" (HPC), à savoir comment transformer ces extraordinaires puissances de calcul en avantage concurrentiel ou encore comment accélérer le time-to-market de ses applications. Les présentations sont en ligne ici : Microsoft’s Sixth Annual Financial Services Developer Conference.
Lab49 a réalisé un remarquable exposé sur la problématique de gestion de cache distribué, et particulièrement pour les environnements fortement distribués et à haute performance. Cette présentation est illustrée par des mesures de performances avec la technologie StateServer de ScaleOut.
Les tests réalisés par Lab49 (slides 30 à 45 - accrochez-vous un peu sur le début de la présentation, ça vaut le coup) mettent en exergue l' équilibre délicat à réaliser entre bande passante, volume du cache (taille et nombre d' objets), nombre de lecteurs et rafraîchissement du cache (mode read/only versus mode read/write).
Le 17 avril à Paris, un mois après Mix'08 Las Vegas, Jakob Hartung et Christophe Lauer présentent pourquoi et comment tirer parti des Services Web exposés par Microsoft, notamment les "Building Blocks" Live, Virtual Earth et SilverLight Streaming.
Réseaux sociaux, développement de communautés, services de cartographie 3D, extension aux mobiles et autres terminaux … telles sont les attentes des clients aujourd’hui. Windows Live Messenger, Windows Live Spaces, Office Live, … et bientôt Microsoft Online Services sont utilisés par des centaines de millions de personnes dans le monde mais ces services peuvent aussi être intégrés dans vos réalisations d’applications ou sites Web en apportant richesse de fonctionnalités et économies de temps et d’argent. Découvrez comment la stratégie Software + Services de Microsoft vous donne de nouvelles opportunités et quelles sont les Services, ressources et programmes partenaires pour en bénéficier pleinement.
