Hybrid Apps: Azure Mobile Engagement and the App Economy

Slides:



Advertisements
Similar presentations
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Advertisements

Building Windows Store Apps with Windows Azure Mobile Services Name Title Organization.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Windows Azure Mobile Services. Data Push Notifications Auth Scheduler Diagnostics & Scale Agenda.
Push to ALL the iPhones with Azure Chris Risner Senior Technical Microsoft Azure.
Cross Platform Mobile Backend with Mobile Services James
Building Android Apps with Mobile Services Speaker Name Speaker Title Speaker Company Twitter:
SQL SERVER 2012 FOR THE NEW WORLD OF DATA Doug Leland General Manager SQL Server Marketing.
Kirill Principal Lead Program Manager High Scale Cross Platform Push Notifications.
Building Connected Android Apps with Azure Chris Risner Technical Evangelist
SDKs Source control, table scripts, custom API & Scheduler FacebookTwitterMicrosoftGoogle Active Directory SQL Table Storage Blob Storage WNS & MPNS.
Building Connected iOS Apps With Mobile Services Chris Risner Senior Technical Microsoft Azure.
I am familiar with Mobile Services Node.js Express ASP.NET Web API SQL Table Storage Blob Storage WNS APNS GCM Mongo DB Notification Hubs Source.
Secure Windows App Development. Authentication.
demo User Signs Up Temporary Account is Created with Verification Link Sent User Clicks Link Account is Activated Login.Register(userName,
跨平台 Hybrid App 開發簡介 - 使用 Visual Studio Tool for Apache Cordova + HTML/JavaScript 陳葵懋 (Ian)
Azure.
Mobile Application Solution
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Build Fundamentals and Continuous Integration
Create beautiful, fast, interactive pages in SharePoint
Secure Mobile Apps in the Enterprise
S4 Solution Specialist Sales Summit
Deployment Planning Services
Mobile App Trends: lifecycle, functions, and cognitive
TechEd /1/2018 7:56 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Windows Azure Mobile Services
What has Azure to offer to IoT Developers?
Developing Hybrid Apps on Microsoft Azure Stack
Build /4/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Multi-Device Hybrid Apps What, Why, and When to Use Hybrid Development Option Ervin Loh ALM Program Manager
Mobile Application Solution
Azure.
Release Management with Visual Studio Team Services
Building Windows Phone Apps with Windows Azure Mobile Services
Power Apps & Flow for Microsoft Dynamics SL
Azure Active Directory
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Connect /19/2018 5:08 AM
Office 365 Development July 2014.
TechEd /21/2018 5:20 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Azure AD Domain Services
Building Windows Phone 7 Applications with the Windows Azure Platform
Mobile Center and VSTS:​ Better together for your Mobile DevOps
12/7/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Integrating Hybrid Apps with Line of Business Apps
TechEd /11/ :21 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /18/ :01 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
TechEd /18/2019 2:43 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Virtual Reality with Azure and Unity
Office 365 Development.
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
TechEd /28/2019 7:27 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Pushing Data to and from the Cloud with SQL Azure Data Sync
Creating and Consuming OData Services for Business Applications
Consumer Mobile Apps that Scale
Notification Hubs Deep Dive
Developing Windows Azure Applications with Visual Studio
Шитманов Дархан Қаражанұлы Тарих пәнінің
The complete developer's guide to the SkyDrive API
Microsoft Virtual Academy
Microsoft Virtual Academy
Sessions about to start – Get your rig on!
Erik Porter Program Manager ASP.NET Microsoft Corporation
Building Windows Store Apps with Windows Azure Mobile Services
Build /24/ What's new for Azure developers in Visual Studio 2013 update 2 and Azure SDK 2.3 Dan Fernandez Principal PM
TechEd /5/2019 2:08 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Hybrid Apps: Azure Mobile Engagement and the App Economy Ervin Loh ALM Program Manager loh-chuanho@k365labs.com

Presenter Ervin Loh (Visual Studio ALM MVP) Profile https://mvp.microsoft.com/en-us/PublicProfile/4025202 Profile Ervin Loh is currently the Application Lifecycle Management Program Manager at K365Labs Sdn Bhd. He is the user group lead of Application Lifecycle Management User Community, a charter of TechNation. He has also been presented with the Microsoft MVP award in the Visual Studio ALM competency for 8 consecutive years from 2009 through 2016. He owns more than 10 years experience in the IT industry where he obtained professional certifications from IREB, ISTQB, and Microsoft. He works on a variety of Application Lifecycle Management products. He is also active in the IT community space by contributing contents to Microsoft Malaysia's START.NET and Ultimate program workshops and talks in conferences, events and user groups such as TechEd, Softec, Tech Insights, MITPM, ALMUC, and MIND.

Azure footprint 16 regions worldwide in 2014 Data Centers Regional Partners

>57% >300k >1.65 >30 >3 >300 >13 1,000,000 Fortune 500 using Azure >57% More than 1,000,000 SQL Databases in Azure >300k Active websites >30 TRILLION storage objects >300 MILLION AAD users >1.65 MILLION Developers registered with Visual Studio Online >3 MILLION requests/sec >13 BILLION authentication/wk

Source control, table scripts, custom API Mobile Services Windows Store iOS Android Windows Phone 8 HTML 5/JS Connected Apps Store Data in the Cloud Table Storage Blob Storage Mongo DB SQL Source control, table scripts, custom API & Scheduler User Authentication Active Directory Facebook Twitter Microsoft Google SDKs Push Notifications REST API WNS & MPNS APNS GCM

Supported Platforms Windows 8 iOS Windows Phone Android HTML5 & Javascript

DEMO Creating a Mobile Service

Data Structured Storage with SQL database 9/19/2018 6:13 AM Data Structured Storage with SQL database Point multiple apps at the same db, partitioned AppX.Todoitem AppY.Todoitem Manage data in Portal—Mobile Services or SQL SQL Management Studio REST API CLI Tools azure mobile create <service-name> <server-admin> <server-password> © 2013 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.

Table scripts Automatic service REST API generated for storage 9/19/2018 6:13 AM Table scripts Automatic service REST API generated for storage Dynamic schema on/off item.created = new Date(); Server logic that intercepts CRUD operations Connect to Windows Azure and third party services var azure = require(‘azure’); var sendgrid = require(‘sendgrid’).SendGrid; Querying © 2013 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.

Table Scripts Supported Modules and Globals mssql request console push.* tables xml2js statusCodes Windows Azure Node SDK Windows Store Partners (Sengrid, Twilio, Pusher)

DEMO Implementing Table Scripts on CRUD Operations

Push Notifications 101 Register device handle at app launch Client app contacts Platform Notification Service (PNS) App updates handle in backend client app Platform Notification Service Send Notification App backend sends notification to PNS PNS pushes the notification to the app on the device Maintain device handles Delete expired handles when PNS rejects them App back-end

Push Notification Challenges While there are significant benefits to using push notifications in a mobile app, rolling your own push infrastructure is extremely difficult in terms of implementing a system capable of: Cross-Platform Push Notifications Each push service (APNS for iOS, GCM for Android, WNS for Windows, etc.) has different protocols (e.g., HTTP vs. TCP, xml payload vs. JSON payload) Personalizing on the server-side based on interest and location Segmenting users based on interest tags and routing only the most relevant content to each segment Localizing notifications on the client-side based on language, currency, device, etc. Each device displays notifications differently High-Volume with Low Latency Limited by the capability of each VM so need to spin up scores of VMs and shard your application in order to serve a large user base Maintaining accurate device handle registry Adding registrations upon installation, updating tags, pruning upon on uninstall

Azure Push Notifications One-time set up Create a Notification Hub Register The client app retrieves its current handle from the PNS. Client app (or app backend) registers the handle with Notification Hub Send Notification The app back-end sends a message to the Notification Hub. Notification Hub pushes it to the PNS Android app iOS app Windows 8.x app App back-end GCM APNs WNS MPNS

Without Notification Hubs With Notification Hubs Challenge Area Without Notification Hubs With Notification Hubs Cross-Platform Push Separate registration logic Separate communication paths using different protocols for each platform push notification service Upload credentials and go Notification Hubs establishes and maintains communication paths Personalization Field to create and maintain in device registry for each segmentation point Nulls for existing registered devices as additional interest points are added Logic to route each message through the appropriate and available VM(s) Assign interest tags to each registered device and send to any subset of uses you can define with a Boolean expression of tags Localization Send different messages for different formats, languages, etc. since each message contains different content Create a template for each device based on display preferences (banner vs toast, language, currency, etc.) No additional logic required Single message to send High-Volume, Low Latency Go with small VMs to process the work and end up with higher latency due to the time it takes to spin up many machines Go with large VMs, always keeping a few ready and waiting, and end up paying for idle VMs Automatically handled by Notification Hubs, which is designed to deliver millions of notifications within minutes Pay only for the push notifications you send, never idle VMs Maintaining Device Registry Create and maintain device table with likely many null values as you add new interest tags Logic to handle expirations due to uninstalls; possible suspensions from PNS if incomplete Maintains device registry and automatically updates based on uninstalls

DEMO Adding Push Notifications

Thank you!

Q&A

Microsoft Certification & Training Resources Resources for Developers TechNet Microsoft Learning Microsoft Resources for IT Professionals http://microsoft.com/technet Microsoft Certification & Training Resources www.microsoft.com/learning MSDN Microsoft Resources for Developers http://microsoft.com/msdn