De A à Z: Pourquoi et comment utiliser Azure dans son application ?

Preview:

DESCRIPTION

Windows Azure - la plateforme Cloud de Microsoft – permet d’héberger des données, des services et des applications, mais ce n’est pas tout ! Comment profiter au mieux des fonctionnalités offertes par Windows Azure dans vos applications, non seulement en terme de déploiement, configuration et monitoring, mais aussi grâce à ses briques fonctionnelles comme Access Control Services, et autres composants très utiles à découvrir. Nous partirons d’une application type que nous migrerons vers Windows Azure. --- Cette session est la 3ème du parcours « De A à Z : Concevoir et développer une solution applicative ». Elle peut être suivie de manière totalement indépendante puisque seul le scénario métier sert de fil rouge dans le parcours. La session se déroule en 2 temps : 1. Mise en œuvre basique de la techno 2. Intervention d’un expert de la techno qui va proposer d’améliorer l’application ou l’expérience en utilisant des techniques nouvelles ou plus avancées ou peu connues et pourtant si pratiques.

Citation preview

palais des congrès Paris

7, 8 et 9 février 2012

07/02/2012

Stéphanie HertrichMicrosofthttp://blogs.msdn.com/b/stephe

CLO207 De A à Z: Pourquoi et comment utiliser Azure dans son application ?

Florent SantinInfinite Squarehttp://blogs.developeur.org/azra

De A à Z : l’application de départPourquoi aller vers Azure?Comment Base de données Packaging Amélioration du code Réversibilité Scénarios avancés

Synthèse

Agenda

Application Cave à VinsTéléphone, tablette, Desktop, multi-plateformeCas d’utilisation différents Catalogue de tous les vins Gestion de ma Cave Aide à l’achat

Le besoin métier

D’où part-on ?

Sql Server

WCF Data Services

WCF Data Services

Silverlight pour WP

Silverlight Desktop

iPhone, …

Client OData

Client

Serveur(on premise)

Système de fichiers

Application Web

Stockage Photos

WCF Data

Service

http://localhost:8090/CaveAVinsDataService.svc

DEMO : le back-end existant

Simplification de l’hébergement Pas d’infrastructure à gérer Pas de maintenance hardware ou Software

Elasticité Adapter ma capacité d’absorption de charge à

mon taux de réussite Pouvoir proposer de la haute disponibilité

Pourquoi aller vers le Cloud

Je souhaite : Disposer d’une approche réversible

Le retour en arrière doit être possible et simple !

Ne pas changer mes habitudes de développement Pas de changement d’environnement de

développement Pas ou peu de nouvelles compétences à

acquérir

Condition pour aller vers le Cloud

Architecture en l’état

Sql Server

WCF Data Services

WCF Data Services

Silverlight pour WP

Silverlight Desktop

iPhone, …

Client OData

Client

Serveur(on premise)

Système de fichiers

Application Web

Stockage Photos

WCF Data

Service

DEMO : Migration de base de la données

Schéma d’architecture

WCF Data Services

WCF Data Services

Silverlight pour WP

Silverlight Desktop

iPhone, …

Client OData

Client

Serveur(on premise)

Système de fichiers

Serveur(Azure)

SQL Azure

Application Web

Stockage Photos

WCF Data

Service

Sql Server

En résumé !

Migration du schéma vers SQL Azure Via un assistant: http://sqlazuremw.codeplex.com/ En utilisant SQL Server Management Studio Au travers du portail Web

Une adaptation de schéma peut être nécessaire Pas de requêtes base à base, de types CLR, index

obligatoires… Aucun impact sur le code de l’applicatif Web

Modification de la chaine de connexion dans fichier de configuration

Base de données : simple !SQL Azure

Sharding pour SQL Azure Limitation de SQL Azure

Une seule base Nombre de transaction simultanées caées

SQL Azure FederationPour « Caves à vin », augmente les performances d’accès

Base de données : avancéeSQL Azure

T1 T2 T3 T4 T5

T6 T7 T8 T9 T10

T11 T12 T13 T14 T15

T16 T17 T18 T19 T20

T1 T2 T3 T4 T5

T6 T7 T8 T9 T10

T11 T12 T13 T14 T15

T16 T17 T18 T19 T20

Une seule grosse base de données

Schéma d’architecture

WCF Data Services

WCF Data Services

Silverlight pour WP

Silverlight Desktop

iPhone, …

Client OData

Client

Serveur(on premise)

Système de fichiers

Serveur(Azure)

SQL Azure

Application Web

Stockage Photos

WCF Data

Service

DEMO : Packaging et publication

Schéma d’architecture : avant

WCF Data Services

WCF Data Services

Silverlight pour WP

Silverlight Desktop

iPhone, …

Client OData

Client

Serveur(on premise)

Système de fichiers

Serveur(Azure)

SQL Azure

Application Web

Stockage Photos

WCF Data

Service

Schéma d’architecture : après WCF Data

ServicesWCF Data Services

Client ODataClient

Serveur(Azure)

SQL Azure

Service hébergé

Routeur / répartiteur de charge

Instance (rôle web)

Entity Framework

WCF Data Services

Système de fichier

Stockage Photos

Instance (rôle web)

Entity Framework

WCF Data Services

Système de fichier

Stockage Photos

Pièges à éviter : Inclure dans le package les différents

dépendances « Copie locale » des DLL

Scripter la configuration de la machine virtuelle Azure si nécessaire Modification de IIS, écriture dans base de

registre, installation d’éléments dans le GAC…

Installation des composants tiers via des « Startups Tasks »

Packaging et déploiement : avancé

Deboggage classique en local dans l’émulateur / Visual Studio

Déboggage d’un package déjà déployé IntelliTrace Profiler

Surveiller un déploiement Compteurs de performances et capture de logs Activer le bureau distant

Packaging et déploiement : avancé

DEMO : Startup Task et bureau distant

ServiceConfiguration.cscfg Fichier de configuration plus

haut que le web.config ou machine.config

Permet de modifier dynamiquement la configuration de toutes les instances

RoleEnvironment.GetConfigurationSettingValue("value");

Pour « Caves à vin », permet de changer de base de données à chaud

Azure et gestion de configuration

Instance (rôle web)

Applicatif Web

Web.config

Instance (rôle web)

Applicatif Web

Web.config

ServiceConfiguration.csc

fg

Service hébergé

Schéma d’architecture : après WCF Data

ServicesWCF Data Services

Client ODataClient

Serveur(Azure)

SQL Azure

Service hébergé

Instance (rôle web)

Entity Framework

WCF Data Services

Système de fichier

Routeur / répartiteur de charge

Stockage Photos

Instance (rôle web)

Entity Framework

WCF Data Services

Système de fichier

Stockage Photos

Le système de fichier des instances Windows Azure n’est pas persistant ! Perte de données en

cas de redémarrage ou d’ajout d’instance

Pour « Caves à vin », permet de centraliser les images

Manipulation de système de fichiers

Instance (rôle web)

Applicatif Web

Instance (rôle web)

Applicatif Web

Blobs

Service hébergé

Stockage Windows

Azure

Utilisation du stockage Windows Azure Blobs pour remplacer le système de fichier Stockage partagé entre chaque serveur et

hautement performant / disponible / scalable

Objectif : Code compatible pour une exécution sur Windows

classique… … et sur l’environnement Windows Azure !

Demande un minimum d’effort d’abstraction de code Application modulaire pour :

Gestion de la configuration Manipulation du système de fichier Gestion des logs Manipulation du stockage Windows Azure

Test sur variable RoleEnvironment.IsAvailable !

Pour « Caves à vin », permet le retour en arrière !

Réversibilité

DEMO : Configuration et réversibilité

Schéma d’architectureWCF Data Services

WCF Data Services

Client ODataClient

Serveur(Azure)

SQL Azure

Service hébergé

Routeur / répartiteur de charge

BlobsStockage Windows

Azure

Instance (rôle web)

Entity Framework

WCF Data Services

Stockage Photos

Instance (rôle web)

Entity Framework

WCF Data Services

Système de fichier

Système de fichier

Stockage Photos

Cache distribué Partage de données entre instances Windows Azure AppFabric Cache Pour « Caves à vin », optimise les accès aux données

statiques en BDD

CDN Stockage des données le plus prêt possible des utilisateurs Pour « Caves à vin », augmente les performances pour les

utilisateurs Français

Traffic Manager Exécution d’une application sur plusieurs DataCenter Pour « Caves à vin », permet de se déployer à

l’international

Utilisation avancée de Windows Azure

Windows Azure permet de faire de l’authentification fédérée Un intermédiaire de gestion d’identité pour N

providers LiveID, Google, Facebook, Yahoo, ADFS…

Pour « Cave à vins » : intéressant pour identifier les utilisateurs !

Access Control Services

Access Control Services + Windows Phone + OData

NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD

1 credentials

2 token

OData Service

3 http Requestwith token

4 request with token5 request + claims

7 OData results or security exception

6 Compute results or security exception

OAuth Protection modules

WS-Federation

OpenID

DEMO : Access Control Services

Les étapes clés :1. Migration base de données2. Migration applicatif Web3. Adaptation de l’applicatif Web au contexte Cloud

1. Images2. Configuration

4. Utilisation des services avancés Windows Azure

« Caves à vin » est dans le Cloud (et pas) et utilise au mieux les possibilités offertes par Windows Azure!

Récapitulatif !

Service

WP7

WCF Data Services

Silverlight

Android

OData Client

Objets métier

Pages

Nav

Synthèse

Client

Serveur(Azure)

Données

Desktop

WCF Data Services

Pivot Viewer

(Silverlight)

iPhone

OData Client

Objective-C

Sql Server

Entity Framework

WCF Data Services

SQL Azure DB

Access Control Services

BlobsFile System

Photo Upload Service

File System

Blob Client

Premier ouvrage rédigé en FrançaisSur l’intégralité de la plateforme Windows Azure

Disponible dès aujourd’hui!Consultation et achat possible sur le stand (52) des éditions ENI

Livre sur Windows Azure

Des ressources Windows Azure gratuites

Testez Windows Azure gratuitement pendant 90 jours http://aka.ms/

tester-azure-90j

Abonnés MSDN, vous bénéficiez de Windows Azure http://aka.ms/

activer-azure-msdn

Chaque semaine, les DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp

Téléchargement, ressources et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/

Les offres à connaître90 jours d’essai gratuit de Windows Azure www.windowsazure.fr

Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN www.visualstudio.fr

Pour aller plus loin

10 février 2012

Live Meeting

Open Data - Développer des applications riches avec le protocole Open Data

16 février 2012

Live Meeting

Azure series - Développer des applications sociales sur la plateforme Windows Azure

17 février 2012

Live Meeting

Comprendre le canvas avec Galactic et la librairie three.js

21 février 2012

Live Meeting

La production automatisée de code avec CodeFluent Entities

2 mars 2012

Live Meeting

Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, iOS et Android

6 mars 2012

Live Meeting

Nuget et ALM

9 mars 2012

Live Meeting

Kinect - Bien gérer la vie de son capteur

13 mars 2012

Live Meeting

Sharepoint series - Automatisation des tests

14 mars 2012

Live Meeting

TFS Health Check - vérifier la bonne santé de votre plateforme de développement

15 mars 2012

Live Meeting

Azure series - Développer pour les téléphones, les tablettes et le cloud avec Visual Studio 2010

16 mars 2012

Live Meeting

Applications METRO design - Désossage en règle d'un template METRO javascript

20 mars 2012

Live Meeting

Retour d'expérience LightSwitch, Optimisation de l'accès aux données, Intégration Silverlight

23 mars 2012

Live Meeting

OAuth - la clé de l'utilisation des réseaux sociaux dans votre application

Prochaines sessions des Dev Camps

Recommended