App per social network per dispositivi mobili e Web con autenticazione

Servizio app - App per dispositivi mobili
Funzioni
Gestione traffico
Visual Studio
Xamarin

Idea della soluzione

Se si desidera vedere questo articolo con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o linee guida sui prezzi, è possibile inviare commenti e suggerimenti GitHub!

Questa app client per dispositivi mobili offre la condivisione di immagini social con un'app Web complementare. Il servizio back-end dell'app esegue l'elaborazione di immagini in background usando una funzione di Azure e può inviare notifiche agli utenti sullo stato di avanzamento tramite un hub di notifica. I dati non di immagine vengono archiviati nel Cosmos database. L'app Web accede ai dati e alle immagini del servizio back-end tramite Gestione traffico.

L'app client per dispositivi mobili funziona in modalità offline, consentendo di visualizzare e caricare immagini anche quando non si ha una connessione di rete.

I collegamenti a destra forniscono la documentazione sulla distribuzione e la gestione dei prodotti Azure elencati nell'architettura della soluzione precedente.

Visual Studio Team Services

Visual Studio

Visual Studio Tools per Xamarin

Application Insights

Visual Studio App Center

app per dispositivi mobili del servizio app

Architettura

Diagramma dell'architettura Scaricare un SVG di questa architettura.

Flusso di dati

  1. Creare l'app usando Visual Studio e Xamarin.
  2. Aggiungere il Servizio app di Azure back-end app per dispositivi mobili alla soluzione dell'app.
  3. Implementare l'autenticazione tramite provider di identità di social network.
  4. Archiviare i dati non di immagine Cosmos database e memorizzarlo nella cache cache di Azure per Redis.
  5. Archiviare le immagini caricate in Blob di Azure Archiviazione.
  6. Accoda messaggi sulle immagini appena caricate.
  7. Usare Funzioni di Azure per deaccodare i messaggi ed elaborare le immagini recuperate dall'archivio BLOB.
  8. Inviare notifiche push agli utenti tramite un hub di notifica.
  9. Compilare e testare l'app Visual Studio App Center e pubblicarla.
  10. Controllare la distribuzione del traffico utente agli endpoint di servizio in data center diversi.
  11. Usare Application Insights per monitorare il servizio app.

Componenti

  • Creare il front-end Web, le app per dispositivi mobili e i servizi back-end con C# in Visual Studio 2017 o Visual Studio per Mac.
  • Xamarin:creare app per dispositivi mobili per iOS e Android usando C# e Azure SDK.
  • Visual Studio App Center:App Center un flusso di lavoro di integrazione e distribuzione continuo estraendo il codice da BitBucket, GitHub e Visual Studio Team Services.
  • Un'app Web del servizio app può ospitare un'app Web rivolta al cliente e un servizio usato sia dal client Web che dal client per dispositivi mobili.
  • Usare Funzioni di Azure per l'elaborazione in background serverless. Ad esempio, una funzione di Azure può ridimensionare automaticamente i nuovi BLOB quando vengono aggiunti a un contenitore, mentre un'altra funzione è in ascolto dei messaggi in una coda per eliminare più immagini di sfondo.
  • Application Insights: rilevare i problemi, diagnosticare gli arresti anomali e tenere traccia dell'utilizzo nell'app Web con Application Insights. Prendere decisioni informate durante tutto il ciclo di vita dello sviluppo.
  • Il database Cosmos Azure è un servizio di database di documenti NoSQL completamente gestito. Offre query ed elaborazione delle transazioni su dati senza schema, prestazioni prevedibili e affidabili e sviluppo rapido.
  • L'archiviazione code di Azure viene usata per la messaggistica durevole tra il back-end del servizio app e Funzioni di Azure.
  • Archiviazione BLOB:Archiviazione di Azure ospita i file di immagine per sfruttare una migliore scalabilità con costi inferiori. La comunicazione tra l'app Web e la funzione di Azure viene spesso eseguita usando trigger BLOB e Archiviazione code di Azure.
  • Gli hub di notifica di Azure vengono usati per le notifiche push multipiattaforma scalabili.
  • Azure Gestione traffico la distribuzione del traffico utente per gli endpoint di servizio in data center diversi per offrire un'applicazione altamente reattiva e disponibile.

Passaggi successivi