Social media-app för mobil och webb med autentisering

App Service – Mobile Apps
Functions
Traffic Manager
Visual Studio
Xamarin

Lösnings idé

Om du vill se den här artikeln med mer information, implementerings information, prissättnings vägledning eller kod exempel kan du berätta för oss med GitHub feedback!

Den här appen för mobila klienter erbjuder delning av sociala bilder med en Companion-webbapp. Appens backend-slutpunkt bearbetar bakgrunds bilder med hjälp av en Azure-funktion och kan meddela användare om förloppet via en Notification Hub. Data som inte är avbildningar lagras i Cosmos DB. Webbappen får åtkomst till Server data och avbildningar för Server delen via Traffic Manager.

Appen för mobila klienter fungerar i offlineläge, så att du kan visa och ladda upp bilder även om du inte har en nätverks anslutning.

Länkarna till höger innehåller dokumentation om hur du distribuerar och hanterar de Azure-produkter som anges i lösnings arkitekturen ovan.

Visual Studio Team Services

Visual Studio

Visual Studio Tools för Xamarin

Application Insights

Visual Studio App Center

App Service Mobile Apps

Arkitektur

Arkitektur diagram Ladda ned en SVG -arkitektur.

Dataflöde

  1. Skapa appen med Visual Studio och Xamarin.
  2. Lägg till Azure App Service Mobile Apps backend-tjänsten till app-lösningen.
  3. Implementera autentisering via sociala identitets leverantörer.
  4. Lagra data som inte är avbildningar i Cosmos DB och cachelagra dem i Azure cache för Redis.
  5. Lagra uppladdade bilder i Azure Blob Storage.
  6. Köa meddelanden om nyligen överförda bilder.
  7. Använd Azure Functions för att ta bort meddelanden från kön och bearbeta bilder som hämtats från Blob Storage.
  8. Skicka push-meddelanden till användare via en Notification Hub.
  9. Bygg och testa appen via Visual Studio App Center och publicera den.
  10. Styr distributionen av användar trafik till tjänst slut punkter i olika data Center.
  11. Använd Application Insights för att övervaka app service.

Komponenter

  • Bygg webb klient delen, mobilappar och Server dels tjä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 aktiverar ett kontinuerligt integrerings-och distributions arbets flöde genom att dra 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 mobil klienten.
  • Använd Azure Functions för Server lös bakgrunds bearbetning. En Azure-funktion kan till exempel automatiskt ändra storlek på nya blobbar när de läggs till i en behållare, medan en annan funktion lyssnar efter meddelanden i en kö för att ta bort flera bakgrunds bilder.
  • Application Insights: identifiera problem, diagnostisera krascher och spåra användning i din webbapp med Application Insights. Fatta välgrundade beslut under utvecklings livs cykeln.
  • Azure Cosmos DB är en fullständigt hanterad NoSQL-databas för dokument. Den erbjuder frågor och transaktions bearbetning över schema fria data, förutsägbara och pålitliga prestanda och snabb utveckling.
  • Azure Queue Storage används för varaktiga meddelanden mellan App Service server del och Azure Functions.
  • Blob Storage: Azure Storage är värd för bildfiler för att dra nytta av bättre skalbarhet med lägre kostnad. Kommunikation mellan webbappen och Azure-funktionen utförs ofta med hjälp av BLOB-utlösare och Azure Queue Storage.
  • Azure Notification Hubs används för skalbara push-meddelanden över plattformar.
  • Azure Traffic Manager styr distributionen av användar trafik för tjänst slut punkter i olika data Center för att tillhandahålla ett mycket flexibelt och tillgängligt program.

Nästa steg