Houston est un projet Microsoft qui vise à créer un "sql management studio" en ligne pour Sql Azure. On y retrouvera principalement les fonctionnalités suivantes:
Un panneau de navigation incluant un outils de recherche (pour les objets sql)
Un cube d'information contenant les statistiques d'utilisation de la DB et des liens vers des ressources.
Un "table designer" et un éditeur de données (pour les tables)
IndexedDB est un projet du W3C visant à offrir un espace de stockage structuré pour les applications WEB (sous entendu ici les pages WEB).
Cet espace de stockage est un peu une DB SQL mais pas vraiment non plus.
IndexedDB reprend certains principes et quelques exigences des moteurs relationnels mais est accessible à partir de code JavaScript et ce SANS devoir connaître la syntaxe Sql. De surcroit, l'API est asynchrone, si cela complique un peu le développement, cela permet per contre de préserver la fluidité du navigateur internet.
IndexedDB est conçu pour stocker et manipuler efficacement des objets Javascript (JSon). Le but étant de fournir un stockage persistant et performant.
IndexedDB est par ailleurs la technologie que Google ChromeOS utilise pour stocker les données utilisateurs (les "User Experiences Informations"). Ainsi, en démarrant ChromeOS sur une autre machine et après une phase de login, toutes les informations de l'utilisateur redeviennent accessibles comme s'il n'avait pas changé d'ordinateur (ses contacts, bookmarks, fond d'écran, etc).
Cette technologie actuellement en Beta est disponible sur WebKit, FireFox et Internet Explorer (via un plug-in). Elle est promise à un bel avenir... comme toutes les technologies publicités par le géant du Web.
Présentation
Voici une vidéo de présentation en provenance de Google. Elle est assez intéressante mais un peu longue.
Il aurait été plus intéressant de disposer de plus de code et d'un peu moins de discours.
par contre, les exemples de code sont disponibles dans le document de présentation juste en dessous de la vidéo (c'est nettement plus croustillant).
En naviguant un peu sur le Web, je m'aperçois qu'il n'y a pas vraiment de définition pour expliquer ce qu'est le "Cloud Computing".
C'est un peu navrant d'avoir un terme à la mode abondamment utilisé sans disposer d'une définition correcte du concept.
Définir Cloud Computing
Le terme "Cloud Computing" provient de l'anglais et signifie littéralement "traitement/exécution dans le nuage".
Le nuage étant le symbole habituellement utilisé pour représenter Internet.
Ainsi donc "Cloud Computing" suggère qu'il est possible d'exécuter un logiciel sur la toile plutôt que sur son propre ordinateur.
Comme de plus en plus d'applications et services sont accessible depuis internet (GMail, Flicker, Amazon, Office.Net, Portail Internet, magasin en ligne, etc), il est presque logique d'imaginer qu'il soit possible de faire fonctionner ces logiciels directement depuis internet lui-même.
En résumé, Cloud Computing est une infrastructure qui permet d'exécuter un logiciel directement depuis internet et non plus depuis des ordinateurs que l'ont doit acheter, installer, configurer, connecter à Internet et maintenir. Une aubaine pour toutes personnes désirant développer des programmes pour le Web.
Aujourd'hui, en tant que développeur, il est donc possible d'écrire un logiciel et de contacter un tel fournisseur de service pour qu'il fasse fonctionner votre logiciel pour vous sur la toile.
En réalité, le programme ne se déplace pas sur internet entre les ordinateurs de monsieur tout le monde pour pouvoir fonctionner. Le programme est hébergé et exécuté dans un centre de donnée spécialement aménagé par le fournisseur de service Cloud Computing.
Il va de soit que le programme doit être conçu et écrit pour fonctionner sur ce type d'infrastructure d'exécution. Chaque acteur dans le domaine (Amazon, Google, Microsoft, ...) disposant de sa propre plateforme d'exécution (Amazone Elastic Compute Cloud, Google AppEngine, Windows Azure) avec ses spécificités et ses langages de programmation.
Ce que l'on paie pour un tel service; c'est le temps d'exécution et les quelques services annexes qui sont loués.
Le fournisseur de service Cloud Computing s'occupe:
De l'infrastructure. C'est-à-dire qu'il s'occupe du centre de donnée, de l'alimentation électrique, les connexions et la configuration des réseaux, la redondance, la connexion internet, etc.
Du matériel. C'est-à-dire qu'il s'occupe d'acheter et de maintenir lui-même le matériel informatique. Pas besoin de se tracasser pour l'achat de matériel, l'espace de stockage, les raccordements, la mise-à-jour, les backups, etc. Le fournisseur fournit les spécifications techniques de ses machines virtuelles.
De l'environnement d'exécution. C'est-à-dire qu'il ne faut pas se soucier du système d'exploitation, des programmes à installer et des licences à payer. Le fournisseur s'occupe de tout cela, il fournit les spécifications de l'environnement d'exécution. Il est seulement nécessaire de fournir le programme à exécuter.
Définition plus technique
Suivant les quelques lectures ci-et-là sur le Web, le "cloud computing" pourrait se définir par le regroupement des services suivants:
IaaS - Infrastructure as a Service.
PaaS - Platform as a Service.
SaaS - Software as a Service
IaaS - Infrastructure as a Service
C'est l'idée selon laquelle quelqu'un fournit l'infrastructure technique pour faire fonctionner vos applications. Ainsi, vous n'avez pas besoin de vous soucier de devoir spécifier le type de matériel ou le nom physique des machines sur lesquels vos serveurs fonctionneront. l'nfrastructure est fournie avec une spécification donnée et vous pouvez l'utiliser sans devoir vous soucier de qui détient le matériel.
L'idée directrice, c'est que vous pouvez louer le hardawre (machines, réseau, cablable, etc) à un tiers à la minute, heure ou mois.
PaaS - Platform as a Service
C'est l'idée selon laquelle quelqu'un peut vous fournir du hardware (comme le IaaS) plus une certaines quantité de logiciel tels que ceux nécessaires à l'exécution de votre logiciels (librairie, soft spécifique, os) ou bases de données. Il vous reste alors à conduire vos développement en fonction des spécification disponibles.
Par exemple, Salesforce.com offre Force.com qui n'est pas seulement une infrastructure mais aussi un langage de programmation. Il est possible de modifier/compléter (tuning) les applications de SalesForce pour qu'elles répondent mieux à vos besoins. Il est même possible de construire quelque-chose d'entièrement nouveau.
Dans le même ordre d'idée pour Windows Azure, un infrastructure complète et un environnement d'exécution (plateforme .Net + services divers) est mise à votre disposition. A vous de conduire vos développements en fonction des spécifications de la plateforme.
Pour résumer, c'est une Plateforme de développement en ligne, c'est-à-dire du matériel et quelques logiciels non-fonctionnels.
SaaS - Software as a Service
C'est l'idée selon laquelle quelqu'un peut vous offrir l'héberger une ensemble de logiciels que vous ne posséder pas (fonctionnant sur une plateforme et une infrastructure). Si les logiciels ne vous appartiennent pas, par contre vous payez "une location" pour son utilisation (par utilisateur ou quelque autre élément permettant de déterminer la consommation).
Dans ce cas, vous n'avez pas besoin de faire une quelconque tâche de programmation mais vous devez vous connecter et configurer le logiciel (généralement très flexible, configurable et personnalisable.
Dans un modèle SaaS il n'est pas nécessaire d'acheter quoi que ce soit, vous payez pour ce que vous utilisez.
Parmi les offres de Cloud Computing où règne un concurrence sévère entre certains acteurs (Amazon, Google, Microsoft Azure, etc), il existe également l'offre de la société française Gandi.
Si Gandi offre les services d'hébergement traditionnel (voir offres), cette société offre également un service Cloud Computing.
Fort de son service articulé autour de l'hyperviseur Xen, Gandi permet assez facilement la mise en place de serveurs de type Linux sur le Cloud.
Les informations d'hébergement cloud tel qu'appliqués par la société Gandi sont digne d'intérêt (à lire).
Loin d'un dédale d'explication, le modèle d'hébergement est présenté étape par étape et de façon claire.
Comme dans beaucoup d'offres concurrentes, Gandi propose des serveurs auto-installés mais il est également possible d'installer sa propre machine manuellement (à l'aide d'un mode expert).
Sur le plan commercial, l'offre articulée autour du concept des parts est attractive et modulable en fonction des besoins.
Finalement, il convient aussi de mentionner la mise en place d'une nouvelle "Hosting API" publique permettant de manipuler les ressources des serveurs virtuels (voir article TooLinux) ainsi que la mise a disposition du produit SiteMaker permettant de construire facilement et en ligne des pages à l'allure professionnelle.
Notes complémentaires:
Il est à noter que le produit SiteMaker proposé par Gandi est une version adaptée de MoonFruit :-).
Gandi semble avoir connu un incident majeur imposant le redémarrage de tous ses serveurs virtuels à raison de 75 serveurs par minute (voir ici et ici).
Gandi hébergeant plus de 38.000 serveurs, le black-out dura de longues heures pour certains clients. Mais il faut néanmoins reconnaitre que, d'expérience, ce genre d'incident arrive aux plus grands.
Microsoft Windows Azure Platform
Site reprenant un grand nombre d'information en tout genre.
Inclus des cases studies, information détaillées, grille de prix, etc accessible depuis un popup menu très bien organisé. A voir!
Service permettant le stockage persistent d'information sur le cloud.
Ce service inclus:
du stockage binaire dans les BLOBs (Binary Large Object),
Queue service (message queue),
table service (pour stockage d'information structurée sur laquelle il est possible de faire des queries),
Windows Azure Virtual Hard Drive (VHD) qui permet de monter une disque dur NTFS sur un Blob. Cela permet aux applications de télécharger ou uploader des fichiers directement dans un Blob.
Using development Storageà lire Explique comment configurer le simulateur Storage Service (qui lui-même utilise Sql Serveur).
Attention: l'URI est différente de celle utilisée dans le Cloud.
S'intègre avec Windows Azure Storage, CDN permet d'améliorer la fiabilité et les performance de l'utilisateur final en plaçant les informations physiquement près de lui. CDN permet de délivrer tout type d'objet web (javascript, css, etc), des éléments téléchargeables (soft, document, fichiers), des applications, des streams multimedia, etc. CDN permettrait également de délivrer du contenu et services tels que des Databases Queries, DNS, ...
MSDN: About Windows Azure CDN Excellent point de départ.
Aborde également le mapping d'un Blob du storage service.
Mapping vers Custom Domain Name.
Quelques API (Put Blob, Put Block, Put Page, Set Blob properties, etc)
L'appFabric est une partie de la plateforme Azure qui sert principalement à facilité la construction d'application Hybride.
On retiendra surtout deux modules dans l'appFabric:
Acces Control Service (ACS) permettant l'authentification des connexions et la gestion des règles de connectivité. ACS est un des éléments principaux du Service Bus, il permet à des clients ou applications (cloud ou non-cloud) de s'identifier. L'identification est d'ailleurs assurée par un composant "identity Provider", ce qui permettrait à terme d'autoriser de façon transparente des identifications à partir de login facebook ou twitter.
Service Bus (SB) est l'élément essentiel d'appFabric. Il permet à des applications Cloud et Non-Cloud de communiquer ensemble via une simple connexion internet (de type Http/https). Par exemple, un web-service privé (non publié) fonctionnant dans un data-center propre peut-être publier via service bus de manière à être accessible à des terminaux mobile actif sur des ligne aérienne (seul une connexion internet est requise).
Je recommande vivement le visionnement de la vidéo MSDN: AppFabric Overview(50 min), elle offre une excellente vue d'ensemble du Service Bus et de Access Control Service.
Building Windows Azure Services
Voici une série d'articles MSDN destinés à la mise en place de Services sous Windows Azure. Les articles abordent les différentes facettes techniques à maitriser et explique comment effectuer les développements sur le "Development Fabric" (simulateur du SDK)
En réponse à Google AppEngine, Microsoft lance "Windows Azure" (WAZ) sa plateforme et son service de Cloud Computing.
Très intéressant sur le principe, une telle platforme permet de prendre en charge une application sur le Net.
Les divers services (stockage, exécution, load balancing, gestion de montée en charge, DNS, high availability, etc) étant assuré par les WebFarms de Microsoft.
Probablement bâti sur le Framework .Net, Windows Presentation Foundation (WPF) + Silverlight et Windows Communication Foundation (WCF) , le developpement et déploiement d'application Windows Azure doit, plus que certainement, être relativement simple.
Bien que la plateforme "Windows Azure" propose des tables pour stocker des informations, ces dernières ne tienne absolument pas la comparaison avec les tables de base de données.
Le stockage d'information dans ces tables est plutôt comparable à une feuille Excel.
L'usage des tables est peu contraignant... tout est possible, de l'inconsistance de l'information (car pas de définition de schéma) au formatage totalement libre de l'information.
Il n'empêche que les tables permettront un stockage aisé d'informations élémentaires. Le contrôle du schéma et de l'aspect relationnel devra être pris en charge par la couche applicative.
Cet article "How Do I: Store Data in Windows Azure Tables" montre comment coder eune classe .Net utilisant les tables de Windows Azure pour stocker des informations mais également la configuration des services.
A noter que le service de stockage s'article autour:
Des tables
Des Blobs (large binary objects)
Des Queues de traitement.
Sql Azure
Pour le développement de plus grande envergure, un système de gestion et stockage de données relationnelles doit être envisagé.
Pour répondre à ce besoin, Microsoft propose le produit Sql Azure.
SQL Azure propse des services SQL standard, support TSql, est également Fault Tolerant (tout comme Windows Azure) et prévu pour les sénarios High Availability (car l'information est dupliquée).
Voici une série de vidéos collectées sur YouTube autour de Python et de Google App Engine, le tout regroupé par thème. Plus de vidéo sur la playlist YouTubes: Google App Engine
Google AppEngine (CampFire)
Trois vidéos d'introduction à Google App Engine
Painless Python
En deux parties
Google App Engine
Plus d'informations autour de App Engine
Developing and deploying an application on Google App Engine
App Engine Datastore Under the Covers (Google IO 2008)
Building Quality Apps on App Engine (Google IO 2008)
Managing your App Engine app with the admin console (ok)
Getting Started with App Engine in Eclipse
Becoming a Google Apps Solution provider (Google IO 2008)
Google App Samples
Addressbook: A walkthrough of a simple AppEngine application (ok)
Voici un article entamé il y a plusieurs mois et agrémenté au fil du temps. J'essaye d'y faire la synthèse des informations glanées, ci et là, sur la plateforme Windows Azure et ses relations avec les autres technologies "made in" Microsoft. Malheureusement, le domaine est vaste et la synthèse qui en découle difficile à conduire en un seul article. Même s'il a été composé au mieux, je ne dispose plus de temps à lui allouer (même pour du fignolage). Il sera donc publié en l'état, ainsi, soyez donc indulgent si je me suis offerts des largesses orthographiques avec le contenu. Bonne lecture.
Introduction
Déjà abordé dans l'article "Windows Azure - Le cloud computing façon Microsoft" (à lire), la nouvelle plateforme de Microsoft serait bien en passe de modifier profondément le paysage logiciel de la prochaine décennie.
Google et ses différents services ayant déjà démontré depuis des années que ce modèle est plus que fiable, pourquoi Microsoft s'y lancerait-il pas?
Déjà bâtie sur les fondations d'un data center et environnement "cloud computing", Azure permettra aux petites sociétés de mettre en place des logiciels d'envergures sans devoir obligatoirement lever des fonds pour investir et maintenir une infrastructure couteuse.
Les "data centers" Cloud Computing prenant en charge les problématiques de bande passante, disponibilité de temps machine et de ressources, Windows Azure se présente comme une plateforme + solution attractive.
Ainsi, avec l'excellent et populaire environnement .Net comme autre pierre angulaire, Microsoft s'assure le support d'une très large communauté de développeurs pour sa nouvelle plateforme Azure.
Et cela, c'est sans compter sur "la réplication" transparente dans les data centers "Cloud Computing" et quelques autres concepts avancés par Microsoft.
Si Microsoft est loin d'avoir tout inventé, il faut reconnaître de l'assemblage s'organisant autour de la plateforme Azure est prometteur.
Windows Azure... pas seulement du pure Web
De prime abord, l'on pourrait penser que Windows Azure et son modèle Cloud Computing n'intéresserait que les sociétés envisageant des logiciels/services Web.
Mais qui peut aujourd'hui se targuer d'ignorer le Web. Même si certaines applications n'ont pas de front-end sur le Web, Internet peut permettre d'offrir des services (Web Services) complémentaires aux clients.
Demain, Windows Azure permettra de mettre en ligne des applications pour lesquelles l'on n'envisageait pas d'avenir orienté Web (des ERP, des logiciels de Compta, gestion de stock, CRM, etc) et ce avec la même rapidité qu'une application stand-alone.
Même les plus réticents aux "Web" trouverons leur bonheur car Windows Azure n'impose pas l'exécution ou le stockage de l'application sur le Web (voir détails plus loin).
En abordant une vue plus large, les Web Services,Applications Web, etc peuvent être utilisés pour dynamiser le business d'une société existante en permettant aux clients, fournisseurs et partenaires d'interroger une partie de l'infrastructure de la société.
Une grande partie de la population est déjà familière avec ce principe car qui ne connait pas l "Internet Banking" ou les services/sites web des mutuelles. Les constructeurs automobiles y ont également largement recours dans leurs processus de distribution (ce n'est pas les concessionnaires qui le démentirons).
Windows Azure va stimuler, faciliter et sécuriser la création de tels éco-systèmes de services ou applications que cela soit sur site propre, sur le web ou en fonctionnement hybride (site-propre + web).
Les quelques points développés ci-dessous vont levé une partie du voile sur l'infrastructure Azure.
En y regardant de plus prêt et en assemblant les blocs, les plus clairvoyants y verront probablement les prochaines environnements de développements.
Data Center ou On-Promise
Bien que prévu pour fonctionner dans les data-centers de Microsoft, les applications écrites pour la plate-forme Windows Azure pourront être exécutées sur site propre (dénommé "On-Promise").
Les plus réticents pourront ainsi créer un environnement de type Azure au sein de leur propre société.
A l'heure actuelle, les seuls Data Centers disponibles pour la plateforme Azure se trouvent aux USA mais Microsoft planifie une extension en Europe (probablement Dublin et Amsterdam).
Avantages des data-centers:
L'utilisation de Windows Azure en Data Center présente un certain nombre d'avantages.
En voici quelques-uns:
Réplication des informations stockées (usuel dans le modèle "Cloud Computing").
Prise en charge de la maintenance et mise-à-jour des systèmes d'exploitation.
Serveurs d'applications ("services" seraient probablement plus approprié)
Service de transfert de données.
Pas de down-time.
"Pay as you go" (payer pour ce que l'on consomme).
Eco-système complet basé sur la platforme .Net, WCF, Asp, WPF, SilverLight
Disponibilité d'une DB relationnelle (Sql Azure, incluant la réplication)
etc
Pin-Point
Pin-point est une boutique en ligne de Microsoft permettant aux développeurs Azure de vendre leurs applications.
Avec l'aide des data-centers de Microsoft destinés à la plateforme Azure, la vente ou l'achat et le déploiement d'applications devient un jeux d'enfant (ou presque).
Se faire connaitre en tant que développeur ou société de développement Azure est forcement facilité.
L'achat, le test et le déploiement d'application Azure devient Trivial et d'une incroyable rapidité (plus besoin de trouver les machines de tests, d'acheter du matériel supplémentaire, etc).
Avec Pin-point et Azure le déploiement de software .Net s'apparente au modèle "Appliance" utilisé pour bon nombre d'applications (distribution d'application sous forme de machine virtuelle pré-configurée).
La principale différence réside dans le déploiement de code source plutôt que de fichiers binaires.
Dallas
A l'instar des AppStore (boutique en ligne permettant d'acheter des application), Dallas est une boutique en ligne permettant d'acheter de l'information.
Il est ainsi possible de publier et consommer des flux d'information de façon uniforme... mais en plus de pouvoir envisager de les rentabiliser.
Avantage:
Plus besoin de concevoir, implémenter et gérer par soi-même une solution de publication payante (et son infrastructure) lorsque l'on veut vendre de l'information.
Cas d'utilisation:
Publication d'article/journaux payant (le soir, le monde, etc), cotations et traitement d'information sur les marchés boursiers, informations statistiques diverses, info-traffic, indices de consommations, quantification anonyme de consommation de produits (médicaments) dans les officines, consommation food et no,-food dans les chaînes de magasin, résultat d'étude marketing, etc.
Un certain nombre d'information apparemment sans valeur peuvent être valorisée à l'aide d'outil statistique et être revendue (ou offerte) sur le net. J'imagine que bon nombre de résultats d'études "type universitaire" pourrait être partagé de cette façon.
Dallas peut devenir une plateforme et une plaque tournante du partage de l'information.
C'est qu'avec Dallas, il n'y a plus besoin de mise en page (et publication sur magazine ou net) pour l'émetteur d'information et le consommateur n'aura plus de besoin de traitement et réintégration de l'information dans un système informatique tiers; Dallas offre une interface "unifiée" pour partager l'information.
Service Bus, un layer de communication
La plateforme Azure dispose de son propre layer de communication (Service Bus) basé sur Windows Communication Foundation (WCF). Le Service Bus permet aux applications Azure de communiquer ensembles et ce de façon sécurisée (peu importe qu'elles soient prise en charge sur le Cloud ou On-Promise).
La communication entre les différentes applications se présente comme des "services" d'accès/de communications, "service" rendu par la plateforme Azure.
Ce service bus fonctionnant sur le Cloud, il permet également aux applications Azure (ou non) de communiquer avec d'autres applications Azure (ou non).
Un serveur d'une société X faisant fonctionner un ERP Z pourrait ainsi communiquer avec une application Azure (qu'elle soient prise en charge sur le Cloud ou On-Promise) ou bien encore directement avec un autre ERP-Y d'une Société H; Dans ce cas de figure étriqué, le "Service Bus" de la plateforme Azure prendrait en charge la communication entre les différents intervenants.
La vidéo ci-dessous présente un introduction (cas pratique de "Dinner now!") au Service Bus.
Ce cas d'utilisation néanmoins complexe met en avant la flexibilité du Service Bus.
Plus d'articles et de vidéos a propos de "Windows Azure Service Bus" sur channel 9.
Cet articles aborde d'ailleurs la mise en place (coding) autour du service bus.
Le cout
Concernant la politiques des couts, Microsoft n'a pas l'intention de prétendre être plus économique qu'une infrastructure physique réelle.
Selon le principe "Pay as you go", les factures mensuelles reprendront en charge votre consommation réelle de ressource.
A noter quand même que la plateforme Azure permet d'éviter les couteux problèmes de planifications et investissements matériels ainsi que les problèmes de redondance, mise-à-jour, down-time et de personnel.
Voici, a titre d'exemple officieux, les cout qui auraient étés en application pour des projets pilotes:
0,08 Eur par heure d'utilisation processeur.
0,10 EUR / mois par la location d'un Giga-Octect (1 Go) de stockage.
Les coûts s'articulent autour de 3 éléments faisant l'objet d'une structure de prix propre.
A savoir:
L'utilisation de Windows Azure (l'utilisation du système d'exploitation)
La base de donnée "Sql Azure"
Le serveur d'application.
Regroupement des équipes Microsoft
Windows Azure est probablement destiné à devenir le principal business de Microsoft.
Microsoft en est d'ailleurs convaincu et réorganise son savoir faire de façon stratégique.
C'est ainsi que l'on apprend que Microsoft fusionnement ses entités Windows Serveur et Windows Azure (sources: articles Microsoft et PcInpact).
Si le message ne semble pas assez claire, il n'est pas bien risquer de considérer qu'à terme "Windows Azure sera aussi important de Windows Server sur tous les plans".
SilverLight
Basé sur l'environnement .Net, Silverlight permet d'exécuter du code .Net sur une machine cliente.
A la base, Silverlight se présentait comme une alternative au Flash Player d'Adobe.
Mais puisqu'il est basé sur .Net, Silverlight bénéficie d'extensions intéressantes comme Windows Presentation Foundation, Windows Communication Foundation. Ainsi, Silverlight dispose intrinsèquement d'outils puissants pour exécuter une application de type "Windows" sur le client. La couche Windows Communication Foundation fournissant un accès au support de stockage distant.
En effet, de part son principe Silverlight est une extension du Web n'autorisant pas de stockage d'information (ou modification de la configuration) sur le poste client.
Mais de source officieuse, cela pourrait changer prochainement... et avec l'avènement de Windows Azune, Silverlight devient une nouvelle pierre angulaire. En effet, Silverlight pourrait exécuter localement des applications de type Windows qui stockent (ou pas) localement leurs informations de traitements.
Windows Azure et WCF offrent le support de communication et de stockage, la disponibilité de l'information, des services Webs et les applications à exécuter sur les postes clients.
C'est un peu comme télécharger ses applications à la demande en fonction de ses besoins. Elles fonctionneraient indépendamment de la même façon au travail, chez un client ou à la maison.
Seul besoin... Un navigateur internet et Silverlight. Pour les visionnaires, on est à mis chemin entre le poste de travail et les applications de type "Web Pure".
Il faut aussi savoir que Silverlight propose (ou proposera prochainement) un support matériel bien plus étendu que les produits concurrents (eg: Flash Player, etc).
Hormis la traditionnelle Webcam, le restant du matériel de la machine peut (pourra) être accessible depuis Silverlight. Une machine rudimentaire équipée de Silverlight et d'un scanner Code Barre peut alors devenir un puissant "point of sale".
Finalement et non des moindres, en plus de l'environnement internent (via le browser Internet), la prochaine mouture de SilverLight (v4) supportera de façon transparente les périphériques mobiles et les télévisions.
Avec un peu d'imagination, j'imagine qu'il soit facilement possible de créer un logiciel de comptabilité fonctionnant sous SilverLight ayant la capacité:
De se télécharger depuis une plateforme Azure (et donc toujours à-jour).
De dialoguer avec la plateforme Azure pour le traitement/stockage des informations.
De dialoguer avec des applications tiers (pour l'intégration de service).
Bien que n'ayant jamais testé Office 2010, il me semble raisonnable de penser que la version Web d'Office 2010 puisse être bâtie sur cette nouvelle mouture de Silverlight et Windows Azure (gestion d'accès concurrents).
Avis personnel
Google dispose déjà d'une solution Cloud Computing depuis quelques années (AppEngine).
Mes quelques recherches sur le sujet fûrent des plus captivant et force est de constater que Google dispose d'une force de calcul astronomique (ses data centers) et d'une main-mise sur l'information.
Google dispose donc de l'infrastructure adéquate laissant Microsoft loin derrière lui dans le domaine du Cloud computing... jusqu'aujourd'hui.
Si Microsoft sort maintenant du bois pour sauter dans les nuages (the Cloud :-) ), il ne dispose malheureusement pas des avantages de Googles.
Par contre, la très populaire plateforme .Net de Microsoft peut, elle, faire la différence.
Cet avantage là est indéniable!!!
Par le passé, l'émergence de la plateforme .Net, des technologies WCF (Windows Communication Foundation) & WPF (Windows Presentation Foundation) pouvaient être perçus comme des actions informatico-marketing pour "faire vendre" les produits de la société de Redmond.
Cette course aux nouvelles technologies et le manque de compatibilité ascendante en résultant (en lieu et place d'une consolidation des technologies Microsoft), ont souvent été mal reçu et mal perçu par le monde économique.
C'est que l'investissement constant que nécessite les plateformes Microsoft agace les professionnels. Vista en à d'ailleurs fait les frais puisqu'il est un cuisant échec dans le monde professionnel!.
Aujourd'hui, l'existence de la plateforme .Net, WCF, WPF, SilverLight, ASP.NET (supportant nativement, rapellons le, le caching et les Web-Farms) s'inscrivent en droite ligne dans l'exploitation d'une solution Cloud Computing.
Microsoft se lance dans le Cloud Computing en disposant déjà de tous les outils nécessaires; la plateforme et les technologies .Net déja bien éprouvées sont supportés par une large communauté de développeur.
Il ne reste plus à Microsoft qu'à se concentrer sur son infrastructure et l'ouverture de ses data-centers.
Microsoft et Google disposent chacun de leurs propres avantages stratégiques.
Mais Microsoft pourrait avoir envisager la meilleure des approches.