Sociale app voor mobiel en web met verificatie

App Service - Mobile Apps
Functions
Traffic Manager
Visual Studio
Xamarin

Ideeën voor oplossingen

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, laat het ons dan weten door GitHub-feedback te geven.

Deze mobiele client-app biedt het delen van sociale afbeeldingen met een bijbehorende web-app. De back-endservice van de app voert achtergrondafbeeldingsverwerking uit met behulp van een Azure-functie en kan gebruikers op de hoogte stellen van de voortgang via een Notification Hub. Niet-afbeeldingsgegevens worden opgeslagen in Azure Cosmos DB. De web-app opent de back-endservicegegevens en -installatiekopieën via Azure Traffic Manager.

Bekijk de volgende services, die worden aanbevolen in deze oplossingsarchitectuur:

Potentiële gebruikscases

De mobiele client-app werkt in de offlinemodus, waarmee u afbeeldingen kunt bekijken en uploaden, zelfs als u geen netwerkverbinding hebt.

Architectuur

Architectuurdiagram toont de route van de engineer naar Application Insights.Download een SVG van deze architectuur.

Gegevensstroom

  1. Maak de app met Visual Studio en Xamarin.
  2. Voeg de back-endservice van Azure App Service Mobile Apps toe aan de app-oplossing.
  3. Verificatie implementeren via id-providers voor sociale netwerken.
  4. Sla niet-afbeeldingsgegevens op in Azure Cosmos DB en sla deze in de cache op in Azure Cache voor Redis.
  5. Sla geüploade afbeeldingen op in Azure Blob Storage.
  6. Berichten in de wachtrij plaatsen over nieuw geüploade afbeeldingen.
  7. Gebruik Azure Functions om berichten te verwijderen en afbeeldingen te verwerken die zijn opgehaald uit blobopslag.
  8. Pushmeldingen verzenden naar gebruikers via een Notification Hub.
  9. Bouw en test de app via Visual Studio App Center en publiceer deze.
  10. Beheer de distributie van gebruikersverkeer naar service-eindpunten in verschillende datacenters.
  11. Gebruik Application Insights om de app-service te bewaken.

Onderdelen

  • Bouw de webfront-end, mobiele apps en back-endservices met C# in Visual Studio 2017 of Visual Studio voor Mac.
  • Xamarin: Maak mobiele apps voor iOS en Android met C# en Azure SDK's.
  • Visual Studio App Center: App Center maakt een werkstroom voor continue integratie en implementatie mogelijk door code op te halen uit BitBucket, GitHub en Visual Studio Team Services.
  • Een App Service web-app kan een klantgerichte web-app en een service hosten die wordt gebruikt door zowel het web als de mobiele client.
  • Gebruik Azure Functions voor serverloze achtergrondverwerking. Eén Azure-functie kan bijvoorbeeld automatisch het formaat van nieuwe blobs wijzigen wanneer ze worden toegevoegd aan een container, terwijl een andere functie luistert naar berichten in een wachtrij om meerdere achtergrondafbeeldingen te verwijderen.
  • Application Insights: Problemen detecteren, crashes diagnosticeren en het gebruik bijhouden in uw web-app met Application Insights. Neem weloverwogen beslissingen tijdens de ontwikkelingslevenscyclus.
  • Azure Cosmos DB is een volledig beheerde NoSQL-documentdatabaseservice. Het biedt query's en transactieverwerking via schemavrije gegevens, voorspelbare en betrouwbare prestaties en snelle ontwikkeling.
  • Azure Queue Storage wordt gebruikt voor duurzame berichten tussen de App Service back-end en Azure Functions.
  • Blob Storage: Azure Storage host afbeeldingsbestanden om te profiteren van betere schaalbaarheid met lagere kosten. Communicatie tussen de web-app en de Azure-functie wordt vaak uitgevoerd met behulp van blobtriggers en Azure Queue Storage.
  • Azure Notification Hubs worden gebruikt voor schaalbare, platformoverschrijdende pushmeldingen.
  • Azure Traffic Manager bepaalt de distributie van gebruikersverkeer voor service-eindpunten in verschillende datacenters om een zeer responsieve en beschikbare toepassing te leveren.

Volgende stappen