Azure Mobile Services allows you to add a cloud-hosted scalable backend to your connected apps within minutes. Whether you’re building apps for Windows 8, Windows Phone, iOS or Android you can take advantage of the Azure cloud to streamline your data and provide a robust, reliable and cost-effective platform to support your application. Mobile Services has been around since 2012 when it was in preview, and has seen many version updates and improvements. Mobile Services enables you to store structured data, authenticate users, add push notifications etc.
In March 2015, Microsoft announced the new Azure App Service, a cloud based service that enables developers to create web and mobile apps for any platform or device, integrate with many SaaS solutions and on-premises applications and business processes across cloud services, while continuously meeting security, reliability and scalability needs. Microsoft built App Service on top of existing tools like Azure Websites, Mobile Services and Biztalk Services which, for the most part, are existing services. App Service integrates all these features into a single service.
Mobile Apps is the “mobile” component of App Service which integrates all of the functionality of Mobile Services and more. Mobile Apps is in public preview.
Mobile Services vs Mobile Apps
While App Service combines all the features of Mobile Services, it also offers a number of advantages that are not available for Mobile Services today, and probably won’t be available in the future because of the nature of the integrated solution that App Service is.. The key differences are the following:
- Mobile Services is the classic version of a cloud hosted backend for mobile applications. Not all of the features of Mobile Services have been completed migrated yet, but it will get there (Cordova support is in beta)
- New host features including Web Jobs (Add continuously running backend logic), custom CNames, traffic management(Geo-scale your app), better monitoring
- Connect your Mobile App to SaaS APIs including Office 365, Dynamics, Salesforce, SAP, and more
- Connectivity to your on-premise resources and VPNs using VNet in addition to Hybrid Connections
- With Mobile Services, all instances of your backend code were running on Small VMs. Azure App Service enables you to select the size of the VMs from a much richer set of options
- Built-in auto scale, load balancing, and performance monitoring
- Built-in staging, backup, roll-back, and testing-in-production capabilities
- Broader and richer support for developer platforms including Java, PHP, and Python in addition to .NET and Node.js supported in Mobile Services
- Improved SDKs for developers with many new and enhanced features (Express and local debugging for NodeJS, support of any ASP.NET project including MVC for .NET etc.)
You can read more about the new features of App Service here.
When You Should Migrate (or Upgrade)
Mobile Services is still supported and will continue to run side-by-side with the new App Service offering. There is currently no indication when Azure Mobile services will be phased out. Users will have to eventually migrate to the new service, but that migration is currently happening at a slow pace because of the breaking API changes. You would want to consider migrating to the new service in the the following situations:
- You are not actively developing any new feature in the your backend
- You would want to leverage the new SDKs for the new feature you want to add to your backend
- You are considering upgrading your libraries and you are tired trying to figure out the right dependencies for each version
- You can afford having a scheduled maintenance window in which you can migrate and test
- You are not satisfied with scaling Mobile Services with Small Vms and would rather have more choices for compute resources
- You would like to use a custom domain for your API
- You would like to use the monitoring tools available in App Service so you can make better business decisions
- You would like to finally connect your mobile app to Office 365, Salesforce etc.
- You would like to have the future enhancements which will probably be only available for App Service
- You would like to try any other feature in App Service
There are two options for moving from Mobile Services to App Service: migration or upgrade. Either option will give you access to all of the hosting capabilities of App Service.
While Mobile Services has been there for a while and it’s powering a myriad of business applications today. App Service comes to replace it with the new Mobile Apps component which promises many outstanding features and superior integration with other Azure service. Migration to the new model is ultimately going to happen and Mobile Services will retire. Why not make use of it today?