Application de réseau social pour mobile et web avec authentification

App Service - Mobile Apps
Fonctions
Traffic Manager
Visual Studio
Xamarin

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Cette application cliente mobile fournit un partage d’images sociales avec une application web associée. Le service back-end de l’application traite les images d’arrière-plan à l’aide d’une fonction Azure et peut notifier les utilisateurs de la progression via un concentrateur de notifications. Les données qui ne sont pas des images sont stockées dans Cosmos DB. L’application web accède aux données et aux images du service back-end via Traffic Manager.

L’application cliente mobile fonctionne en mode hors connexion, ce qui vous permet d’afficher et de charger des images même lorsque vous n’avez pas de connexion réseau.

Les liens situés à droite permettent d’accéder à une documentation sur le déploiement et la gestion des produits Azure listés dans l’architecture de la solution précédente.

Visual Studio Team Services

Visual Studio

Visual Studio Tools pour Xamarin

Application Insights

Visual Studio App Center

App Service Mobile Apps

Architecture

Diagramme d’architecture Télécharger une SVG de cette architecture.

Data Flow

  1. Créez l’application à l’aide de Visual Studio et de Xamarin.
  2. Ajoutez le service back-end Azure App Service Mobile Apps à la solution d’application.
  3. Implémentez l’authentification via des fournisseurs d’identité sociale.
  4. Stockez les données qui ne sont pas des images dans Cosmos DB et mettez-les en cache dans Azure Cache pour Redis.
  5. Stockez les images chargées dans le service Stockage Blob Azure.
  6. Mettez en file d’attente les messages concernant les images récemment téléchargées.
  7. Utilisez Azure Functions pour retirer des messages de la file d’attente et traiter les images récupérées à partir du stockage d’objets BLOB.
  8. Envoyez des notifications Push aux utilisateurs via un hub de notifications.
  9. Générez et testez l’application via Visual Studio App Center, puis publiez-la.
  10. Contrôlez la répartition du trafic utilisateur pour les points de terminaison de service dans différents centres de données.
  11. Utilisez Application Insights pour surveiller le service d’application.

Composants

  • Créez le site web frontal, les applications mobiles et les services back-end avec C# dans Visual studio 2017 ou Visual studio pour Mac.
  • Xamarin : Créez des applications mobiles pour iOS et Android à l’aide de C# et des kits de développement logiciel (SDK) Azure.
  • Visual Studio App Center : App Center permet un workflow d’intégration et de déploiement continu en extrayant le code de BitBucket, GitHub et Visual Studio Team Services.
  • Une application web App Service peut héberger une application web destinée aux clients et un service utilisé par les clients web et mobile.
  • Utilisez Azure Functions pour le traitement serverless en arrière-plan. Par exemple, une fonction Azure peut redimensionner automatiquement les nouveaux objets BLOB lorsqu’ils sont ajoutés à un conteneur, tandis qu’une autre fonction écoute les messages dans une file d’attente afin de supprimer plusieurs images d’arrière-plan.
  • Application Insights : Détectez les problèmes, diagnostiquez les incidents et suivez l’utilisation de votre application web avec Application Insights. Optimisez vos prises de décisions durant le cycle de développement.
  • Azure Cosmos DB est un service de base de données de documents NoSQL entièrement géré. Il permet le traitement des requêtes et des transactions sur des données sans schéma, offre des performances prévisibles et fiables, et accélère la phase de développement.
  • Le service Stockage File d'attente Azure est utilisé pour la messagerie durable entre le serveur back-end App Service et Azure Functions.
  • Stockage Blob : Le service Stockage Azure héberge des fichiers image pour tirer parti d’une meilleure évolutivité avec des coûts réduits. La communication entre l’application web et la fonction Azure est souvent effectuée à l’aide de déclencheurs d’objets BLOB et du service Stockage File d'attente Azure.
  • Azure Notification Hubs permet d’émettre des notifications Push évolutives et multiplateformes.
  • Azure Traffic Manager contrôle la distribution du trafic utilisateur pour les points de terminaison de service dans différents centres de données. Vous pouvez ainsi fournir des applications hautement réactives et disponibles.

Étapes suivantes