1
votes

I am planning to build an enterprise grade mobile application that requires full offline capability. It would be used worldwide. For the backend application, I intend to realise it as microservices using Azure Service fabric. The backend application would be leveraged by both a web admin UI as well as by the above mobile app. For the mobile app, I intend to use Azure App service's the new mobile app service. This would provide me the capability to do offline data sync and also carry out the functions when network reachability is there.

MobileApp --> Azure MobileApp service --> Azure API app service --> Azure Service Fabric (cluster of nodes hosting microservices).

Following are some questions & observations on which I require advice:

  1. The reason I am putting in Azure API service in the middle is because I intend to do API management (I understand Azure has a separate API management offering - any pointers on how I can do true API management in the above architecture would be very helpful. Would API management replace API app service ? )

  2. I intend to use Swagger generated code out of API app service, so that both the web admin UI layer and the Azure Mobile App service layer can leverage. Your thoughts ?

  3. Here I am using 2 paradigms - App Service (for mobile & API) and App Service fabric. I believe this is the only option given the fact that I have a mobile app requiring heavy duty offline feature.

  4. Data Sync from mobile: How do you think I can sync data between Mobile App service and the microservice specific data stores ? Do I need to go via the APIs or I can easily do a data sync with the data stores of individual microservices. Your thoughts please ?

1

1 Answers

1
votes

I would put the Azure API management in front of the mobile apps, on the microsoft integration roadmap, there was an announcement that API management will be built into App Services (and thus mobile services) by the end of 2016: https://www.microsoft.com/en-us/download/details.aspx?id=50408

The first preview is in "Power Apps" https://azure.microsoft.com/nl-nl/documentation/articles/powerapps-configure-apis/ where API management policies are incorporated directly

For more info on creating an API management layer on top of mobile services: http://giventocode.com/azure-api-management-and-azure-mobile-services