SlideShare a Scribd company logo
 
 
 
http://en.wikipedia.org/wiki/Internet_of_Things
https://pbs.twimg.com/media/Ak5nLs2CIAA1ypg.jpg 
https://twitter.com/hashtag/ipoac
 
 
 
 

Option Upside Downside Common examples 
Battery (primary) Device can operate in a mobile 
environment for extended 
periods of time. 
Device now has a current / wattage 
budget (CPU cycles are not free). 
Efficient and safe battery charging 
requires sophisticated circuitry 
(you won’t do it in firmware). 
Mobile brains phones 
Battery (secondary) Device can sustain function 
through transient power 
interrupts 
Efficient and safe battery charging 
requires sophisticated circuitry 
(you won’t do it in firmware). 
May have to add additional 
circuitry to run while charging 
Laptops 
Main power (primary) Device can leverage all available 
computing power (barring 
thermal constraints) 
Device functionality susceptible to 
interruption during power supply 
events 
3D printer 
Main power + backup Device can leverage all available 
computing power (barring 
thermal constraints), and 
operate at reduced capacity 
during power events. 
Additional power management 
circuitry. Need to reduce current 
load during loss of main power. 
NEST thermostat
Option Upside Downside Common examples 
Ethernet Cheap, easy to install. No hard 
bandwidth or framing 
limitations. 
Requires hard wired connection 
provided by end-user. May require 
additional configuration or security 
enhancements to route through 
firewalls, etc. 
Industrial PLC (programmable 
logic controllers) 
WiFi Readily available on more 
sophisticated microcontrollers 
and embedded devices. 
Requires ambient WiFi network, 
and method of managing security 
keys and access (including 
rotation). 
May require additional 
configuration or security 
enhancements to route through 
firewalls (commercial). 
NEST thermostat. 
Cellular Self-contained; plug and go. Communication heavily metered – 
cost of operations (CoGS) borne by 
service operator. 
3rd party car data logger 
Local (Bluetooth, 
Zigbee, etc) 
Minimal cost and power 
requirements. 
Short ranged, require field gateway 
or other “smart” edge device to 
proxy connections. 
iBeacon
 
 
 

 
 
 
 
 
 
 
 
 
http://contextis.com/resources/blog/hacking-internet-connected-light-bulbs/
Option Upside Downside 
UDP • Simple; datagrams require no framing. 
• Efficient on bandwidth metered links. 
• Impractical to secure channel. 
• Need faith or out of band acknowledgement mechanism 
for reliable transfer. 
• Cannot reliably support ordered data streams. 
• Challenging to implement return-channel (cloud to 
device) for commands 
TCP/IP • Simple; minimal code footprint for RTOS 
class devices. 
• Can use TLS to secure channel 
• Bi-directional channel for notifications and 
commands 
• Need to handle framing on both sides of connection (or 
hard code avoidance of MTU limits from end to end) 
• Firewall traversal is challenging 
HTTP/S • Straightforward firewall traversal, use of SSL 
for channel encryption and signing 
• Built in framing, can leverage semantic 
conventions (REST) to publish data 
• Inefficient for Signal-to-Noise ratio of bytes on wire 
• Heavy device stack footprint to implement general 
purpose HTTP client stack 
AMQP, MQTT • Bi-directional channel for notifications and 
commands 
• Efficient use of bandwidth (batching, 
efficient framing, etc) 
• Firewall traversal is challenging 
• Client stack may not fit on smaller devices 
• Evolving standards and implementation levels
Option Upside Downside 
XML • You have more money than you know what 
to do with. Enjoy another mojito on your 
yacht. 
• Extremely inefficient for both serialization/deserialization 
time and wire encoding. 
JSON • Self-describing (“tagged”) format requiring 
no type identifiers. Readable by 
convention. 
• Need to handle framing on both sides of connection (or 
hard code avoidance of MTU limits from end to end) 
• Firewall traversal is challenging 
Tagged / 
Untagged 
“standard” Binary 
(Protobuf, Thrift, 
etc) 
• Highly efficient wire protocol with broad 
range of encoder bindings for various 
languages 
• Can use common IDL (definition) to 
generate device and cloud code 
• Built in support for protocol versioning 
• Implementation may not be compatible with RTOS class 
device BSP (board support packages) 
• Until you’ve lived through the mistake, you probably 
won’t use the versioning features. 
Custom Binary 
(roll your own) 
• You can put “wrote yet another custom 
protocol” on your resume 
• High degree of control over bit packing, 
ordering, etc. 
• Can support any device.. Since you wrote it 
for that device  
• Very few implementations use code generation from a 
common definition (result -> divergent implementations 
with subtle differences) 
• Rarely incorporate version management, self-describing 
type and version fields, rich variable support (arrays, 
maps, etc) 
• Take on a life of their own, generating support burdens 
with inertia
 
 
 
 
 
 
 
 

 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 

 

Microsoft Confidential. 
Delivering on Collection 
Challenges and Physics 
60 
50 
40 
30 
20 
10 
0 
1 2 3 4 5 6 7 8 9 10 
80 
60 
40 
20 
0 
1 2 3 4 5 6 7 8 9 10
 
 
Set-AzurePublicIP –PublicIPName webip –VM MyVM - 
IdleTimeoutInMinutes 15 
http://azure.microsoft.com/blog/2014/08/14/new-configurable-idle-timeout-for-azure-load-balancer/
 

 
 
 

 
 
 
 
 
 
 
 http://azure.microsoft.com/en-us/ 
services/event-hubs/ 

 
 
 

 
 
 

Focus on 
optimizing these 
message handlers These, probably 
not.
 
 
 
 http://www.microsoft.com/windowsembedded/en-us/ 
intelligent-systems-service.aspx 
 
 
 
http://channel9.msdn.com/Events/Build/2014/3-633 
 
http://channel9.msdn.com/Events/Build/2014/3-634
Connecting Stuff to Azure (IoT)

More Related Content

What's hot

Connecting IoT devices to Azure
Connecting IoT devices to AzureConnecting IoT devices to Azure
Connecting IoT devices to Azure
Guy Barrette
 
DotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreDotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il Concentratore
Riccardo Cappello
 
Building IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & AzureBuilding IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & Azure
Mostafa
 
Azure iot
Azure iotAzure iot
Azure iot
書廷 林
 
Using FIWARE and Microsoft Azure for the development of IoT solutions
Using FIWARE and Microsoft Azure for the development of IoT solutionsUsing FIWARE and Microsoft Azure for the development of IoT solutions
Using FIWARE and Microsoft Azure for the development of IoT solutions
DunavNET
 
Introduction to Azure IoT Suite
Introduction to Azure IoT SuiteIntroduction to Azure IoT Suite
Introduction to Azure IoT Suite
Daniel Toomey
 
Internet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@MicrosoftInternet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@Microsoft
Marco Silva
 
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftIoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
Open Mobile Alliance
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT Architecture
IBM Analytics
 
AWS IoT vs Azure IoT
AWS IoT vs Azure IoTAWS IoT vs Azure IoT
AWS IoT vs Azure IoT
ahmed badr
 
Azure IoT Camp
Azure IoT CampAzure IoT Camp
Azure IoT Camp
Vadim Kacherov
 
Building Secure IoT Solutions using Azure Sphere
Building Secure IoT Solutions using Azure SphereBuilding Secure IoT Solutions using Azure Sphere
Building Secure IoT Solutions using Azure Sphere
Chris Pietschmann (Microsoft MVP)
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platform
Ludovic Bouvier
 
Azure IoT services - overview, SenZations 2015
Azure IoT services - overview, SenZations 2015Azure IoT services - overview, SenZations 2015
Azure IoT services - overview, SenZations 2015
SenZations Summer School
 
New Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With EntgraNew Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With Entgra
Vichitra Godamunne
 
Microsoft Azure and IoT – how to use
Microsoft Azure and IoT – how to useMicrosoft Azure and IoT – how to use
Microsoft Azure and IoT – how to use
SenZations Summer School
 
IoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT HubIoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT Hub
Marco Silva
 
IoT and Its Application
IoT and Its ApplicationIoT and Its Application
IoT and Its Application
Dun Automation Academy
 
Azure IoT Platform services - The modern IoT developer toolbox
Azure IoT Platform services - The modern IoT developer toolboxAzure IoT Platform services - The modern IoT developer toolbox
Azure IoT Platform services - The modern IoT developer toolbox
Microsoft Tech Community
 

What's hot (19)

Connecting IoT devices to Azure
Connecting IoT devices to AzureConnecting IoT devices to Azure
Connecting IoT devices to Azure
 
DotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il ConcentratoreDotNetToscana - Azure IoT Hub - Il Concentratore
DotNetToscana - Azure IoT Hub - Il Concentratore
 
Building IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & AzureBuilding IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & Azure
 
Azure iot
Azure iotAzure iot
Azure iot
 
Using FIWARE and Microsoft Azure for the development of IoT solutions
Using FIWARE and Microsoft Azure for the development of IoT solutionsUsing FIWARE and Microsoft Azure for the development of IoT solutions
Using FIWARE and Microsoft Azure for the development of IoT solutions
 
Introduction to Azure IoT Suite
Introduction to Azure IoT SuiteIntroduction to Azure IoT Suite
Introduction to Azure IoT Suite
 
Internet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@MicrosoftInternet Society Event on IoT - IoT@Microsoft
Internet Society Event on IoT - IoT@Microsoft
 
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - MicrosoftIoT Seminar (Oct. 2016) Juan Perez - Microsoft
IoT Seminar (Oct. 2016) Juan Perez - Microsoft
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT Architecture
 
AWS IoT vs Azure IoT
AWS IoT vs Azure IoTAWS IoT vs Azure IoT
AWS IoT vs Azure IoT
 
Azure IoT Camp
Azure IoT CampAzure IoT Camp
Azure IoT Camp
 
Building Secure IoT Solutions using Azure Sphere
Building Secure IoT Solutions using Azure SphereBuilding Secure IoT Solutions using Azure Sphere
Building Secure IoT Solutions using Azure Sphere
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platform
 
Azure IoT services - overview, SenZations 2015
Azure IoT services - overview, SenZations 2015Azure IoT services - overview, SenZations 2015
Azure IoT services - overview, SenZations 2015
 
New Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With EntgraNew Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With Entgra
 
Microsoft Azure and IoT – how to use
Microsoft Azure and IoT – how to useMicrosoft Azure and IoT – how to use
Microsoft Azure and IoT – how to use
 
IoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT HubIoTSummit - Introduction to IoT Hub
IoTSummit - Introduction to IoT Hub
 
IoT and Its Application
IoT and Its ApplicationIoT and Its Application
IoT and Its Application
 
Azure IoT Platform services - The modern IoT developer toolbox
Azure IoT Platform services - The modern IoT developer toolboxAzure IoT Platform services - The modern IoT developer toolbox
Azure IoT Platform services - The modern IoT developer toolbox
 

Similar to Connecting Stuff to Azure (IoT)

Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
Aymeric Weinbach
 
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 ParisAymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
AZUG FR
 
[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric Weinbach[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric Weinbach
Cellenza
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
Pratik Gohel
 
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
2017 - LISA - LinkedIn's Distributed Firewall (DFW)2017 - LISA - LinkedIn's Distributed Firewall (DFW)
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
Mike Svoboda
 
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
Altera Corporation
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
DMC, Inc.
 
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
Frank Alexander Reusch
 
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
samveed
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
Srinivasa Addepalli
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoT
qnapivan
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
LF Events
 
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
Rick G. Garibay
 
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
Rambus
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
Benjamin Cabé
 
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
Digital River
 
System design of multiprotocol iot
System design of multiprotocol iotSystem design of multiprotocol iot
System design of multiprotocol iot
Dev Bhattacharya
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
ece svit
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
sumit tiwari
 
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Pietro F. Maggi
 

Similar to Connecting Stuff to Azure (IoT) (20)

Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
 
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 ParisAymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
Aymeric Weinbach - IoT et Azure - Global Azure Bootcamp 2016 Paris
 
[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric Weinbach[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric Weinbach
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
2017 - LISA - LinkedIn's Distributed Firewall (DFW)2017 - LISA - LinkedIn's Distributed Firewall (DFW)
2017 - LISA - LinkedIn's Distributed Firewall (DFW)
 
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
AMC & VPX Form Factor Boards With High Speed SERDES: Embedded World 2010
 
Pushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
 
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
 
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
Advantech Intelligent Communication Gateways are ARM-based robust platforms w...
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
QNAP for IoT
QNAP for IoTQNAP for IoT
QNAP for IoT
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
 
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
Protecting Data In Motion with MACsec - Gijs Willemse - Rambus Design Summit ...
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
Moxa white paper---Embedded Computing for Industrial Embedded Computing for I...
 
System design of multiprotocol iot
System design of multiprotocol iotSystem design of multiprotocol iot
System design of multiprotocol iot
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
 
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
 

Recently uploaded

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 

Recently uploaded (20)

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 

Connecting Stuff to Azure (IoT)

  • 1.
  • 2.
  • 3.
  • 4.    http://en.wikipedia.org/wiki/Internet_of_Things
  • 5.
  • 7.     
  • 8.
  • 9.
  • 10. Option Upside Downside Common examples Battery (primary) Device can operate in a mobile environment for extended periods of time. Device now has a current / wattage budget (CPU cycles are not free). Efficient and safe battery charging requires sophisticated circuitry (you won’t do it in firmware). Mobile brains phones Battery (secondary) Device can sustain function through transient power interrupts Efficient and safe battery charging requires sophisticated circuitry (you won’t do it in firmware). May have to add additional circuitry to run while charging Laptops Main power (primary) Device can leverage all available computing power (barring thermal constraints) Device functionality susceptible to interruption during power supply events 3D printer Main power + backup Device can leverage all available computing power (barring thermal constraints), and operate at reduced capacity during power events. Additional power management circuitry. Need to reduce current load during loss of main power. NEST thermostat
  • 11. Option Upside Downside Common examples Ethernet Cheap, easy to install. No hard bandwidth or framing limitations. Requires hard wired connection provided by end-user. May require additional configuration or security enhancements to route through firewalls, etc. Industrial PLC (programmable logic controllers) WiFi Readily available on more sophisticated microcontrollers and embedded devices. Requires ambient WiFi network, and method of managing security keys and access (including rotation). May require additional configuration or security enhancements to route through firewalls (commercial). NEST thermostat. Cellular Self-contained; plug and go. Communication heavily metered – cost of operations (CoGS) borne by service operator. 3rd party car data logger Local (Bluetooth, Zigbee, etc) Minimal cost and power requirements. Short ranged, require field gateway or other “smart” edge device to proxy connections. iBeacon
  • 12.   
  • 13.
  • 14.          http://contextis.com/resources/blog/hacking-internet-connected-light-bulbs/
  • 15. Option Upside Downside UDP • Simple; datagrams require no framing. • Efficient on bandwidth metered links. • Impractical to secure channel. • Need faith or out of band acknowledgement mechanism for reliable transfer. • Cannot reliably support ordered data streams. • Challenging to implement return-channel (cloud to device) for commands TCP/IP • Simple; minimal code footprint for RTOS class devices. • Can use TLS to secure channel • Bi-directional channel for notifications and commands • Need to handle framing on both sides of connection (or hard code avoidance of MTU limits from end to end) • Firewall traversal is challenging HTTP/S • Straightforward firewall traversal, use of SSL for channel encryption and signing • Built in framing, can leverage semantic conventions (REST) to publish data • Inefficient for Signal-to-Noise ratio of bytes on wire • Heavy device stack footprint to implement general purpose HTTP client stack AMQP, MQTT • Bi-directional channel for notifications and commands • Efficient use of bandwidth (batching, efficient framing, etc) • Firewall traversal is challenging • Client stack may not fit on smaller devices • Evolving standards and implementation levels
  • 16. Option Upside Downside XML • You have more money than you know what to do with. Enjoy another mojito on your yacht. • Extremely inefficient for both serialization/deserialization time and wire encoding. JSON • Self-describing (“tagged”) format requiring no type identifiers. Readable by convention. • Need to handle framing on both sides of connection (or hard code avoidance of MTU limits from end to end) • Firewall traversal is challenging Tagged / Untagged “standard” Binary (Protobuf, Thrift, etc) • Highly efficient wire protocol with broad range of encoder bindings for various languages • Can use common IDL (definition) to generate device and cloud code • Built in support for protocol versioning • Implementation may not be compatible with RTOS class device BSP (board support packages) • Until you’ve lived through the mistake, you probably won’t use the versioning features. Custom Binary (roll your own) • You can put “wrote yet another custom protocol” on your resume • High degree of control over bit packing, ordering, etc. • Can support any device.. Since you wrote it for that device  • Very few implementations use code generation from a common definition (result -> divergent implementations with subtle differences) • Rarely incorporate version management, self-describing type and version fields, rich variable support (arrays, maps, etc) • Take on a life of their own, generating support burdens with inertia
  • 17.
  • 18.         
  • 19.      
  • 20.
  • 21.        
  • 22.     
  • 24. Microsoft Confidential. Delivering on Collection Challenges and Physics 60 50 40 30 20 10 0 1 2 3 4 5 6 7 8 9 10 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10
  • 25.   Set-AzurePublicIP –PublicIPName webip –VM MyVM - IdleTimeoutInMinutes 15 http://azure.microsoft.com/blog/2014/08/14/new-configurable-idle-timeout-for-azure-load-balancer/
  • 27.
  • 28.
  • 29.   
  • 30.         http://azure.microsoft.com/en-us/ services/event-hubs/ 
  • 31.   
  • 32.   
  • 33. Focus on optimizing these message handlers These, probably not.
  • 34.
  • 35.     http://www.microsoft.com/windowsembedded/en-us/ intelligent-systems-service.aspx    http://channel9.msdn.com/Events/Build/2014/3-633  http://channel9.msdn.com/Events/Build/2014/3-634