Since I decided to go with Microsoft technologies for my new app, the next question I asked myself was related to hosting. With the growing prevalence of cloud services, it was obvious to go with Microsoft Azure to host my platform. With the benefits of Microsoft BizSpark, this was a no-brainer decision.
As I researched into what Azure offers, I learned there are currently two solutions for hosting mobile app platforms on Azure: Azure Websites and Azure Mobile Services. I spent some time researching both and the differences seem to come down to whether you’re a developer familiar with server-side coding or not. Mobile Services is great for client-side developers who don’t know much about server-side development. Mobile Websites will spin up the tables and the CRUD API’s in one step. You can even customize the logic using node.js. Websites, on the other hand, require that you manually create your own website and service, create your own database, and make sure everything is working properly without deadlocking. This is for the server-side developer.
I eventually decided to go with Azure Websites because the simplicity of Mobile Services was causing more problems than the time savings gained. I liked that Mobile Services provided client-side libraries to interact with the service on multiple platforms, but it wasn’t too hard to learn Alamofire to call my API code from my iOS app. My relational data model was also sufficiently complex such that the default implementation of Mobile Services created more of a road-block than made things easier. Since I’m familiar with server-side development, using technologies such as ASP.NET MVC, ASP.NET Web API, and Entity Framework for the database made more sense than trying to learn node.js. Websites also have many more scalability options than Mobile Services.
Cloud infrastructure is great. Not having to worry about the machine, the DLL’s, the system libraries feel so liberating than the old days when I had to respond to system alerts at 3am in the morning. Azure provides all of these benefits no matter which solution you choose. If you’re on the fence on selecting Websites or Mobile Services for your app, hopefully this helps clarify things.