Connecting IoTAndy Cross, Director Elastacloud Ltd
Windows Azure MVP
Da zee zij oek.
@andybareweb
Thank you, sponsors!
The Cloud for Modern Business
Grab your benefit
aka.ms/azuretry
Deploy fast in the cloud, scale elastically and minimize test cost
Activate your Windows Azure MSDN benefit at no additional charge
aka.ms/msdnsubscr
IoT fundamentals
Billions of internet connected devices
All varying device capabilities
Devices sometimes online
Android emergent but expensive
Silicon solutions without software
Software solutions on generic hardware
This session
Largely practical
*we need luck for this to work!*
Demonstrates the state of the art with Microsoft technologies
Covers patterns and futures
Firstly - Scenario
A million internet connected, distributed heat sensors
In homes, maybe connected to intelligent heating systems
Perhaps these work in buildings (‘tenants’)
We require 4 communication types:
Notification: Send message to device
Command: Send message and receive a response
Inquiry: Receive message and send a response
Telemetry: Receive a message from the device
M2M Information Exchange Patterns
Telemetry
Information flowing from a device to other systems for conveying status of device and environment
Inquiries
Requests from devices looking to gather required information or asking to initiate activities
Commands
Commands from other systems to a device or a group of devices to perform specific activities
Notifications
Information flowing from other systems to a device (-group) for conveying status changes in the rest of the world
Supporting Tech 1 -> Client
We will be using NETMF and the Netduino Plus 2.
We will be using only Open Source client libraries in order that smaller devices can reimplement or lighten the library weight
Ethernet connected as a baseline; it is possible to connect via wifi/gsm etc, but the demo gods are fickle.
Supporting Tech 2 -> Cloud
We are using Windows Azure’s storage services
These do not require SSL and this eases the load on our stack – BUT BEWARE WHAT THIS MEANS FOR YOUR APP
Queue -> For command and control
Table -> For logs and reporting structured data
Blob -> For reporting unstructured data
DemoNETMF storage basics
DemoNETMF storage GB -> PB
Demo 4 types of Device Communication
FuturesWhat does the future of devices and Azure hold?
What haven’t we done today?
With more capable devices:
Secure connections via SSL
Cipher of message content
With a better client library:
Use of Shared Access Signatures for authentication
Or a totally different approach:
Windows Azure Service Bus
Why Service Bus
Lightweight protocols:
AMQP
Built in security
High scalability targets
Throughput
Number of Queues
Pub/Sub technologies suit multiple devices
What might be even better?
Front the Service Bus with MQTT as a custom Protocol
Binary transfer technology, with no ceremony
Lightweight, secure
With SB underneath this is scalable
Providing the fronting tier is itself scalable; Windows Azure
Final Thought: WTF do I do with the data?
A billion devices connected has the capability to produce a huge amount of data
Azure Storage can cope with this but … how do I derive meaning from it?
Answer: Using Big Data Technologies; see my afternoon session on Big Data: Data Liberty in an age POST Sql.
ThanksQuestions?
The slide of disaster (snafu fallback!)
For M2M on Azure; follow @clemensv watch Subscribe: http://channel9.msdn.com/Blogs/Subscribe
If you don’t hate me already … ;-0
My AzureConf 2012 video: http://channel9.msdn.com/Events/windowsazure/AzureConf2012/A06
My netmfazurestorage lib https://github.com/andycross/netmfazurestorage
Sign up for an Azure Free Trial: http://www.windowsazure.com/en-us/pricing/free-trial/