Sociální aplikace pro mobilní a webové aplikace s ověřováním

Azure App Service
Azure Functions
Azure Traffic Manager
Visual Studio
Xamarin

Návrhy řešení

Tento článek je nápadem na řešení. Pokud chcete, abychom obsah rozšířili o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět tím, že nám poskytnete zpětnou vazbu na GitHubu.

Tato mobilní klientská aplikace nabízí sdílení obrázků na sociálních sítích s doprovodnou webovou aplikací. Back-endová služba aplikace zpracovává obrázky na pozadí pomocí funkce Azure a může uživatele informovat o průběhu prostřednictvím centra oznámení. Data, která nejsou image, se ukládají ve službě Azure Cosmos DB. Webová aplikace přistupuje k datům a imagím back-endové služby prostřednictvím Azure Traffic Manageru.

Podívejte se na následující služby, které jsou uvedené v této architektuře řešení:

Potenciální případy použití

Mobilní klientská aplikace funguje v offline režimu, který umožňuje prohlížet a nahrávat obrázky, i když nemáte připojení k síti.

Architektura

Diagram architektury znázorňuje trasu od inženýra k Application Insights.Stáhněte si SVG této architektury.

Tok dat

  1. Vytvořte aplikaci pomocí sady Visual Studio a Xamarinu.
  2. Přidejte back-endovou službu Azure App Service Mobile Apps do řešení aplikace.
  3. Implementujte ověřování prostřednictvím zprostředkovatelů sociálních identit.
  4. Ukládejte data, která nejsou image, ve službě Azure Cosmos DB a ukládejte je do mezipaměti v Azure Cache for Redis.
  5. Uložte nahrané obrázky do Azure Blob Storage.
  6. Zatěžte zprávy o nově nahraných imagí.
  7. Použití Azure Functions k odstranění front zpráv a zpracování obrázků načtených z úložiště objektů blob.
  8. Odesílání nabízených oznámení uživatelům prostřednictvím centra oznámení
  9. Sestavte a otestujte aplikaci přes Visual Studio App Center a publikujte ji.
  10. Řízení distribuce uživatelského provozu do koncových bodů služby v různých datacentrech
  11. K monitorování služby App Service použijte Application Insights.

Komponenty

  • Vytvářejte webový front-end, mobilní aplikace a back-endové služby pomocí jazyka C# v sadě Visual Studio 2017 nebo Visual Studio pro Mac.
  • Xamarin: Vytvářejte mobilní aplikace pro iOS a Android pomocí sad C# a sad Azure SDK.
  • Visual Studio App Center: App Center umožňuje pracovní postup kontinuální integrace a nasazování tím, že načítá kód z BitBucketu, GitHubu a Visual Studio Team Services.
  • Webová aplikace App Service může hostovat webovou aplikaci určenou pro zákazníky a službu, kterou používá webový i mobilní klient.
  • Pro bezserverové zpracování na pozadí použijte Azure Functions. Například jedna funkce Azure může automaticky měnit velikost nových objektů blob při jejich přidání do kontejneru, zatímco jiná funkce naslouchá zprávám ve frontě, aby odstranila několik obrázků na pozadí.
  • Application Insights: Detekujte problémy, diagnostikujte chybové ukončení a sledujte využití vaší webové aplikace pomocí Application Insights. Činit informovaná rozhodnutí v průběhu životního cyklu vývoje.
  • Azure Cosmos DB je plně spravovaná služba databáze dokumentů NoSQL. Nabízí dotazování a zpracování transakcí nad daty bez schématu, předvídatelný a spolehlivý výkon a rychlý vývoj.
  • Azure Queue Storage slouží k trvalému zasílání zpráv mezi back-endem App Service a Azure Functions.
  • Úložiště objektů blob: Azure Storage hostuje soubory imagí, aby bylo možné využívat lepší škálovatelnost s nižšími náklady. Komunikace mezi webovou aplikací a funkcí Azure se často provádí pomocí triggerů objektů blob a služby Azure Queue Storage.
  • Azure Notification Hubs se používá pro škálovatelná nabízená oznámení pro různé platformy.
  • Azure Traffic Manager řídí distribuci uživatelského provozu pro koncové body služeb v různých datacentrech, aby mohla poskytovat vysoce rychlou a dostupnou aplikaci.

Další kroky