Dec 22, 2015
Internet of ThingsPart 2 ServicesDave Glover, Rocky Heckman& Chris Auld, Microsoft Australia@dglover, @rockyh, @cauld
WPD311
Register on the IoT Developer CommunityWorkshops, Events Announcements
http://aka.ms/techediot
HDInsight
Azure Applicationbuilding blocks
Storage
Big data
CachingCDN
Database
Identity
Media
Messaging
Networking
Traffic
Service BusMachine Learning
Service Bus and Event Hubs
Geared to high throughput event streamsConnect millions of devices/sensors from diverse platforms
Partitioned for scaleUp to 1MB/sec ingress, 2MB/sec egress per partition
Publish and Subscribe In order by partition
Retention and Checkpoint Model
Service Bus Messaging & Event Hubs
Device Gateway – Reference Architecture
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/CommandRouter
Adapters Command API Host
Provisioning Service
Device Metadata and Key
Store
HD
Insi
ght
Biz
Talk
Orl
eans
Azu
re
Sto
rage
Azu
re D
bs
Serv
ice B
us
HTTP
HTTP
Devices
AMQP
1
2 3
4
Configuration
HTTP
Project “Orleans”Distributed Actor runtime
• Virtual Actor model• Location transparency
Built for .Net• Actors (Grains) are .Net objects• Messaging through .Net interfaces• Asynchronous through async/await in
C#• Automatic error propagation
Silo: runtime execution container
• Implicit activation & lifecycle management
• Coordinated placement• Multiplexed communication• Failure recovery
Grain
Silo
Actors in “Orleans”: Grains
Grain Type Grain (Instance) Grain Activation
Game Grain Type
Game Grain (Instance) #2,548,308
Game Grain (Instance) #2,031,769
Game Grain #2,548,308
Activation #1 @ 192.168.1.1
Game Grain #2,031,769
Activation #1 @ 192.168.1.5
“Orleans” was built for…
Scenarios
Social graphs- Mobile backend
Internet of thingsReal-time analytics‘Intelligent’ cacheInteractive entertainment
Common characteristics
Large numbers of independent actorsFree-form relationsHigh throughput/low latency- These generally dictate stateful compute
Fine-Grained partitioning is naturalCloud-based scale-out & elasticityMuch broader developer audience
[Near] real-time analyticsDevices send telemetry to the Cloud
Per-device actors process andpre-aggregate incoming data
Multi-level aggregation by actors
Statistics, predictive analytics, fraud detection, etc.
Control channel back to devices
Grouping by location, category, etc.
Elastically scales with # of devices
HDInsight
Azure Applicationbuilding blocks
Storage
Big data
CachingCDN
Database
Identity
Media
Messaging
Networking
Traffic
Service BusMachine Learning
Resources• Where to buy IoT gear• Little Bird Electronics• Robot Gear• Australian Robotics• Others
• Open Source Libraries• Books• Getting Started with Netduino • .NET Micro Framework