Mobile App Service an Azure App Service for mobile applications

Azure Mobile Apps, is an Azure workload based on Azure App Service core functionality but primarly focused on Mobile solutions.

Architecture

Common features list

Supported mobile platforms

  • iOS (Objective-C/Swift)
  • Android (Java)
  • Windows (C#)
  • Xamarin (Classic/Forms)
  • Cordova

Supported Mobile Apps backend

Authentication and Authorization

App Service Authentication and Authorization is a feature which allows your application to log in users with no code changes required on the app backend. It provides an easy way to protect your application and work with per-user data.

App Service uses federated identity, in which a 3rd-party identity provider (“IDP”) stores accounts and authenticates users, and the application uses this identity instead of its own. App Service supports five identity providers out of the box: Azure Active Directory, Facebook, Google, Microsoft Account, and Twitter. You can also expand this support for your apps by integrating another identity provider or your own custom identity solution.

Your app can leverage any number of these identity providers, so you can provide your end users with options for how they login.

:notebook: More details about Authentication/Authorization.

Backups

App service Backup is a feature which allows to backup and restore manually or on a schedule, all backups are performed on the Azure storage account previously configured to use your Mobile App.

You can backup your:

  • Mobile App configuration
  • File content
  • Database connected to your app

Supported databases:

  • SQL Database
  • Azure Database for MySQL (Preview)
  • Azure Database for PostgreSQL (Preview)
  • ClearDB MySQL
  • MySQL in-app

:notebook: More details about Backups.

Scale up

App service Scale up is a feature which allows to get more CPU, memory, disk space, and extra features like dedicated virtual machines (VMs), custom domains and certificates, staging slots, autoscaling, and more. You scale up by changing the pricing tier of the App Service plan that your app belongs to.

:notebook: More details about Scalue up.

Scale out

App service Scale out is a feature which allows to get more instances of your service, you can set parameters to have it automatically scale based on demand, known tipically as Scale out or Scale in. Before scaling based on instance count is important consider the pricing tier, since they have different cores, memory and performance.

:notebook: More details about Scalue out.

WebJobs

App service WebJobs is a feature which allows to run programs or scripts in three ways: continously, on demand or on a schedule, this is a very attractive feature since there is no additional cost to use it.

The following file types are accepted:

  • .cmd, .bat, .exe (using windows cmd)
  • .ps1 (using powershell)
  • .sh (using bash)
  • .php (using php)
  • .py (using python)
  • .js (using node)
  • .jar (using java)

:notebook: More details about WebJobs.

:notebook: Additional resources.

Push Notifications

App service Push notifications is a feature which allows to easily send targeted and personalized push notifications to any mobile platform from any cloud or on-premises backend.

Works great for both enterprise and consumer scenarios. Here are a few examples customers use Notification Hubs for:

  • Send breaking news notifications to millions with low latency.
  • Send location-based coupons to interested user segments.
  • Send event-related notifications to users or groups for media/sports/finance/gaming applications.
  • Push promotional contents to apps to engage and market to customers.
  • Notify users of enterprise events like new messages and work items.
  • Send codes for multi-factor authentication.

Dependencies:

Tutorials for Xamarin.Android and Xamarin.iOS:

Offline Sync

App service Offline sync is a feature which allows to end-users interact with a mobile app to view, add, or modify data, even when they have no network connection. Changes are stored in a local database. After the device is back online, the changes are synced with the remote back end.

:notebook: More details about Offline Sync.

Easy Tables

App service Easy tables is a feature which allows to create a backend data storage to your app.

:notebook: Suggested lecture: Getting started with Azure Mobile Apps and easy tables.

Easy APIs

App service Easy tables is a feature which allows to create a backend api tier to your app.

:notebook: Suggested lecture 30 days of Azure Mobile Apps.

Application Insights

App service Application Insights is an extensible Application Performance Management (APM) service for web developers on multiple platforms. Use it to monitor your live web application. It will automatically detect performance anomalies. It includes powerful analytics tools to help you diagnose issues and to understand what users actually do with your app. It’s designed to help you continuously improve performance and usability. It works for apps on a wide variety of platforms including .NET, Node.js and J2EE, hosted on-premises or in the cloud. It integrates with your devOps process, and has connection points to a variety of development tools.

:notebook: More details about Application Insights.