ReMix11 Paris: Windows Azure & développement mobile

  • 1,321 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,321
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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