the internet of things with azure service bus
TRANSCRIPT
http://pranavon.net/
Smart ProductsGrid
Renewables
Oil/Gas/Coal
Recovery and
Distribution
Points
of Sale
Restaurants
Hotels
Fuel
Stations
Patients
Clinics
Hospitals
Nursing
Homes
Mobile
Care
SafetySecurity
ComfortLighting
Automation
Manufacturing
Integration and
AutomationRemote
Servicing
Predictive and
Reactive
Maintenance
Water
Waste
Pollution
Control
Fire
Emergency
Public
Safety
Law
Enforcement
Letters
Packages
Containers
Tanks Bulkware
Games
Events
Sports
TelevisionStreaming
Traffic Buses
Cars
Trucks
Trains
Vessels
Aircraft
Bikes
Smart
Energy
Smart
Retail
Smart
Mobility
Smart
Logistics
Smart
Factory
Smart
Cities
Smart
Entertain-
ment
Smart
Health-
care
Smart
Building
Home
Mobility Example: Door-to-Door Navigation
1. Enter details of an upcoming trip into your calendar application– Calendar is configured to share data with the D2D navigation service
2. Before your trip, you get departure time notifications on your phone– Service calculates when you should leave based on traffic and weather
– It also considers when you need to allow time to refuel your car
– Service sends notifications to your smart phone as departure time draws near
3. When you start your car, the map and directions are already on display– Service recommends a different path due to construction or congestion
– Guides you to open parking spots near your destination
– Automatically pays parking with pre-configured account
4. When you exit your car, the navigation experience transfers to your phone– Service delivers walking directions to complete your journey
– Helps you find your car again when finished
100,000s of Vehicles100,000s of Drivers 100,000s of Drivers
Cloud Platform Enablers for Smart MobilityId
entity
Serv
ices
(WA
AD
) Command RouterTelemetry Router
Service Bus + BizTalk Services/Server + Virtual Networks
Notification
Hubs
Mobile Services
Web SitesService Bus SignalR
Service Bus
Notification
Hubs
Custom Protocol GatewayMobile Platform
Push Messaging
Mobile Solution
BackendWeb Portal
Mobile Platform
Push Messaging
Vehicle
Information
System
Web Sites
Navigation
System
Calendar
Management
System
Mobile Experience Portal Experience
3rd Party Data & Services (Maps, Weather, Traffic, Events)
Corporate and Divisional Line of Business and Information Systems
Service Bus & Web APITelemetry Adapters
Azure Database, Blob and Table Storage
Real-Time Analytics, HDInsightVirtual Machines (IaaS)
Cloud Services and Web Sites (PaaS)
Media Services
Service Bus & Web APIService Bus & Web API
IoT Cloud Platform “Stack” – Abstract Model
Non-IPCapable Devices
IPCapable Devices
Clo
ud
Gat
eway
Custom Code
Clo
ud
Pla
tfo
rm
Serv
ice
s
EnterpriseSystems
Third-Party Data
and Services
A B C D E F
Fie
ld
Gat
eway
What Azure Provides – Hosting Options
Non-IPCapable Devices
IPCapable Devices
Clo
ud
Gat
eway
Custom Code
Clo
ud
Pla
tfo
rm
Serv
ice
s
EnterpriseSystems
Third-Party Data
and Services
A B C D E F
Web Sites
Mobile Services Cloud Services
External Code
VM Roles
Fie
ld
Gat
eway
What Azure Provides – Platform Services
Non-IPCapable Devices
IPCapable Devices
Clo
ud
Gat
eway
Custom Code
Clo
ud
Pla
tfo
rm
Serv
ice
s
EnterpriseSystems
Third-Party Data
and Services
A B C D E F
HD Insight
Azure Databases
Table/Blob Storage
BizTalk Services
Service Bus
Fie
ld
Gat
eway
Media Services
What Azure Provides – IoT Cloud Gateway
Non-IPCapable Devices
IPCapable Devices
Clo
ud
Gat
eway
Custom Code
Clo
ud
Pla
tfo
rm
Serv
ice
s
EnterpriseSystems
Third-Party Data
and ServicesFie
ld
Gat
eway
A B C D E F
Serv
ice
Bu
s
A/B
Serv
ice
Bu
s
A/BC
ust
om
GW
Ro
le
Pattern 1: Device Direct Pattern 2: Custom Gateway
Connections are
device-initiated
and outbound
NAT/Firewall
Device (Router)
IP NAT
Cloud
Gateway
Command
Source
Port mapping is
automatic,
outbound
Device does not
listen for
unsolicited traffic
No inbound ports
open, attack
surface is
minimized
Access-controlled
command API
Secure, managed
hosting platform
DNS
myapp.cloudapp.net
Backend
Components
Cloud Gateway
Inbox
Outbox
Co
mm
an
d A
PI
Pro
toco
l H
ead
Topic SubsFilters
Service Bus
Device 2
Receiver 2b
Device 1
Device 3Receiver 2a
Alerts
Data
Receiver 1Alert
Processor
Storage
Pre-processor
TopicSubs Filters
Service Bus
Device 2
Device 1
Device 3Sender 2
Model A
Device 3
Sender 1
Model TModel T
Model A
Service Bus Messaging
1. Custom Protocol
Gateway
2. Telemetry Pump and
Adapters
3. Command Gateway
4. Provisioning Service
and Metadata Store
Custom Protocol Gateway Host
MQTT CoAP …
Telemetry/Request
Router
Notification/Command
Router
Adapters Command API Host
Provisioning
Service
Device
Metadata
and Key
Store
HD
Insi
gh
t
Biz
Talk
Orl
ean
s
Azu
re S
tora
ge
Azu
re D
bs
Serv
ice B
us HTTP
HTTP
Devices
AMQP
1
2 3
4
Configuration
HTTP
Device Gateway – Reference Architecture
Device Gateway – Partition Topology
• The “Partition” is a set of resources dedicated to a specific device population (or subset thereof).
• The “Master” role manages partition deployment and device provisioning into the partitions.
PartitionMaster
Partition Repo
Command Topics
Service Bus Standard Protocol Custom Protocol
Device Repoin0000 inFFFF…in0001 in0002
AMQP HTTP MQTT Custom Protocol Host
Protocol Adapters
diagall diagall diagall diagall
Telemetry Pump/Router
N Instances
Telemetry
Adapter
Telemetry
Adapter
Telemetry
Adapter
Deployment
Runtime
out0000 outFFFF…out0001 out0002
s0001
s0002
s03E7
s0001
s0002
s03E7
s0001
s0002
s03E7
s0001
s0002
s03E7
g0000/
rte0000
g0000/
rte0001
ou
t0
ou
t1
ou
t2
n Groups of m Routers
ou
t0
ou
t1
ou
t2
g0001/
rte0000
g0001/
rte0001
ou
t0
ou
t1
ou
t2
ou
t0
ou
t1
ou
t2
Provisioning
Runtime
Ingestion Topics
Command
API Host
Device Gateway – Customer Topology
• Global coverage achieved by spreading partitions across multiple Azure regions
• Reference architecture supports up to 1000 distinct partitions
• Number and distribution of partitions driven by data volumes, business continuity, legal
and proximity considerations
Device Gateway Demo