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:
- Visual Studio Team Services
- Visual Studio
- Visual Studio-verktyg för Xamarin
- Application Insights
- Visual Studio App Center
- App Service Mobile Apps
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
Ladda ned en SVG för den här arkitekturen.
Dataflöde
- Skapa appen med Visual Studio och Xamarin.
- Lägg till serverdelstjänsten Azure App Service Mobile Apps i applösningen.
- Implementera autentisering via leverantörer av sociala identiteter.
- Lagra icke-avbildningsdata i Azure Cosmos DB och cachelagrar dem i Azure Cache for Redis.
- Lagra uppladdade bilder i Azure Blob Storage.
- Kömeddelanden om nyligen uppladdade bilder.
- Använd Azure Functions för att ta bort meddelanden och bearbeta bilder som hämtats från Blob Storage.
- Skicka push-meddelanden till användare via en meddelandehubb.
- Skapa och testa appen via Visual Studio App Center och publicera den.
- Kontrollera distributionen av användartrafik till tjänstslutpunkter i olika datacenter.
- 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
- Visual Studio-dokumentation
- Dokumentation om Xamarin
- Dokumentation om Visual Studio App Center
- översikt över Azure App Service
- Azure Functions dokumentation
- Application Insights-dokumentation
- Dokumentation om Azure Cosmos DB
- Dokumentation om Queue Storage
- Dokumentation om Blob Storage
- Dokumentation om Notification Hubs
- Dokumentation om Traffic Manager