Social mobile and web app with authentication
This mobile client app offers social image sharing with a companion web app. The app back end service does background image processing using an Azure Function and can notify users of progress via a notification hub. Non-image data is stored in CosmosDB. The web app accesses the back end service data and images via Traffic Manager.
The mobile client app works in offline mode, allowing you to view and upload images even when you don’t have a network connection.
Create the app using Visual Studio and Xamarin.
Add the Azure App Service Mobile Apps back end service to the app solution.
Implement authentication through social identity providers.
Store non-image data in CosmosDB and cache it in Azure Cache for Redis.
Store uploaded images in Azure Blob Storage.
Queue messages about newly uploaded images.
Use Azure Functions to dequeue messages and process images retrieved from blob storage.
Send push notifications to users through a notification hub.
Build and test the app through Visual Studio App Center and publish it.
Control the distribution of user traffic to service endpoints in different datacenters.
Use Application Insights to monitor the app service.
- 1 Create the app using Visual Studio and Xamarin.
- 2 Add the Azure App Service Mobile Apps back end service to the app solution.
- 3 Implement authentication through social identity providers.
- 4 Store non-image data in CosmosDB and cache it in Azure Cache for Redis.
- 5 Store uploaded images in Azure Blob Storage.
- 6 Queue messages about newly uploaded images.
- 7 Use Azure Functions to dequeue messages and process images retrieved from blob storage.
- 8 Send push notifications to users through a notification hub.
- 9 Build and test the app through Visual Studio App Center and publish it.
- 10 Control the distribution of user traffic to service endpoints in different datacenters.
- 11 Use Application Insights to monitor the app service.
|Build the web front end, mobile apps, and back end services with C# in Visual Studio 2017 or Visual Studio for Mac.|
|Create mobile apps for iOS and Android using C# and Azure SDKs.|
Visual Studio App Center
|App Center enables a continuous integration and deployment workflow by pulling code from BitBucket, GitHub, and Visual Studio Team Services.|
|An App Service web app can host a customer-facing web app and a service that is used by both the web and mobile client.|
|Use Azure Functions for serverless background processing. For example, one Azure function can automatically resize new blobs when they're added to a container, while another function listens for messages on a queue in order to delete multiple background images.|
|Detect issues, diagnose crashes, and track usage in your web app with Application Insights. Make informed decisions throughout the development lifecycle.|
Azure Cosmos DB
|Azure Cosmos DB is a fully-managed NoSQL document database service. It offers querying and transaction-processing over schema-free data, predictable and reliable performance, and rapid development.|
|Azure Queue storage is used for durable messaging between the App Service backend and Azure Functions.|
|Images are stored in Azure Storage to take advantage of better scalability with lower cost. Communication between the web app and the Azure function is often performed using blob triggers and Azure Queue storage.|
|Azure Notification Hubs are used for scalable, cross-platform push notifications.|
|Azure Traffic Manager controls the distribution of user traffic for service endpoints in different datacenters in order to deliver a highly responsive and available application.|
Related solution architectures
This consumer mobile app architecture uses Azure App Service Mobile Apps to simplify authentication with multiple social identity providers, store data and sync it for offline access, and send push notifications.
This mobile workforce app architecture uses Active Directory to secure corporate data from an SAP back end system, delivered to devices via Azure App Service API Management.