http://amqpnetlite.codeplex.com/ 1. 2. 3. 4. Cloud Platform Enablers for Smart Mobility 100,000s of Vehicles Identity Services (WAAD) 100,000s of Users/Drivers Mobile Platform Push Messaging Mobile Solution Backend Notification Hubs Mobile Services Web Sites Mobile Experience Service Bus & Web API Virtual Machines (IaaS) Cloud Services and Web Sites (PaaS) Media Services 100,000s of Users/Drivers Custom Protocol Gateway Service Bus Telemetry Adapters Navigation System Web Sites Command Router Telemetry Router Service Bus & Web API Vehicle Information System Calendar Management System Service Bus + BizTalk Services/Server + Virtual Networks 3rd Party Data & Services (Maps, Weather, Traffic, Events) Corporate and Divisional Line of Business and Information Systems Mobile Platform Push Messaging Web Portal SignalR Service Bus Notification Hubs Portal Experience Service Bus & Web API Azure Database, Blob and Table Storage Real-Time Analytics, HDInsight Custom Code Cloud Platform Services Cloud Device Gateway IP Capable Devices Field Gateway Non-IP Capable (or willing) Devices Third-Party Data and Services Enterprise Systems Service Bus Cloud Platform Services Third-Party Data and Services Enterprise Systems Pattern 2: Custom Cloud Gateway Custom Cloud Gateway Field Gateway Pattern 1: Device Direct Custom Code Field Gateway IP Capable Devices Cloud Device Gateway Field Gateway Non-IP Capable (or willing) Devices Service Bus No inbound ports open, attack surface is minimized Connections are device-initiated and outbound NAT/Firewall Device (Router) Device does not listen for unsolicited traffic IP NAT Cloud Gateway Port mapping is automatic, outbound DNS myapp.cloudapp.net Command Source Access-controlled command API Secure, managed hosting platform Inbox (Command & Control) Outbox (Telemetry) Command API Protocol Head Cloud Gateway Backend Components Topic Device 1 Filters Alerts Subs Receiver 1 Alert Processor Device 2 Device 3 Data Receiver 2a Receiver 2b Storage Pre-processor Service Bus Split the stream Enable parallel processing Implement different QoS levels Level and balance the load Subs Model A Model T Device 1 Device 2 Device 3 Filters Model A Device 1 Model T Device 2 Model T Device 3 Topic Sender 1 Sender 2 Service Bus Target individuals or groups Set delivery timeouts (TTL) Deal with spotty connectivity Traverse NATs/firewalls securely • In-Vehicle Device: .Net Gadgeteer HDInsight FEZ Spider: Arm7, 16MB Ram, 4MB Flash - Onboard Diagnostics Module (OBD2) - Temperature and Humidity Sensor - Ethernet module, tethered via WP (“GSM module”) HIVE DDL Blob Storage Adapter Service Bus Office 365 BI: Blob Storage Alerts Inbox Topic(s) (Command & Control) Telemetry Alerts Commands Outbox Topic(s) Orleans Adapter (Telemetry) Table Storage Adapter Companion App: How is my car? Where’s my car? Unlock my car … Device / User Pairing Notifications Device Status Checks Mobile Service Custom Realtime alerting Azure Table Storage Commands Real-time updates / Alerts HIVE ODBC Adapter Excel, Power Maps http://www.microsoft.com/intelligentsystems/services Devices … CoAP Custom Protocol Gateway Host Provisioning Service 3. Telemetry/Request Router Notification/Command Router Adapters Command API Host BizTalk HDInsight 2 Orleans Device Metadata and Key Store 1 Service Bus Messaging Configuration 4. MQTT HTTP Service Bus 2. AMQP Azure Dbs 4 HTTP Azure Storage 1. HTTP 3 HTTP Custom Protocol Host Telemetry Adapter Analytics (HDInsight) Telemetry Adapter LastValue (Table) … Telemetry Adapter RealTime (Orleans) n Groups of m Routers s03E7 s0002 s0001 out2 g0001/ rte0000 out1 g0000/ rte0001 Device Repo outFFFF out0 s03E7 s0002 s0001 s03E7 s0002 s0001 s03E7 g0000/ rte0000 … out2 Telemetry Pump/Router out1 N Instances out0000 out0001 out0002 out0 Command A L R C Response out2 RealTime L R C A L Subscription R C A L R C A Subscription Subscription out1 LastValue inFFFF out0 Analytics … s0002 Ingestion Topic in0001 in0002 out2 Partition Repo in0000 Command Topics out1 Ingestion Topics Provisioning Runtime Protocol Adapters MQTT s0001 Deployment Runtime AMQP Partition Custom Protocol Service Bus Standard Protocol out0 Master g0001/ rte0001 Command API Host https://amqpnetlite.codeplex.com/ http://channel9.msdn.com/Blogs/Subscribe markush@microsoft.com shawn.cutter@fieldingsystems.com Having a friend buy your coffee? Yea, it’s kind of like that. 3 Steps to New Gear! With Application Insights MSDN Subscribers get up to $150/mo in Azure credits. Stop by the Developer Platform and Tools booth and visit the MSDN Subscriptions station to activate your benefits and receive a gift! 1. http://aka.ms/msdn_teched http://visualstudio.com 2. http://aka.ms/aivsix 3. Microsoft Engineering Stories http://www.visualstudio.com Visual Studio Industry Partner Program Visual Studio | Integrate