Social app för mobil och webb med autentisering

App Service – Mobile Apps
Functions
Traffic Manager
Visual Studio
Xamarin

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub feedback.

Den här mobilappen erbjuder delning av sociala avbildningar med en tillhörande webbapp. Appens serverdelstjänst utför bearbetning av bakgrundsbilder med hjälp av en Azure-funktion och kan meddela användarna om förloppet via en meddelandehubb. Icke-bilddata lagras i Azure Cosmos DB. Webbappen kommer åt serverdelstjänstens data och avbildningar via Azure Traffic Manager.

Se följande tjänster, som finns i den här lösningsarkitekturen:

Potentiella användningsfall

Mobilappen fungerar i offlineläge, vilket gör att du kan visa och ladda upp bilder, även om du inte har någon nätverksanslutning.

Arkitektur

Arkitekturdiagrammet visar vägen från teknikern till Application Insights.Ladda ned en SVG för den här arkitekturen.

Dataflöde

  1. Skapa appen med Visual Studio och Xamarin.
  2. Lägg till serverdelstjänsten Azure App Service Mobile Apps i applösningen.
  3. Implementera autentisering via leverantörer av sociala identiteter.
  4. Lagra icke-avbildningsdata i Azure Cosmos DB och cachelagrar dem i Azure Cache for Redis.
  5. Lagra uppladdade bilder i Azure Blob Storage.
  6. Kömeddelanden om nyligen uppladdade bilder.
  7. Använd Azure Functions för att ta bort meddelanden och bearbeta bilder som hämtats från Blob Storage.
  8. Skicka push-meddelanden till användare via en meddelandehubb.
  9. Skapa och testa appen via Visual Studio App Center och publicera den.
  10. Kontrollera distributionen av användartrafik till tjänstslutpunkter i olika datacenter.
  11. Använd Application Insights för att övervaka apptjänsten.

Komponenter

  • Skapa webbklienten, mobilappar och serverdelstjänster med C# i Visual Studio 2017 eller Visual Studio för Mac.
  • Xamarin: Skapa mobilappar för iOS och Android med C# och Azure SDK:er.
  • Visual Studio App Center: App Center möjliggör ett arbetsflöde för kontinuerlig integrering och distribution genom att hämta kod från BitBucket, GitHub och Visual Studio Team Services.
  • En App Service webbapp kan vara värd för en kundriktad webbapp och en tjänst som används av både webb- och mobilklienten.
  • Använd Azure Functions för serverlös bakgrundsbearbetning. En Azure-funktion kan till exempel automatiskt ändra storlek på nya blobar när de läggs till i en container, medan en annan funktion lyssnar efter meddelanden i en kö för att ta bort flera bakgrundsbilder.
  • Application Insights: Identifiera problem, diagnostisera krascher och spåra användning i din webbapp med Application Insights. Fatta välgrundade beslut under hela utvecklingslivscykeln.
  • Azure Cosmos DB är en fullständigt hanterad NoSQL-dokumentdatabastjänst. Den erbjuder frågor och transaktionsbearbetning över schemafria data, förutsägbara och tillförlitliga prestanda och snabb utveckling.
  • Azure Queue Storage används för varaktiga meddelanden mellan App Service-serverdelen och Azure Functions.
  • Blob Storage: Azure Storage är värd för avbildningsfiler för att dra nytta av bättre skalbarhet med lägre kostnad. Kommunikationen mellan webbappen och Azure-funktionen utförs ofta med hjälp av blobutlösare och Azure Queue Storage.
  • Azure Notification Hubs används för skalbara push-meddelanden mellan plattformar.
  • Azure Traffic Manager styr distributionen av användartrafik för tjänstslutpunkter i olika datacenter för att leverera ett mycket dynamiskt och tillgängligt program.

Nästa steg