Le Post de MCNEXT

Les articles des consultants de MCNEXT

Building Business Applications on Azure using Office 365 and Windows Azure AppFabric

Session animée par Tony Meleg (Microsoft)

En général une application est constituée d’entités et de données, de formulaires avec de la logique, d’informations, de contenus et de processus

Pour construire une application, on a besoin d’outils (Visual Studio), de langages (C#), de Frameworks (SharePoint est considéré comme tel) et des services (bases de données, rapports, messagerie, cache, workflow, planification…)

Qu’est-ce qu’Office 365 apporte pour répondre aux besoins exprimés ci-dessus ? Et bien il offre toutes les briques nécessaires pour construire une application (cf. la photo prise montrant les connexions entre les différentes briques)

La suite de la session va permettre d’entrer plus en détail sur les différents concepts exposés dans le slide précédent

Quelle est la stratégie sous-jacente ici pour construire les futures applications ?

On peut continuer à héberger les applications comme aujourd’hui (OnPremise) ou bien utiliser le Cloud. Il doit également être possible d’utiliser n’importe quel langage, de virtualiser les applications (pour les rendre facilement portable) et de viser le concept de PaaS (Platform as a Service) pour utiliser des Clous privés ou publics

Parlons maintenant de la virtualisation et de la différence de IaaS (Infrastructure as a Service) avec PaaS (Platform as a Service)

Une application nécessite beaucoup de briques fonctionnelles différentes, qui souvent sont découpées fonctionnellement pour pouvoir faire évoluer une brique indépendamment des autres. Ce signifie qu’un nombre très important de machines est requis pour mettre en œuvre une application, ce qui représente un coût important.

La virtualisation est là pour répondre à ces besoins en réduisant le coûts car un serveur correspond à 1 fichier VHD, ce serveur embarquant tous les composants nécessaires au fonctionnement de l’application

IaaS est du coup familier aux développeurs qui ont le contrôle sur ce qui est déployé, les machines virtuelles sont portables, il n’y a aucune différence avec le développement classique et SharePoint Online est là pour héberger des services tels que la collaboration

IaaS propose généralement une bibliothèque de machines virtuelles prêtes à l’emploi pour créer des serveurs web, des serveurs SQL… Il ne reste qu’à configurer les composants spécifiques à l’application (structure de base de données, binaires de l’application…), dupliquer les machines pour assurer une montée en charge importante, configurer de l’équilibrage de charge et le tour est joué (ça à l’air simple dit comme ça   ;-))

Oui mais la partie provisioning de base de données, gestion de la sécurité, gestion des contenus des sites web… est plutôt du ressort de PaaS donc comment faire cohabiter le 2 ?

PaaS propose différents rôles qui peuvent être utilisés en combinaison avec IaaS, notamment le rôle de stockage de données qui peut être partagé par plusieurs clients, dupliqué, sauvegardé et restauré, etc…

Dans le modèle PaaS, chaque service est multi-tenant (utilisé par client) et non dépendant de la machine sur laquelle s’exécute l’application. Les clients fournissent les éléments de l’application et ne s’occupent jamais de la partie infrastructure. Le fait de découper une application en différents rôles permet de maximiser les ressources utilisées et de pouvoir déplacer un bout de son application plus facilement.

Quelques règles doivent êtres respectées pour faire du PaaS :
– Les applications doivent être faiblement couplées aux services et pouvoir s’exécuter sur plusieurs machines en parallèle
– 2 instances ne doivent jamais être connectées l’une à l’autre directement
– Une instance peut planter sans prévenir et l’application doit gérer ce cas comme étant "normal" et continuer de fonctionner

Azure propose de faire du PaaS en proposant des rôles de type web, stockage, SQL et reporting pour créer des applications web. SharePoint Online propose les services de collaboration, site Internet… D’autres fonctionnalités comme les worker rôles, la gestion du trafic, le fourniture de contenus (CDN) et la connexion inter-applications sont également offerts par Azure.

Pour créer des applications avec des fonctionnalités avancées, on peut aussi utiliser les briques suivantes:
– Access Control pour gérer l’authentification et l’identité des utilisateurs
– Caching pour stocker des données en mémoire plutôt qu’en base de données (pour améliorer les performances)
– Service Bus pour interconnecter les applications, notamment faire un mix entre des applications Azure d’autres hébergées sur le système d’information de l’entreprise
– Integration (pas encore disponible à ce jour, en version CTP mais arrive prochainement)
– WebServices + Workflow (workflow en cours de développement, CTP à accès privé en cours)

On passe maintenant en revue le fonctionnement des briques décrites ci-dessus. Plutôt que de vous faire un long discours, je vous laisse vous référer aux articles MSDN/Technet sur le sujet qui seront beaucoup plus complets que ce que je pourrais écrire ici et les explications données par le speaker restent assez générales.

Enfin une démo alors que la session se termine dans 5mn. Une application Silverlight est hébergée dans SharePoint Online et utilise Service Bus pour soumettre des commandes à un service WCF hébergé le portable du speaker. Une application console fait office de service WCF et on voit que lorsqu’on interagit dans SharePoint avec l’application Silverlight, les commandes sont transmises à l’application console.

Même style de démonstration avec les Topics AppFabric pour montrer le principe de publish/subscribe de cette partie de AppFabric. Des commandes sont envoyées depuis l’application Silverlight, puis celles-ci sont récupérées depuis des applications console faisant office d’abonnés.

Une nouvelle fois et malgré un niveau 300, la session est restée assez généraliste et nous n’avons pas vu comment arriver aux résultats démontrés. Nous voyons juste que cela fonctionne sans plus de détails  :-(

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 27 autres abonnés

%d bloggers like this: