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/msdnsubs cr
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 Azures 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
Futures What does the future of devices and Azure hold?
What havent 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.
The slide of disaster (snafu fallback!) For M2M on Azure; follow @clemensv watch Subscribe: http://channel9.msdn.com/Blogs/Subscribe http://channel9.msdn.com/Blogs/Subscribe If you dont hate me already … ;-0 My AzureConf 2012 video: http://channel9.msdn.com/Events/windowsazure/AzureConf2012/A06 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/http://www.windowsazure.com/en- us/pricing/free-trial/