Top Banner
Cloud Powered Mobile Apps with Azure Ken Cenerelli @KenCenerelli kencenerelli.wordpress.com Microsoft Azure
30

Cloud Powered Mobile Apps with Azure

Jul 12, 2015

Download

Technology

Ken Cenerelli
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cloud Powered Mobile Apps with Azure

Cloud Powered Mobile Apps with AzureKen Cenerelli@KenCenerelli

kencenerelli.wordpress.comMicrosoft Azure

Page 2: Cloud Powered Mobile Apps with Azure

Agenda

2

Mobile Services Features and Demos

Advanced Features Scaling and Pricing

Questions

Page 3: Cloud Powered Mobile Apps with Azure

What is Mobile Services?

3

Storage

Authentication

Logic

Push

Scaling

Page 4: Cloud Powered Mobile Apps with Azure

Demo: Getting StartedYour first Mobile Service

Page 5: Cloud Powered Mobile Apps with Azure

Structured Storage

• Powered by SQL Database

• Supports rich querying capabilities

• Dynamic Schematization

• Data management in:• Azure Portal

• SQL Portal (Silverlight)

• SQL Management Studio

• REST API

• Azure CLI Tools

• SQL CLI

5Microsoft Azure

Page 6: Cloud Powered Mobile Apps with Azure

The REST API

6

Action HTTP Method URL Suffix

Create POST /TodoItem

Read GET /TodoItem?filter=id%3D42

Update PATCH /TodoItem/id

Delete DELETE /TodoItem/id

Microsoft Azure

Base Endpoint: https://MobileService.azure-mobile.net/tables/*

Page 7: Cloud Powered Mobile Apps with Azure

JSON to SQL Type Mappings

7

JSON Type T-SQL Type

Numeric values (integer, decimal,

floating point)

Float(53)

Boolean bit

DateTime DateTimeOffset(3)

String Nvarchar(max)

Microsoft Azure

Page 8: Cloud Powered Mobile Apps with Azure

Auto-generated Columns

• id – unique guid

• __createdAt – date

• __updatedAt – date

• __version – timestamp• Helps with concurrency and offline

8Microsoft Azure

Page 9: Cloud Powered Mobile Apps with Azure

Backend Logic:JavaScript & .NET

Page 10: Cloud Powered Mobile Apps with Azure

Server Side Table Scripts

10

Node.js scripts

Intercept CRUD

requests to tables

Passes through to SQL

by default

Fully customizable

logic flow

.NET Web API

backend in

Visual Studio

MongoDB, Table

Storage, SQL out of the

box

Page 11: Cloud Powered Mobile Apps with Azure

Node Modules

11

request push.*

console mssql

tables azure

sendgrid

pusher

twilio

Page 12: Cloud Powered Mobile Apps with Azure

Demo: Customizing LogicAdding Data Validation

Page 13: Cloud Powered Mobile Apps with Azure

File Storage

• Don’t store files in Mobile Services DB

• Use Mobile Service to provide a Valet Key Pattern to Blob Storage, aka BLOB SAS• Create table / custom API script to talk to Blob Storage

• Script generates Shared Access Signature (SAS) URL

• Script returns SAS URL to client app

• Client app uploads data to blob storage directly

• Store file URL in Mobile Service DB as needed

• Blob storage costs less and is built for redundant file storage

13Microsoft Azure

Page 14: Cloud Powered Mobile Apps with Azure

Push Notifications

Page 15: Cloud Powered Mobile Apps with Azure

Push Notification Flow

15Microsoft Azure

Page 16: Cloud Powered Mobile Apps with Azure

Notification Hubs

• Separate from Mobile Services• Can be used regardless of whether you’re storing data in Azure

• Extremely scalable push notifications

• Cross platform support• Push to iOS, Android, Kindle, Windows Phone, Windows Store

• Tags (i.e. tie my registration to this topic or user ID)

• Templates (i.e. when I get a push, send it in this format)

• Server SDKs for .NET, Java, and Node (also open as REST API)

16Microsoft Azure

Page 17: Cloud Powered Mobile Apps with Azure

Authorization

&

Authentication

Page 18: Cloud Powered Mobile Apps with Azure

Authentication

Authenticate with Microsoft Account, Twitter, Facebook, GoogleTable level permissions for each CRUD operation

Everyone

Anyone with the Application Key

Only Authenticated Users

Only Scripts and Admins

More granular control with server side scriptsuser.level: {admin, authenticated, anonymous}

user.userId: id or undefined if not authenticated

401 Unauthorized response if security check fails18

Page 19: Cloud Powered Mobile Apps with Azure

User Auth Flow (server)

19Microsoft Azure

GOOGLE

FACEBOOK

TWITTER

MOBILE SERVICE

DEVICE

MICROSOFT

ACCOUNT

AAD

Page 20: Cloud Powered Mobile Apps with Azure

Script

Source

Control

Page 21: Cloud Powered Mobile Apps with Azure

Script Source Control

• Creates a Git repo in Azure

• Access table, scheduler, custom API, shared scripts and permissions

• Pushing changes triggers a redeploy of your Mobile Service

• Enables installing NPM modules (for Node backends)

• Shared Scripts• Create scripts that can be used from all other scripts in your Service

21Microsoft Azure

Page 22: Cloud Powered Mobile Apps with Azure

Diagnostics

Logging

Scale

Page 23: Cloud Powered Mobile Apps with Azure

Diagnostics, Logging, Scale

23

API Calls, # of Devices,

Data Out

Console Logging (auto

error logging)

Scale Service Based off API

CallsAuto-scale to Save Money

Free Tier for Mobile Free Tier for SQL

Page 24: Cloud Powered Mobile Apps with Azure

Mobile Service Scaling

Free: 500k API calls / month / subscription

Basic: 1.5M API calls / unit (6) / month

Standard: 15M API calls / unit (10) / month

Microsoft Azure

Page 25: Cloud Powered Mobile Apps with Azure

Demo: ScalingLeaving Free Mode and Turning on AutoScale

Page 26: Cloud Powered Mobile Apps with Azure

Mobile Service Tiers

26

General Availability

99.9%

Free Basic Standard

Usage

Restrictions

Up to 10 services,

Up to 500 Active

Devices*

N/A N/A

API Calls 500K

(per subscription)

1.5M

(per unit)

15M

(per unit)

Scale N/A Up to 6 (in portal) Up to 10 (in portal)

Scheduled

Jobs

Limited Included Included

SQL

Database

(required)

20MB free DB 20MB free DB 20MB free DB

*Active devices refers to the number of physical devices and emulators that make at least one call to or receive a push notification from your mobile service.

Page 27: Cloud Powered Mobile Apps with Azure

Azure Mobile Services

27

Storage

Authentication

Logic

Push

Scaling

Page 28: Cloud Powered Mobile Apps with Azure

Resources

• Get a FREE Microsoft Azure Trial Account:• http://azure.microsoft.com

• Videos, Tutorials, and More• http://azure.microsoft.com/mobile

• Microsoft Virtual Academy• http://bit.ly/1hYwvaq

• SDK Source Code on GitHub• https://github.com/Azure/azure-mobile-services

• Contact Details• @KenCenerelli

[email protected]

28Microsoft Azure

Page 29: Cloud Powered Mobile Apps with Azure

Get startedVisit azure.microsoft.com

Page 30: Cloud Powered Mobile Apps with Azure