Вы находитесь на странице: 1из 6

Microsoft et le Cloud Computing

Tirer parti des services hébergés dans les nuages


A la croisée des chemins de l’entreprise (avec sa plate-forme applicative), et de l’individu (avec les
marques MSN & Live), les technologies Microsoft sont bien placées pour mettre en œuvre et tirer
parti de services hébergés sur Internet. Mettons en perspective les opportunités pour les développeurs
suite aux annonces Mix’08.

DISCLAIMER : ces propos n’engagent que la responsabilité de son auteur et en aucun cas Microsoft
France. Ce document est appelé à évoluer au rythme des annonces Microsoft, vous tenez entre les
mains la version du 4 avril 2008.

Stève SFARTZ, mailto://ssfartz@microsoft.com


Architecte en système d’informations, Division Plate-forme et Eco-Système, Microsoft France

Logiciels : de la sacralisation des Frameworks à l’avènement des Services


L’élan d’évolution du développement logiciel initié avec la généralisation des technologies Objet se
confirma avec l’avènement des frameworks techniques. Ces derniers facilitèrent la capitalisation des
expériences passées pour répondre à certaines problématiques récurrentes (Logs, Persistance,
Cache, Flexibilité…) . Par ailleurs, ils permirent la diffusion des connaissances grâce à la
communication de codes généralement ouverts, vers le plus grand nombre, à l’image du portail
communautaire CodePlex. Néanmoins, les frameworks ont apporté et continuent d’apporter une
réponse locale, dans le sens, limitée à une plate-forme unique (Java, .Net ou PHP).

L’approche Services est animée des mêmes intentions mais à une échelle plus globale : celle des
applications distribuées en Entreprise et au-delà. Il s’agit de capitaliser et donc de développer plus
rapidement des applications en s’appuyant sur des briques prédéfinies et indépendantes des
technologies. Le paradigme de programmation n’est plus l’Objet mais le Message dont le format
(SOAP, XML, JSON…) et le protocole - Orienté Opération (RPC) ou Orienté Ressource (REST, AtomPub)
- doivent s’adapter au consommateur.

Dans sa vision « Software + Services », Microsoft distingue trois catégories de Services :

- Les « Building Blocks » sont à destination des développeurs. Ils constituent des fondations
pour bâtir des services de plus haut niveau, notamment l’authentification Windows Live ID, le
stockage dans les nuages - SQL Server Data Services, et l’Internet Service Bus - BizTalk
Services,

- Les Services dits « Attachés » apportent de la valeur ajoutée à des Logiciels utilisés par
l’Entreprise. Ils sont utilisés principalement par des utilisateurs finaux, à l’instar des Exchange
Hosted Services ou de Windows Update,

- Les Services dits « Finalisés » sont directement exposés aux utilisateurs. Ils peuvent aussi
être étendus et enrichis par les développeurs via leurs kits de développements associées

4 avril 2008 http://blogs.msdn.com/cloudcomputing 1


Microsoft et le Cloud Computing

(SDK). Par exemple, les Microsoft Business Productivity Online Services (SharePoint Online,
Exchange Online…) ou Microsoft Dynamics CRM Live.

Dans la suite du document, nous nous concentrerons sur les Services à destination des développeurs,
à savoir les Building Blocks puisque ceux-ci peuvent être exploités directement par des applications
réalisées sur mesure. Nous ferons aussi un détour pour les interfaces programmatiques (SDK)
proposées par certains Services Finalisés pour faciliter l’intégration au système d’informations et
fluidifier ainsi l’expérience Utilisateur.

Le Cloud Computing : des Services dans les nuages

Par opposition aux applications « à demeure » installées en entreprise, le « Cloud Computing » peut
être vu comme une extension du système d'informations qui tire parti de ressources situées sur
Internet.

D’un point de vue technologique, le Cloud Computing promeut l’utilisation d’infrastructures


externalisées, qu’il s’agisse de ressources (Serveurs de calculs, Stockage de données, d’images, de
vidéos…) ou bien de services techniques (Relay cross-organisation, Messagerie, Gestionnaire
d'identités...). A ce titre, le Cloud Computing s’inscrit pleinement dans la vision « Software +
Services » de Microsoft, qui en résumé, inscrit le Logiciel dans une évolution qui tend à :

- s'appuyer tantôt sur la puissance du poste de travail au travers de Clients Riches (RDA),
tantôt sur l’universalité de l’accès au travers de navigateurs Web (RIA),
- en prenant soin de s'intégrer aux serveurs « à demeure » du Système d'Informations
- tout en tirant parti de ressources hébergées dans les nuages – le Cloud Computing.

Le Cloud Computing est à intégrer dans une réflexion globale des organisations. Par exemple, en
mettant à disposition des Services Finalisés tels que la gestion de relation client (CRM) ou bien le
collaboratif (Partage de documents, Reporting…), le Cloud Computing permet de décharger ses
équipes internes de capacités complètes du système d’informations qui pourraient être considérées
comme non stratégiques. En outre, le Cloud Computing permet de répondre rapidement à des
enjeux Métier nouveaux ou bien à fort potentiel de croissance, en proposant fondamentalement des
infrastructures prêtes à l’emploi et adaptables en terme de volume et de charge, un point sur lequel
les directions informatiques sont régulièrement challengées.

Enfin, l'externalisation de Services inhérente au Cloud Computing nécessite de définir ou remettre à


plat les niveaux de qualités de services attendues face aux fonctionnalités apportées. Ce ratio
[Qualité / Services rendus] constitue bien un préalable à la mise en place d’une relation contractuelle
avec ses fournisseurs dans les nuages.

Dans cette logique, Microsoft spécialise ses offres de Services en ligne à l'instar des Business
Productivity Online Services dont l’hébergement est proposé en mode « Standard » et « Dédié », et
de façon complémentaire en sur-mesure chez ses partenaires. On retrouve cette flexibilité au niveau
de la facturation avec un paiement à l’utilisation ou à l’utilisateur - plutôt qu’au serveur ou au
processeur comme c’est le cas pour l’informatique « à demeure ». De plus, la plate-forme
« Microsoft Digital Advertising » permet de financer le logiciel par des revenus publicitaires en
mettant en relation acheteurs, intermédiaires et fournisseurs d’espaces publicitaires .Le logiciel a là
encore largement sa place depuis la mise à disposition de places de marchés (pricing, vente,

4 avril 2008 http://blogs.msdn.com/cloudcomputing 2


Microsoft et le Cloud Computing

revente), mais aussi des outils de suivi de campagne marketing et surtout la nécessité d’intégrer la
publicité aux interfaces homme-machine (SilverLight pour le Web, Xbox pour le jeu…)

Développer pour les nuages avec la plate-forme Microsoft


Pour tirer parti du Cloud Computing, Microsoft propose des frameworks .Net spécialisés, complétés
par des services de type « Building Blocks » pour toutes les populations de développeurs (.Net, Java,
PHP, Ruby…). Rappelons que l’ensemble des Services Microsoft dans les nuages sont accessibles de
façon sécurisée et au travers de protocoles standards et ouverts.

Figure 1 : La plateforme Microsoft sous un angle « Cloud Computing »

La figure précédente présente un ensemble de frameworks dits « Cloud Aware », entendons adaptés
à des développements pour les nuages. Les développeurs .Net s’intéresseront à trois frameworks
fondamentaux, à savoir Windows Communication Foundation pour exposer des API
programmatiques, les ADO.Net Data Services pour exposer des ressources et enfin le Microsoft Sync
Framework pour synchroniser ses données entre des sources à demeure et dans les nuages :

4 avril 2008 http://blogs.msdn.com/cloudcomputing 3


Microsoft et le Cloud Computing

- Windows Communication Foundation (WCF) permet d’invoquer des Opérations selon le


paradigme SOA c’est-à-dire au travers d’un échange de messages de type Requête /
Réponse. Dès 2006, WCF proposa un support complet et évolutif des spécifications des
Services Web de l’OASIS (Enveloppe SOAP, Contrats WSDL…) ainsi que des spécifications
avancées WS-STAR (Transaction, Robustesse, Sécurité). Le framework WCF a été étendu
en 2007 pour supporter l’invocation d’opérations à partir d’URI et utiliser le format JSON
pour les échanges de messages. L’engouement d’aujourd’hui autour de WCF tient au fait
que Microsoft a réussi le pari de proposer le support de tous les protocoles (HTTP, TCP,
MSMQ, …) et formats (XML, SOAP, JSON) au sein d’un même framework : tous les usages
pour une compétence de développement unique !

- Les ADO.Net Data Services permettent d’exposer des données jusqu’alors limitées à un
usage interne, via les protocoles de l’internet. En s’appuyant sur une modélisation
conceptuelle (Entity Data Model), ce framework permet de couvrir à la fois les aspects
interrogation et accès en lecture mais aussi la mise à jour des sources de données. Une
version finale des ADO.Net Data Services est attendue pour l’été 2008.

- Le Microsoft Sync Framework constitue une puissante solution de synchronisation qui


permet de faire collaborer des applications, des services et des machines en mode
connecté et/ou déconnecté, quels que soient la nature des données, les protocoles de
communication et la topologie réseau. La preview du framework est disponible pour les
équipements fixes et mobiles Windows.

Remarques :

Ces frameworks sont eux-même utilisés pour construire les Services de plus au niveau de la
plate-forme Cloud Computing Microsoft. Ainsi WCF et ADO.Net Data Services sont mis en
oeuvre par les SQL Server Data Services pour exposer les données SQL Server, et WCF est au
cœur des BizTalk Services (voir ci-après pour la description de ces Services).

De plus, signalons que les consommateurs de services que sont les Clients Riches Microsoft -
ASP.Net AJAX 3.5, SilverLight 2.0 ou encore Windows Presentation Foundation s’interfacent
nativement à ces frameworks, dans leurs dernières versions.

Côté Services, Microsoft propose déjà pas moins de cinq Building Blocks Services à l’échelle de
l’internet : depuis la délégation de l’authentification au travers de Live (Windows Live ID SDK) ou la
diffusion de cartes interactives via Virtual Earth, jusqu’au stockage de flux vidéo avec SilverLight
Streaming, ainsi que le stockage de données (les SQL Server Data Services) et la connectivité étendue
à l’Internet (les BizTalk Services) :

- Les SQL Server Data Services s'adressent aux développeurs qui veulent se concentrer sur
la réalisation de leurs applications sans se soucier du déploiement, de l'administration et
de la sauvegarde d'un gestionnaire de données. Fruit de 18 mois de développement, ce
Service de stockage de données dans les nuages s'apparente à un immense cluster de
Microsoft SQL Server à l'échelle de l'internet, accessibles à la fois en mode Opérations et
Ressources (SOAP, XML, REST et AtomPub). La beta restreinte proposée aujourd’hui sera
étendue à l’horizon de l’été 2008.

4 avril 2008 http://blogs.msdn.com/cloudcomputing 4


Microsoft et le Cloud Computing

- Les BizTalk Services étendent le concept de Bus de Services à l’Internet au travers d’un
relais de messages hébergé dans les nuages – il s’agit des Connectivity Services. Les
communications sont sécurisées via des protocoles standards et les principes de la
fédération d’identité – il s’agit des Identity Services. La communication est établie de
façon flexible, sans modification du code du développeur ni besoin de recompilation.
Cette flexibilité se matérialise par un binding spécifique WCF – le RelayBinding - proposé
par le kit de développement des BizTalk Services. Ce service est actuellement en preview.

Le Cloud Computing nécessite-t-il une plate-forme dédiée ?

Pas forcément. Pour aborder le développement et le déploiement dans les nuages, certains acteurs
ont pris l’option de reposer sur une infrastructure d'exécution dédiée et externalisée. Cette approche
désignée sous le terme « Plate-forme as a Service » est complétée par un environnement de
développement souvent externalisé sous forme d’applications en ligne (en mode SaaS).

- Avantages : le tout en un avec un accès facilité au développement et au déploiement de


Services et d’Applications dans les nuages.
- Inconvénients : les codes sont développés pour une unique plate-forme cible et au travers
d’outils dédiés.

On serait tenté d'opposer les Plate-formes as a Service aux Plate-formes Applicatives traditionnelles
des grands éditeurs. Ces dernières sont utilisées pour provisionner des applications « à demeure » ou
bien dans l'entreprise étendue (l'entreprise et ses partenaires - hébergeurs compris).

Rappel : Une plate-forme applicative est composée d'un environnement de développement,


d'une infrastructure d'exécution, et d'outils de management et de gestion du cycle de vie des
applications. Dans le cas de Microsoft, les technologies associées sont Visual Studio Team
System et le framework .Net pour le développement, le système d'exploitation Windows pour
l'exécution (Serveur d'application IIS, Windows Activation WAS, gestionnaire de queue de
messages MSMQ, coordinateur de transactions distribuées MSDTC, infrastructure de
management WMI...), le gestionnaire de données SQL Server, la gestion des processus de
BizTalk Server et enfin System Center se charge des aspects management, supervision,
déploiement et help desk.

Finalement, les Plate-formes as a Service reprennent les concepts des plate-formes traditionnelles et
les spécialisent pour l'internet. Alors pourquoi créer des plate-formes dédiées, et ne pas s'appuyer
sur les plate-formes applicatives existantes pour créer des infrastructures d'exécution sur internet,
dédiées au Cloud Computing ? En d’autres termes, pourquoi ne pas s'appuyer sur une même plate-
forme pour déployer tantôt « à demeure » tantôt « dans les nuages » ?

C’est le choix qui a été fait par Microsoft au travers de l’initiative Oslo, à savoir la constitution d'une
plate-forme, qui soit capable d’apporter une flexibilité dans le déploiement des modules d’une
application : tantôt à demeure, tantôt vers des infrastructures spécialisées mises à disposition sur
Internet, telles que l’Internet Service Bus.

Remarque : L'originalité de l'approche d'Oslo réside dans la capitalisation sur les modèles :
réaliser une application via la description de modèles en restant agnostique en terme de cible
matérielle et d'infrastructure physique tout en étant précis en terme logique (contraintes,

4 avril 2008 http://blogs.msdn.com/cloudcomputing 5


Microsoft et le Cloud Computing

besoins...) pour être capable de projeter le plus tard possible l'application sur les
environnements d'exécution. Les premières previews des investissements Oslo au niveau de la
plate-forme applicative Microsoft sont prévus pour fin 2008.

Réflexions
L’évolution vers le Cloud Computing pourrait avoir lieu bien plus rapidement que prévu. En effet, si
les populations techniques en entreprise ne sont aujourd’hui ni formées ni organisées pour cette
évolution du développement logiciel, les atouts économiques et stratégiques du Cloud Computing
devraient accélérer son adoption. Par ailleurs, on constate une maturité certaine des technologies du
Cloud Computing qui héritent des investissements passés en terme de standards et de normes
d’interopérabilité ( Services Web, Fédération d’identité). De plus, la Cloud Computing s’appuie sur
l’expérience des professionnels de l’internet et des architectures Web (robustesse des
infrastructures, montée en charge via le protocole HTTP).

Fort des dernières annonces « Software + Services » et de l’initiative Oslo de Microsoft, nous nous
rapprochons d’un futur informatique mixte, où le Logiciel s’appuiera sur des Services tantôt à
demeure, tantôt hébergés sur Internet, mais aussi où le Logiciel exposera lui-même des Services en
interne, vers des partenaires commerciaux et des clients. L’utilisation de technologies répandues
telles que .Net et la mise en œuvre d’une plate-forme applicative unifiée pour l’entreprise et pour
Internet permettra de prendre ce virage progressivement et à moindre coût.

Ressources

- Software + Services : Comment articuler Logiciels et Services


http://blogs.msdn.com/ssfartz/archive/2007/09/21/software-services-la-soa-oui-mais-pour-quoi-
faire.aspx
- « Plate-forme as a Service » ou « Software + Services »
http://blogs.msdn.com/cloudcomputing/archive/2008/03/01/plate-forme-as-a-service-ou-plate-
forme-services.aspx
- Cloud Computing : Analyse des Coûts, Usages, Géographie sur un cas réel
http://blogs.msdn.com/cloudcomputing/archive/2008/03/19/cloud-computing-analyse-d-un-cas-
reel.aspx
- SQL Server Data Services : le stockage dans les nuages
http://blogs.msdn.com/cloudcomputing/archive/2008/03/07/sql-server-data-services-le-stockage-
dans-les-nuages.aspx
- Oslo : une initiative ambitieuse et différentiante selon le Gartner
http://blogs.msdn.com/ssfartz/archive/2007/11/09/oslo-une-soa-ambitieuse-et-diff-rentiante-selon-
le-gartner.aspx
- La Plate-forme Applicative Microsoft
http://www.microsoft.com/france/plateformeapplicative
- La Plate-forme Publicitaire Microsoft
http://advertising.microsoft.com/home/home
- L’initiative Oslo et l’offre SOA Microsoft
http://www.microsoft.com/soa/products/oslo.aspx

4 avril 2008 http://blogs.msdn.com/cloudcomputing 6

Вам также может понравиться