Pourquoi les coûts de Windows Azure seront toujours les plus bas
De A à Z: Pourquoi et comment utiliser Azure dans son application ?
-
Upload
microsoft-technet-france -
Category
Technology
-
view
819 -
download
0
description
Transcript of De A à Z: Pourquoi et comment utiliser Azure dans son application ?
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