28
ndows Azure Conference 2014 Windows Azure Conference 2014 Gandhali Samant Windows Azure Mobile Services from ground up

Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Embed Size (px)

Citation preview

Page 1: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Windows Azure Conference 2014

Gandhali Samant

Windows Azure Mobile Services from ground up

Page 2: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

• Building Apps• Building Apps with mobile Service• Data Storage• Push Notifications• Security and authentication• Questions

Agenda

Page 3: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

What are we Building Apps for?

Page 4: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Windows Azure Mobile Services

Data

NotificationsServer Logic

Scheduler

Logging & Diag

ScaleAuth

Page 5: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Getting started with HTML / JS

Page 6: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

• Powered by SQL Database• Same DB – Multiple Mobile Services• Data management in:

– Windows Azure Portal– SQL Portal– SQL Management Studio– REST API– CLI Tools

Structured Storage

Page 7: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

The REST API

Action HTTP Verb URL Suffix

Create POST /TodoItem

Retrieve GET /TodoItem?$filter=id%3D42

Update PATCH /TodoItem/id

Delete DELETE /TodoItem/id

Data Operations and their REST Equivalents

Base REST API Endpoint URL

http://Mobileservice.azure-mobile.net/tables/*

Page 8: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

JSON to SQL Type Mappings

JSON Value T-SQL TypeNumeric values (integer, decimal, floating point)

Float

Boolean BitDateTime DateTimeOffset(3)String Nvarchar(max)

Page 9: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Server Side Scripts

Built on top of Node.js

Passes through to SQL by default

Intercept CRUD requests to tables

Fully customizable logic flow

Customizing data flow on the server

Page 10: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Node ModulesExtensibility through numerous modules

request

console

push.*

mssql

statusCodes azure

sendgrid

pusher

twilio

Page 11: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Adding Server Logic

Page 12: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Push Notifications1. Register for push

notifications

2. Register with your send token to Mobile Service

3. Push from server side scripts

Client

(1)

(2)

(3)

(3)

Page 13: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Pushing with Native

Page 14: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

User Authentication

Page 15: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

• Table level permissions for each operation– Everyone– Anyone with the Application Key– Only Authenticated Users– Only Scripts and Admins

• User options in scripts– user.level (admin, authenticated, anonymous)– user.userId (provider:id or undefined)

Data Authorization

Page 16: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Adding Authentication with Xamarin

Page 17: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Command Line Tools

Create / Delete Services

Create / Update / Delete Tables and Permissions

Inspect / Delete Table Data

Create, / Upload / Delete Scripts

Scriptable control from PowerShell / Bash

Scale Up / Down Services Much More!

Page 18: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Using the CLI

Page 19: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

• Execute scripts on a Schedule• Execute scripts on demand• Frequency and length of execution

based off of service level

Scheduler

Page 20: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

• Non-table based scripts• Accessible from:

– Get– Post– Put– Patch– Delete

• Same permissions as Tables

Custom API

Page 21: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

NPM• Ability to use ‘npm install module’ to download NPM modules• Currently accessible from Custom API only

Script Source Control

Shared Scripts• Make scripts accessible from other scripts• Like creating Node Modules

• Handled through Git repo• Access to table, scheduler, custom API, shared scripts, and

permissions

Page 22: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Scheduler, Custom API, Script Source

Page 23: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Diagnostics, Logging, Scale

API Calls, CPU Time, Data Out

Console logging from Scripts

Scale service based off of API Calls

Scale SQL DB / Server

Page 24: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Service Scale

Free• 500K API calls per subscription per

month

Standard• 1.5M API calls per unit per month

Premium• 15M API calls per unit per month

Page 25: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Diagnostics, Logging, and Scale

Page 26: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Preview Pricingpreview pricing & licensing $ service level

agreements

PreviewNo availability SLA

Shared (multitenant environment)

Small instance is the only size available; multiple may be purchased

First 10 Mobile Services are free, with no plans to start charging

Reserved (private VM)

Small instance is the only size available; multiple may be purchased

Charge for Preview will be at the same reduced rate as Web Sites

Up to 100 Mobile Services

Page 27: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014

Mobile Services GA Pricingpricing & licensing $ service level

agreements

General Availability99.9%

Free Standard Premium

Price FreeUp to 10 services,

Up to 100 Active Devices**

$25 USD/mo(per unit**)

$199 USD/mo(per unit**)

API Calls 500K (per subscription)

1.5M(per unit)

15M(per unit)

Scale N/A Up to 6 Standard units

Up to 10 Enterprise units

Scheduled Jobs Limited Included Included

SQL Database (required)

20MB Included, Standard rates apply

for more capacity

20MB Included, Standard rates apply

for more capacity

20MB Included, Standard rates apply

for more capacity

*prorated daily

**Active devices refers to the number of unique devices that have both obtained your Mobile Services powered app from a public app store and have made at least one call to your mobile service over the past 30 days.

Page 28: Windows Azure Conference 2014 Windows Azure Mobile Services from ground up

Windows Azure Conference 2014Windows Azure Conference 2014

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.