Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Windows Azure<br />Architecture d’une application Facebook<br />Thomas Conté, tconte@microsoft.com<br />twitter.com/tomcon...
Les frameworks Facebook<br />Le Facebook C# SDK sur CodePlex est régulièrement mis à jour<br />Le Windows Azure Toolkit fo...
Le cas d’usage<br />Une application Facebook est généralement constituée de deux grandes parties:<br />une interface Web i...
L’architecture<br />L’on va séparer le rôle “Web” et le rôle “applicatif” (appelé “Worker” dans Windows Azure). Cela perme...
②<br />Web Role<br />Web Role<br />queue<br />①<br />WorkerRole<br />WorkerRole<br />④<br />⑤<br />⑥<br />③<br />Blob<br /...
Polling & Blob Storage<br />Une remarque qui revient souvent est que les “transactions”, autrement dit les accès au Blob S...
Merci!<br />
Prochain SlideShare
Chargement dans…5
×

Architecture d'une application Facebook pour Windows Azure

639 vues

Publié le

Illustration concrète de l’apport de Windows Azure pour l’architecture d’une application Facebook, principalement du point de vue de sa montée en charge.

Publié dans : Technologie
  • Soyez le premier à commenter

Architecture d'une application Facebook pour Windows Azure

  1. 1. Windows Azure<br />Architecture d’une application Facebook<br />Thomas Conté, tconte@microsoft.com<br />twitter.com/tomconte<br />Architecte Windows Azure<br />
  2. 2. Les frameworks Facebook<br />Le Facebook C# SDK sur CodePlex est régulièrement mis à jour<br />Le Windows Azure Toolkit for Social Games est spécifiquement dédié aux développeur de jeux sociaux, très populaires bien sûr sur Facebook<br />Le concours “Pitch Your Social App” a permis à 5 startup françaises de pitcher leurs Social Apps lors du « Facebook Start Up Day »<br />
  3. 3. Le cas d’usage<br />Une application Facebook est généralement constituée de deux grandes parties:<br />une interface Web intégrée au sein d’une Fan Page<br />une partie applicative fournissant effectivement un service ou un traitement.<br />L’application va identifier l’utilisateur, puis effectuer un traitement long à l’aide de l’Open Graph (i.e. récupérer une liste des Likes ou autres informations, et produire quelque chose d’intéressant comme une animation, une visualisation, etc.)<br />Typiquement le principe d’applications comme Museum of Me, par exemple.<br />
  4. 4. L’architecture<br />L’on va séparer le rôle “Web” et le rôle “applicatif” (appelé “Worker” dans Windows Azure). Cela permettra de les faire évoluer indépendamment par ajout d’instances lors de la montée en charge.<br />L’on va orchestrer les traitements de façon asynchrone à l’aide d’une file d’attente (les Queues, fournies par Windows Azure).<br />Le navigateur va lui aussi adopter ce même modèle asynchrone: il ne va pas attendre du serveur Web une réponse immédiate, il va aller chercher son résultat (typiquement par polling) dans un stockage lui aussi fourni par Windows Azure.<br />L’on pourrait bien entendu utiliser des Tables pour ce dernier point, mais étant donné que la partie asynchrone côté navigateur sera implémentée en JavaScript, il paraît encore plus naturel d’utiliser le Blob Storage, dans lequel la réponse prendra la forme d’un bloc JSON directement utilisable.<br />
  5. 5. ②<br />Web Role<br />Web Role<br />queue<br />①<br />WorkerRole<br />WorkerRole<br />④<br />⑤<br />⑥<br />③<br />Blob<br />Storage<br />
  6. 6. Polling & Blob Storage<br />Une remarque qui revient souvent est que les “transactions”, autrement dit les accès au Blob Storage sont payants, et qu’il conviendrait donc d’éviter une stratégie à base de polling qui risque de coûter cher…<br />Exemple sur un traitement de 3 minutes:<br />intervalle de polling de 1 seconde<br />Donc 180 accès au Blob Storage.<br />En mode “pay-as-you-go”, les transactions de Storage sont facturées 0,01 dollars pour 10.000 transactions.<br />Nos 180 accès vont donc nous coûter 0.00018 dollars, ce qui ne paraît pas onéreux.<br />Si l’on multiplie par 1 million d’utilisateurs par jour, le coût total arrive à 180 dollars par jour.<br />L’expérience montre que ce coût est et restera proportionnellement très inférieur aux autres coûts liés au succès de l’application, typiquement la bande passante.<br />
  7. 7. Merci!<br />

×