Mobile Apps are a recent phenomenon in Microsoft Azure and form part of App Services, which are specifically targeted at the delivery applications on mobile technology.
What Are Mobile Apps
In a nutshell, Mobile Apps are a PaaS offering, which means that the developer can create and manage mobile applications without needing to worry about managing and maintaining the underlying operating system.
Depending on the App Service Plan chosen, will entitle you to a number of features for your website which are:
- Amount of disk space
- Number of instances
- Auto Scale
- Geo Distributed Deployment
- Custom Domain
- Staging Environment
- Offline Sync
- Active Mobile Devices
Most businesses would choose the Standard Tier as this provides an SLA of 99.95% along with Auto-Scale. More information on the types of App Service plans can be found here.
As part of the Mobile Apps PaaS offering identity and access are included as this is underpinned via Azure Active Directory. Meaning that if you use Azure AD Connect in either same sign on or single sign on you have the ability to provide enterprise level authentication using your on-premises directory services. Or if the mobile application is going to be standaline, the ability to use social providers such as Facebook, Google or Twitter is provided.
Mobile coverage is an issue in the UK, I can be driving on the M1 and in some areas have no phone signal. This is a challenge when developing mobile applications as you can’t expect the user to always be in an area that has excellent coverage. Built into Mobile Apps is an offline sync client which uses SQL Lite to cache and modify data locally on the end device. It works on a push basis with the end device providing the notification to Mobile Apps to receive data over REST API’s.
Offline sync is available on Andiod, Cordova, iOS, Windows.
Integrated with Mobile Apps are Azure Notification Hubs. These allow you to send notifications to mobile devices using a Platform Notification System (PNS). In the same way that offline sync is available across platforms, so are notifications hubs.
Typical use cases for Azure Notification Hubs are:
- Breaking news or offers
- Updates per location e.g. travel issues
- Updates per group e.g. people with a similar interest
- One time passwords for MFA
Mobile apps by their very nature usually require input from the client device. This could be in the form of uploading documents or images to Azure Blob storage. To achieve this you would use a Shared Access Signature (SAS), the client device calls the Mobile App to generate a SAS which passes a storage token back to the client device enabling the user to write data to your Azure Blob storage account on a time restricted basis.
The diagram below provides a logical overview of the use of mobile apps and how the components integrate.