David Bureš - Xamarin, IoT a Azure

82

Transcript of David Bureš - Xamarin, IoT a Azure

Page 1: David Bureš - Xamarin, IoT a Azure
Page 2: David Bureš - Xamarin, IoT a Azure

DAVID BUREŠTechnical Evangelist, Microsoft

@pidibi | [email protected]

Page 3: David Bureš - Xamarin, IoT a Azure

David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft

Page 4: David Bureš - Xamarin, IoT a Azure
Page 5: David Bureš - Xamarin, IoT a Azure
Page 6: David Bureš - Xamarin, IoT a Azure
Page 7: David Bureš - Xamarin, IoT a Azure
Page 8: David Bureš - Xamarin, IoT a Azure
Page 9: David Bureš - Xamarin, IoT a Azure
Page 10: David Bureš - Xamarin, IoT a Azure
Page 11: David Bureš - Xamarin, IoT a Azure

Xamarin.iOS does full Ahead Of Time

(AOT) compilation to produce an ARM

binary for Apple’s App Store.

Xamarin.Android takes advantage of

Just In Time (JIT) compilation on the

Android device.

Page 12: David Bureš - Xamarin, IoT a Azure
Page 13: David Bureš - Xamarin, IoT a Azure
Page 14: David Bureš - Xamarin, IoT a Azure
Page 15: David Bureš - Xamarin, IoT a Azure
Page 16: David Bureš - Xamarin, IoT a Azure
Page 17: David Bureš - Xamarin, IoT a Azure

Backend code

REST API

Page 18: David Bureš - Xamarin, IoT a Azure

- Client DB: SQLLite

- Azure SDK - MobileServiceClient

- Synchronization

- Hidden HTTP interactions

- Implementation with Interfaces – mockable

- Samples: iOS, Android, Xamarin, Cordova, Windows

Page 19: David Bureš - Xamarin, IoT a Azure
Page 20: David Bureš - Xamarin, IoT a Azure
Page 21: David Bureš - Xamarin, IoT a Azure
Page 22: David Bureš - Xamarin, IoT a Azure
Page 23: David Bureš - Xamarin, IoT a Azure
Page 24: David Bureš - Xamarin, IoT a Azure

Mobile DevOps

Page 25: David Bureš - Xamarin, IoT a Azure

https://www.visualstudio.com/

VS Community Edition

VS Code

VS Team Services

VS Dev Essentials

- 25USD / month Azure credit

Page 26: David Bureš - Xamarin, IoT a Azure

iOS

Page 27: David Bureš - Xamarin, IoT a Azure
Page 28: David Bureš - Xamarin, IoT a Azure
Page 29: David Bureš - Xamarin, IoT a Azure
Page 30: David Bureš - Xamarin, IoT a Azure
Page 31: David Bureš - Xamarin, IoT a Azure
Page 32: David Bureš - Xamarin, IoT a Azure
Page 33: David Bureš - Xamarin, IoT a Azure
Page 34: David Bureš - Xamarin, IoT a Azure

Mobile DevOps + Visual Studio Team Services

VisualStudio

Code Repository

Backlog

Build + Deploy

Monitor and improve

Automated TestingBeta Testing

User Feedback

XamarinStudio

HockeyApp

HockeyAppXamarin Test

CloudVisual Studio Team Services

Crash Analytics

Page 35: David Bureš - Xamarin, IoT a Azure

- VSTS

- Xamarin Test Cloud

- Hockey App

Page 36: David Bureš - Xamarin, IoT a Azure
Page 37: David Bureš - Xamarin, IoT a Azure
Page 38: David Bureš - Xamarin, IoT a Azure
Page 39: David Bureš - Xamarin, IoT a Azure

Proces zpracování dat

Prezentace a řízení

Notification & App

services

Data analytics

Power BI

Uloženídat

Externaldata sources

Azure Storage

Transformacedat

Real-time analytics

Stream analytics

Machine learning

Přenosdat

ScalableEvent Broker

Field Gateways

Sběrdat

Cloud Gateways(WebAPIs)

Applications

Vznikdat

Devices

Page 40: David Bureš - Xamarin, IoT a Azure

Proces zpracování datVznik dat Sběr dat Uložení dat

Analýza dat /

transformacePrezentace a řízení

Event Hub SQL DatabaseMachine

LearningApp Service

IoT HubTable/Blob

Storage

Stream

AnalyticsPower BI

Service Bus DocumentDB HDInsightNotification

Hubs

External Data

Sources3rd party

DatabasesData Factory Mobile Services

Data Lake BizTalk Services

{ }

Page 41: David Bureš - Xamarin, IoT a Azure

Remote Monitoring Service Architecture

https://azure.microsoft.com/en-us/solutions/iot-suite/

Page 42: David Bureš - Xamarin, IoT a Azure

Per-Device AuthenticationIndividual device identities and credentials

Connection MultiplexingSingle device-cloud connection for all communications

(device-to-cloud, cloud-to-device)

Multi-ProtocolNatively supports AMQPS, HTTPS, MQTT

Extensible protocol support for custom protocol needs

Multi-PlatformDevice SDKs available for multiple platforms

RTOS, Linux, Windows, iOS, Android

Service SDK supports multiple languages (Node, Java, C#)

Page 43: David Bureš - Xamarin, IoT a Azure

- Security takes precedence over all other capabilities

- A device establishes all connections and routes in an outbound-onlyfashion.

- Devices should only connect to or establish routes to well-knownservices

- The communication path is secured at the application protocol layer

- Authorization and authentication are based on per-device identities. It makes access credentials instantly revocable.

- For a device to receive a command from the backend, the devicemust regularly initiate a connection to check for any pending commands to process.

Page 44: David Bureš - Xamarin, IoT a Azure
Page 45: David Bureš - Xamarin, IoT a Azure
Page 46: David Bureš - Xamarin, IoT a Azure
Page 47: David Bureš - Xamarin, IoT a Azure

-

-

-

-

-

-

-

Page 48: David Bureš - Xamarin, IoT a Azure

http://aka.ms/iot-hub-sdk

Page 49: David Bureš - Xamarin, IoT a Azure
Page 50: David Bureš - Xamarin, IoT a Azure

End-to-End Architecture Overview

Page 51: David Bureš - Xamarin, IoT a Azure

End-to-End Architecture Overview

Data Source Collect Process ConsumeDeliver

Event Inputs- Event Hub

- IoT hub

- Azure Blob

Transform- Temporal joins

- Filter

- Aggregates

- Projections

- Windows

- Etc.

Enrich

Correlate

Outputs- SQL Azure

- Blob Storage

- Event Hub

- Table Storage

- Service Bus

- Queue

- Topic

- DocumentDB

- Power BI

Azure

Storage

• Temporal Semantics

• Guaranteed delivery

• Guaranteed up time

Azure Stream Analytics

Reference Data- Azure Blob

Page 52: David Bureš - Xamarin, IoT a Azure
Page 53: David Bureš - Xamarin, IoT a Azure

TUMBLINGWINDOW ( timeunit , windowsize, [offsetsize] )

TUMBLINGWINDOW ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )

Page 54: David Bureš - Xamarin, IoT a Azure

HOPPINGWINDOW ( timeunit , windowsize , hopsize, [offsetsize] )

HOPPINGWINDOW ( Duration( timeunit , windowsize ) , Hop (timeunit , windowsize ), [Offset(timeunit , offsetsize)])

Page 55: David Bureš - Xamarin, IoT a Azure

SLIDINGWINDOW ( timeunit , windowsize )

SLIDINGWINDOW ( Duration( timeunit , windowsize ) )

Page 56: David Bureš - Xamarin, IoT a Azure
Page 57: David Bureš - Xamarin, IoT a Azure

Aggregate functions

Scalar/Conversion functions

Date and time:

String:

Typy

Type Description

bigint Integers in the range -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807).

float Floating point numbers in the range - 1.79E+308 to -2.23E-308, 0, and 2.23E-308 to 1.79E+308.

nvarchar(max) Text values, comprised of Unicode characters. Note: A value other than max is not supported.

datetime Defines a date that is combined with a time of day with fractional seconds that is based on a 24-hour clock and relative to

UTC (time zone offset 0).

Page 58: David Bureš - Xamarin, IoT a Azure
Page 59: David Bureš - Xamarin, IoT a Azure
Page 60: David Bureš - Xamarin, IoT a Azure
Page 61: David Bureš - Xamarin, IoT a Azure
Page 62: David Bureš - Xamarin, IoT a Azure
Page 63: David Bureš - Xamarin, IoT a Azure
Page 64: David Bureš - Xamarin, IoT a Azure
Page 65: David Bureš - Xamarin, IoT a Azure
Page 66: David Bureš - Xamarin, IoT a Azure
Page 67: David Bureš - Xamarin, IoT a Azure
Page 68: David Bureš - Xamarin, IoT a Azure
Page 69: David Bureš - Xamarin, IoT a Azure
Page 70: David Bureš - Xamarin, IoT a Azure
Page 71: David Bureš - Xamarin, IoT a Azure
Page 72: David Bureš - Xamarin, IoT a Azure
Page 73: David Bureš - Xamarin, IoT a Azure
Page 74: David Bureš - Xamarin, IoT a Azure
Page 75: David Bureš - Xamarin, IoT a Azure
Page 76: David Bureš - Xamarin, IoT a Azure
Page 77: David Bureš - Xamarin, IoT a Azure
Page 78: David Bureš - Xamarin, IoT a Azure

State is made highly-available through replication and distributed through partitioning

Page 79: David Bureš - Xamarin, IoT a Azure
Page 80: David Bureš - Xamarin, IoT a Azure
Page 81: David Bureš - Xamarin, IoT a Azure

https://github.com/Azure-Samples/MyDriving

https://aka.ms/MultiPlatformConf2016

David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft

Page 82: David Bureš - Xamarin, IoT a Azure

WWW.MDEVTALK.CZ

mdevtalk