Windows Azure pour les applications mobiles, tablettes, multi-écrans<br />Thomas Conté<br />Architecte<br />Microsoft<br /...
Agenda<br />Pourquoi le Cloud pour les Devices?<br />Cas client: Mobiles Republic<br />Tour d’horizon de Windows Azure<br ...
Pourquoi le Cloud?<br />Services universels, accessibles par tous les matériels<br />Infrastructure à la demande, sans tic...
Mobiles Republic<br />vidéo<br />
Architecture de News Republic<br />
Toolkits Windows Azure pouriOS, Android & Windows Phone<br />annonce<br />
Windows Azure Toolkits pour les Mobiles<br />Annonce officielle<br />http://blogs.technet.com/b/microsoft_blog/<br />iOS:<...
Vued’ensemble de Windows Azure<br />Environnement d’exécution évolutif<br />Supporte .NET, C++, PHP, Ruby, Python, …<br />...
Compute<br />
Web Role et Worker Role<br />Le Web Role a IIS<br />Pas le Worker Role<br />“DLL avec un Main()”<br />Les deuximplémentent...
Multitenancy<br />Vouspouvezavoir plus d’une application Web tournantdansvotre Web Role<br />
Montée en charge dans Windows Azure<br />Le Web Role reçoit des messages<br />Le Web Role poste des messages dans une Queu...
Windows Azure Compute<br />démo<br />
Windows Azure AppFabric Caching<br />Cache mémoire distribué<br />On interagit avec le cache directement via une librairie...
Windows Azure AppFabricCaching<br />démo<br />
Build Fast Web Applications with Windows Azure AppFabricCaching<br />http://channel9.msdn.com/Events/MIX/MIX11/SVC01<br />
Windows Azure Content Delivery Network<br />Plusieurs Terabits par seoncde de capacité disponibles dans 24 emplacement dan...
Windows Azure CDN<br />Activé depuis le portail d’administration Windows Azure<br />Intégré avec le stockage<br />Nouveaut...
Performance & Latence<br />50ms<br />
Performance & Latence<br />100ms<br />50ms<br />
Performance & Latence<br />200ms<br />100ms<br />50ms<br />http://www.research.ibm.com/people/n/nahum/papers/sigmetrics01-...
Performance & Latence<br />
Windows Azure Traffic Manager<br />Équilibre le trafic sur de multiples Hosted Services<br />Intégré dans le portail Windo...
Stockage<br />
Stockage<br />SQL Azure<br />Base de données relationnelle<br />Hautement disponible<br />Fournie sous forme de service<br...
Stockage dans le Portail<br />
Windows Azure Blobs: Public Blobs<br />Le client envoie des données à un Web Role<br />Le Web Role stocke les données dans...
Exemple: Public Container<br />Container ACL = Full Public Read Access<br />Autres valeurs possibles:<br />Public Read Acc...
Exemple: jQuery<br />
jQuery<br />+<br />jQuery Mobile<br />+<br />PhoneGap<br />
Windows Azure Blobs: SAS<br />Le client récupère une Shared Access Signature via un Web Role<br />Le client stocke des don...
Windows Azure Tables: Proxy Calls<br />Pas de SAS pour les Tables<br />Le client envoie les données à un Web Role<br />Le ...
Ne stockez pas les clefs sur le device!<br />C’estcommecroiser les effluves!<br />C’estmal!<br />Et si je collaisl’access ...
Exemple avec OData: OGDI / govdata.eu<br />OData == WCF Data Services<br />Protocole REST d’accès aux données: http://www....
SQL Azure: Service OData<br />Le client interagit avec le Web Role via OData<br />Le Web Role stocke les données dans SQL ...
Identité<br />
Identité: les Options<br />“Fait maison” (e.g. login + mot de passe, token)<br />Modèle spécifique<br />ASP.NET Membership...
Access Control Service 2.0<br />Authentification via fournisseurs d’identité multiples<br />S’intègre avec Live ID, Facebo...
Pour en savoir plus…<br />Authenticating Users in a Windows Phone 7 App via Access Control Service, OData Services and Win...
Communications<br />
Communications<br />Deux modèles de communication<br />Initiée par le Device<br />Initiée par le Cloud<br />
Communicationinitiée par le Device<br />HTTP-based, request/response<br />Choix de frameworks<br />WCF REST,<br />OData,<b...
WCF Web APis: "There's a URI for That“<br />http://channel9.msdn.com/Events/MIX/MIX11/FRM14<br />
Communication initiée par le Cloud<br />Push Notifications<br />Connexion établie entre le téléphone et le Microsoft Push ...
Abonnement aux notifications push<br />Le téléphone ouvre une channel<br />Le téléphone envoie l’URL à l’application Azure...
Windows Azure & Windows Phone<br />Windows Azure Toolkit for Windows Phone<br />http://watoolkitwp7.codeplex.com/<br />App...
Windows Azure Toolkit for Windows Phone<br />démo<br />
Windows Phone & Windows Azure<br />Building Windows Phone 7 Applications<br />with the Windows Azure Platform<br />http://...
Et pour les devices non Microsoft?<br />“Developing iPhone and iPad Apps that Leverage Windows Azure”<br />http://channel9...
Windows Azure Platform Access<br />Windows Azure Pass<br />Introductory Trial<br />Accès 30 joursgratuit sans carte bleue<...
ReMix11 Paris: Windows Azure & développement mobile
Upcoming SlideShare
Loading in...5
×

ReMix11 Paris: Windows Azure & développement mobile

1,528

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,528
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ReMix11 Paris: Windows Azure & développement mobile

  1. 1. Windows Azure pour les applications mobiles, tablettes, multi-écrans<br />Thomas Conté<br />Architecte<br />Microsoft<br />http://twitter.com/tomconte<br />tconte@microsoft.com<br />
  2. 2. Agenda<br />Pourquoi le Cloud pour les Devices?<br />Cas client: Mobiles Republic<br />Tour d’horizon de Windows Azure<br />Identité<br />Stockage<br />Services<br />Communications<br />Pourquoi Windows Phone + Windows Azure?<br />Windows Azure Toolkit for Windows Phone<br />Et pour les devices non Microsoft?<br />
  3. 3. Pourquoi le Cloud?<br />Services universels, accessibles par tous les matériels<br />Infrastructure à la demande, sans ticket d’entrée<br />Infrastructure évolutive pour faire face aux pics ou à la montée en charge (e.g. effet Marketplace)<br />Platform As A Service (PAAS): vous vous concentrez sur l’application, pas l’infrastructure<br />
  4. 4. Mobiles Republic<br />vidéo<br />
  5. 5. Architecture de News Republic<br />
  6. 6. Toolkits Windows Azure pouriOS, Android & Windows Phone<br />annonce<br />
  7. 7. Windows Azure Toolkits pour les Mobiles<br />Annonce officielle<br />http://blogs.technet.com/b/microsoft_blog/<br />iOS:<br />https://github.com/microsoft-dpe/watoolkitios-lib<br />https://github.com/microsoft-dpe/watoolkitios-samples<br />https://github.com/microsoft-dpe/watoolkitios-doc<br />Windows Phone 7:<br />http://watoolkitwp7.codeplex.com<br />
  8. 8. Vued’ensemble de Windows Azure<br />Environnement d’exécution évolutif<br />Supporte .NET, C++, PHP, Ruby, Python, …<br />Gestion automatisée des services<br />Compute<br />Stockage évolutif, hautement disponible<br />Blobs, Tables, Queues, Drives<br />APIs REST et nombreuses librairies<br />Storage<br />Base de données relationnelle SQL<br />Outils & développement familiers<br />Database<br />
  9. 9. Compute<br />
  10. 10. Web Role et Worker Role<br />Le Web Role a IIS<br />Pas le Worker Role<br />“DLL avec un Main()”<br />Les deuximplémententRoleEntryPoint<br />
  11. 11. Multitenancy<br />Vouspouvezavoir plus d’une application Web tournantdansvotre Web Role<br />
  12. 12. Montée en charge dans Windows Azure<br />Le Web Role reçoit des messages<br />Le Web Role poste des messages dans une Queue<br />Le WorkerRole surveille la Queue<br />Le WorkerRole accomplit une action (ici, envoie des notifications)<br />(2)<br />(4)<br />Worker Role<br />Web Role<br />MPNS<br />(3)<br />(1)<br />
  13. 13. Windows Azure Compute<br />démo<br />
  14. 14. Windows Azure AppFabric Caching<br />Cache mémoire distribué<br />On interagit avec le cache directement via une librairie .NET<br />Session State Provider pour les applications Windows Azure<br />Fourni sous forme de service prêt à l’emploi<br />On configure un AppFabricNamespace<br />On choisit la taille du cache<br />On écrit le code qui accède au service<br />APIs .NET familières & homogènes<br />Même APIs que pour Windows Server AppFabric<br />Disponible depuis fin Avril<br />Accessible depuis le portail windows.azure.com <br />
  15. 15. Windows Azure AppFabricCaching<br />démo<br />
  16. 16. Build Fast Web Applications with Windows Azure AppFabricCaching<br />http://channel9.msdn.com/Events/MIX/MIX11/SVC01<br />
  17. 17. Windows Azure Content Delivery Network<br />Plusieurs Terabits par seoncde de capacité disponibles dans 24 emplacement dans le monde avec 99.95% de disponibilité. Le CDN s’adapte automatiquement à la charge sans intervention utilisateur. Utilisé par Microsoft en interne depuis 3 ans – maintenant disponible pour les clients Windows Azure.<br />
  18. 18. Windows Azure CDN<br />Activé depuis le portail d’administration Windows Azure<br />Intégré avec le stockage<br />Nouveautés récentes:<br />Delivery depuis des instances Windows Azure Compute<br />Support de HTTPS<br />CTP de Smooth Streaming<br />
  19. 19. Performance & Latence<br />50ms<br />
  20. 20. Performance & Latence<br />100ms<br />50ms<br />
  21. 21. Performance & Latence<br />200ms<br />100ms<br />50ms<br />http://www.research.ibm.com/people/n/nahum/papers/sigmetrics01-slides.ppt<br />
  22. 22. Performance & Latence<br />
  23. 23. Windows Azure Traffic Manager<br />Équilibre le trafic sur de multiples Hosted Services<br />Intégré dans le portail Windows Azure Platform<br />Trois scénarios activés pour la CTP:<br />Tolérance aux pannes<br />Round Robin<br />Performance<br />Redirige le trafic vers un autre déploiement en fonctione de la disponibilité<br />Traficéquilibrésur les déploiements en fonction d’un ratio fixe<br />Envoie l’utilisateur sur le déploiement le plus proche/performant<br />
  24. 24.
  25. 25. Stockage<br />
  26. 26. Stockage<br />SQL Azure<br />Base de données relationnelle<br />Hautement disponible<br />Fournie sous forme de service<br />Windows Azure Tables<br />Stockage structuré, non-relationnel<br />Massivement évolutif<br />OData<br />Windows Azure Blobs<br />Stockage de fichiers<br />REST<br />
  27. 27. Stockage dans le Portail<br />
  28. 28. Windows Azure Blobs: Public Blobs<br />Le client envoie des données à un Web Role<br />Le Web Role stocke les données dans des Blobs<br />Le client peut accéder aux Blobs publics directement<br />(2)<br />Web<br />Role<br />(3)<br />(1)<br />
  29. 29. Exemple: Public Container<br />Container ACL = Full Public Read Access<br />Autres valeurs possibles:<br />Public Read Access for Blobs Only<br />No Public Read Access<br />http://tcontepub.blob.core.windows.net/images/?<br />restype=container&<br />comp=list<br />
  30. 30. Exemple: jQuery<br />
  31. 31.
  32. 32. jQuery<br />+<br />jQuery Mobile<br />+<br />PhoneGap<br />
  33. 33. Windows Azure Blobs: SAS<br />Le client récupère une Shared Access Signature via un Web Role<br />Le client stocke des données directement dans le Blob Storage<br />Le client peut toujours récupérer les Blobs publics directement<br />Web<br />Role<br />(2)<br />(3)<br />(1)<br />
  34. 34. Windows Azure Tables: Proxy Calls<br />Pas de SAS pour les Tables<br />Le client envoie les données à un Web Role<br />Le Web Role implémente un service ou un HttpHandler<br />Le Web Role interagit avec le Table Storage<br />(2)<br />Web<br />Role<br />(1)<br />
  35. 35. Ne stockez pas les clefs sur le device!<br />C’estcommecroiser les effluves!<br />C’estmal!<br />Et si je collaisl’access key dansmonappli?<br />
  36. 36. Exemple avec OData: OGDI / govdata.eu<br />OData == WCF Data Services<br />Protocole REST d’accès aux données: http://www.odata.org/<br />Open Government Data Initiative<br />http://ogdi.codeplex.com/<br />Accès simplifié aux flux de données publics<br />http://data.govdata.eu/v1/frOpenData/Sanisettes?<br />$filter=arrondissement eq '75015'<br />
  37. 37.
  38. 38. SQL Azure: Service OData<br />Le client interagit avec le Web Role via OData<br />Le Web Role stocke les données dans SQL Azure<br />(2)<br />Web<br />Role<br />(1)<br />
  39. 39. Identité<br />
  40. 40. Identité: les Options<br />“Fait maison” (e.g. login + mot de passe, token)<br />Modèle spécifique<br />ASP.NET Membership Providers<br />Utiliser un fournisseur d’identité existant<br />(e.g. Live Id, Facebook, etc.)<br />Déléguer la gestion de l’identité<br />Access Control Service<br />
  41. 41. Access Control Service 2.0<br />Authentification via fournisseurs d’identité multiples<br />S’intègre avec Live ID, Facebook, Yahoo, & Google, and AD<br />Supporte WS-Federation, WS-Trust, OpenID 2.0, OAuth 2.0 <br />Modèle de développement .NET familier<br />En utiliant le Windows IdentityFoundation SDK<br />API REST de gestion du service<br />Pour intégration avec vos applications<br />Disponible en production<br />No charge during promotion periodendingJanuary 1, 2012<br />Lowcostafter the promotion: $1.99 per 100,000 transactions<br />
  42. 42. Pour en savoir plus…<br />Authenticating Users in a Windows Phone 7 App via Access Control Service, OData Services and Windows Azure<br />http://bit.ly/wp7acs<br />
  43. 43. Communications<br />
  44. 44. Communications<br />Deux modèles de communication<br />Initiée par le Device<br />Initiée par le Cloud<br />
  45. 45. Communicationinitiée par le Device<br />HTTP-based, request/response<br />Choix de frameworks<br />WCF REST,<br />OData,<br />WebRequest,<br />etc.<br />Choix de formats<br />SOAP,<br />JSON,<br />POX,<br />etc.<br />
  46. 46. WCF Web APis: "There's a URI for That“<br />http://channel9.msdn.com/Events/MIX/MIX11/FRM14<br />
  47. 47. Communication initiée par le Cloud<br />Push Notifications<br />Connexion établie entre le téléphone et le Microsoft Push Notification Service<br />Économise batterie et bande passante<br />Pas de garantie de réception<br />Trois types de notifications push<br />Raw – envoie un message à une application<br />Toast – envoie un message à l’utilisateur<br />Tile – met à jour image, titre ou nombre<br />
  48. 48. Abonnement aux notifications push<br />Le téléphone ouvre une channel<br />Le téléphone envoie l’URL à l’application Azure<br />L’appli pousse les notifications via cet URL<br />Microsoft Push Notification Service notifie le téléphone<br />MPNS<br />Web Role<br />(3)<br />(1)<br />(2)<br />(4)<br />
  49. 49. Windows Azure & Windows Phone<br />Windows Azure Toolkit for Windows Phone<br />http://watoolkitwp7.codeplex.com/<br />Application Windows Phone<br />Application Windows Azure<br />Service d’authentification basé sur Membership Provider ASP.NET + Windows Azure Tables<br />Service d’obtention de SAS pour les WA Blobs<br />Proxy HttpHandler vers les WAT<br />Interface Web MVC de gestion des autorisations<br />Services compatibles avec les toolkitsiOS & Android<br />
  50. 50. Windows Azure Toolkit for Windows Phone<br />démo<br />
  51. 51. Windows Phone & Windows Azure<br />Building Windows Phone 7 Applications<br />with the Windows Azure Platform<br />http://channel9.msdn.com/Events/MIX/MIX11/SVC02<br />
  52. 52. Et pour les devices non Microsoft?<br />“Developing iPhone and iPad Apps that Leverage Windows Azure”<br />http://channel9.msdn.com/Events/MIX/MIX11/EXT18<br />
  53. 53. Windows Azure Platform Access<br />Windows Azure Pass<br />Introductory Trial<br />Accès 30 joursgratuit sans carte bleue<br />Ressources:<br />Compute: 3 Small Instances<br />Storage: 3 GB + 250K tansactions<br />Data Transfer: 3GB in & 3GB out<br />Database: 2 x 1GB Web Edition<br />Abonnement:<br />http://www.windowsazure.fr/<br />Jusqu’au 30 juin 2011<br />Ressources:<br />Compute: 750 extra small hours + 25 small<br />Storage: 500MB + 10K transactions<br />Data Transfer: 500MB in & 500MB out<br />Database: 1GB Web Edition (90 days)<br />Abonnement:<br />www.windowsazure.fr<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×