Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Internet of Things with Azure Service Bus

The Internet of Things with Azure Service Bus

Session presented at Global Azure Bootcamp 2015 Hyderabad - Microsoft User Group Hyderabad

Pranav Ainavolu

April 25, 2015
Tweet

More Decks by Pranav Ainavolu

Other Decks in Technology

Transcript

  1. Smart Products Grid Renewables Oil/Gas/Coal Recovery and Distribution Points of

    Sale Restaurants Hotels Fuel Stations Patients Clinics Hospitals Nursing Homes Mobile Care Safety Security Comfort Lighting Automation Manufacturing Integration and Automation Remote Servicing Predictive and Reactive Maintenance Water Waste Pollution Control Fire Emergency Public Safety Law Enforcement Letters Packages Containers Tanks Bulkware Games Events Sports Television Streaming 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
  2. 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
  3. 100,000s of Vehicles 100,000s of Drivers 100,000s of Drivers Cloud

    Platform Enablers for Smart Mobility Identity Services (WAAD) Command Router Telemetry Router Service Bus + BizTalk Services/Server + Virtual Networks Notification Hubs Mobile Services Web Sites Service Bus SignalR Service Bus Notification Hubs Custom Protocol Gateway Mobile Platform Push Messaging Mobile Solution Backend Web 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 API Telemetry Adapters Azure Database, Blob and Table Storage Real-Time Analytics, HDInsight Virtual Machines (IaaS) Cloud Services and Web Sites (PaaS) Media Services Service Bus & Web API Service Bus & Web API
  4. IoT Cloud Platform “Stack” – Abstract Model Non-IP Capable Devices

    IP Capable Devices Cloud Gateway Custom Code Cloud Platform Services Enterprise Systems Third-Party Data and Services A B C D E F Field Gateway
  5. What Azure Provides – Hosting Options Non-IP Capable Devices IP

    Capable Devices Cloud Gateway Custom Code Cloud Platform Services Enterprise Systems Third-Party Data and Services A B C D E F Web Sites Mobile Services Cloud Services External Code VM Roles Field Gateway
  6. What Azure Provides – Platform Services Non-IP Capable Devices IP

    Capable Devices Cloud Gateway Custom Code Cloud Platform Services Enterprise Systems Third-Party Data and Services A B C D E F HD Insight Azure Databases Table/Blob Storage BizTalk Services Service Bus Field Gateway Media Services
  7. What Azure Provides – IoT Cloud Gateway Non-IP Capable Devices

    IP Capable Devices Cloud Gateway Custom Code Cloud Platform Services Enterprise Systems Third-Party Data and Services Field Gateway A B C D E F Service Bus A/B Service Bus A/B Custom GW Role Pattern 1: Device Direct Pattern 2: Custom Gateway
  8. 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
  9.          Backend

    Components Cloud Gateway Inbox Outbox Command API Protocol Head
  10.     Topic Subs Filters Service Bus Device

    2 Receiver 2b Device 1 Device 3 Receiver 2a Alerts Data Receiver 1 Alert Processor Storage Pre-processor
  11. Topic Subs Filters Service Bus Device 2 Device 1 Device

    3 Sender 2 Model A Device 3 Sender 1 Model T Model T Model A    
  12. 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 HDInsight BizTalk Orleans Azure Storage Azure Dbs Service Bus HTTP HTTP Devices AMQP 1 2 3 4 Configuration HTTP Device Gateway – Reference Architecture
  13. 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. Partition Master Partition Repo Command Topics Service Bus Standard Protocol Custom Protocol Device Repo in0000 inFFFF … in0001 in0002 AMQP HTTP MQTT Custom Protocol Host Protocol Adapters diag all diag all diag all diag all 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 out0 out1 out2 n Groups of m Routers out0 out1 out2 g0001/ rte0000 g0001/ rte0001 out0 out1 out2 out0 out1 out2 Provisioning Runtime Ingestion Topics Command API Host
  14. 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