SlideShare ist ein Scribd-Unternehmen logo
1 von 34
#GlobalAzure
Azure - IOT
Aymeric Weinbach
THE BIGGEST
MICROSOFT AZURE
COMMUNITY EVENT
192 LOCATIONS
57 COUNTRIES
+10000 PEOPLE
Global Sponsors
Le groupe Facebook
 https://facebook.com/groups/zecloud
Le twitter
 http://twitter.com/zecloud
Le site www.zecloud.fr
25 Avril 2015
■L’IOT mais qu’est ce que c’est ?
■Les choix à faire
■Prototypez vos objets connectés
■Les briques Azure
■Démo
■et un peu de code
Agenda
L’IOT mais qu’est ce que c’est ?
Mais sérieusement qu’est ce que c’est ?
■Définition de l’union internationale des télécommunications :
infrastructure mondiale pour la société de l'information, qui permet de
disposer de services évolués en interconnectant des objets (physiques
ou virtuels) grâce aux technologies de l'information et de la
communication interopérables existantes ou en évolution.
Source Wikipedia : http://fr.wikipedia.org/wiki/Internet_des_objets
• Collecter des données des objets
de la vie courante
• Stocker et analyser les données
pour lancer des actions ou pour
aider à la prise de décisions.
• Fusionner le monde réel et virtuel
A quoi ça sert
Choices – What powers the device?
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
Choices – What connects the device to cloud services?
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
With the ubiquity of firewalls and NAT (network address translators),
cloud services connecting inbound to devices is typically impractical.
If two local devices want to talk to each other, two options:
Device A connects directly to device B, or vice-versa
The devices communicate through a secured cloud endpoint
(service assisted communication)
Whom connects to whom?
Messaging and Connectivity
■ LiFX lightbulbs create a mesh network between each other
■ One lightbulb elects as master, and proxies to WiFi router
■ Devices shipped from factory with a single GLOBAL PRE-SHARED KEY.
■ Break one device – break them all.
■ Remediation Options:
■ Global firmware update. How do the devices “call home” to get firmware
updates? At scale there will always be devices behind the update curve.
■ Don’t make any mistakes in the bootloader for in-field firmware updates. A
single RMA (return material authorization) can wipe out the profit from
dozens of devices.
■ Move to provisioned key-per-device. Need to build and manage key
infrastructure. Also need to incorporate key rotation (don’t make a mistake
here of the device will “bricked”).
■ Is there an out-of-band update mechanism (USB?). Is the end-user
community amenable to handling firmware updates (industrial, technical vs.
mass consumer)
Peer to peer sounds cool!
http://contextis.com/resources/blog/hacking-internet-connected-light-bulbs/
Choices – Let’s connect!
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
Choices – Let’s encode!
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
■Cout d’un oubli ou d’un bug coté cloud :
corriger le bug , commit, push, build, deploy ( cout : 3 clics et un café)
■Cout d’un oubli ou d’un bug coté device :
Hardware : refaire tous les devices
Software : Mise à jour de firmware (est ce que c’est prévu)
Dans les 2 cas trés cher $$$
La nécessité de prototyper
Choisir une plateforme de prototypage
imprimante 3D
Architecture
Pourquoi utiliser un event broker ?
Event Hubs
Event
Producers
Stream Analytics
Data Source Collect Process ConsumeDeliver
Event Inputs
- Event Hub
- Azure Blob
Transform
- Temporal joins
- Filter
- Aggregates
- Projections
- Windows
- Etc.
Enrich
Correlate
Outputs
- SQL Azure
- Azure Blobs
- Event Hub
Azure
Storage
• Temporal Semantics
• Guaranteed delivery
• Guaranteed up time
Azure Stream Analytics
Reference Data
- Azure Blob
Scénario : Utiliser Nao comme interface pour
intelligence ambiante (Station météorologique)
Event
Hubs
Stream
Analytics
Microsoft Azure
Requêtes HTTPS
AMQP
Requêtes HTTPS
AMQP
Sondes
AMQP: Advanced Message Queuing Protocol
Website
http://gadgeteer.codeplex.com
http://www.microsoft.com/france/visual-studio/
http://azure.com
Références
. Net Micro Framework Core SDK
.Net MF Visual Studio 2013 integration
.Net Gadgeteer Core
GHI NETMF and Gadgeteer package
GHI discontinued Gadgeteer Module
Drivers
NETMF Toolbox
http://windowsondevices.com
https://github.com/msopentech/connectthedots/
http://www.netmf.com/gadgeteer/
http://amqpnetlite.codeplex.com/
Références
Aymeric@zecloud.fr
Thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love JavaBrian Benz
 
Telia latvija cloudstack
Telia latvija cloudstackTelia latvija cloudstack
Telia latvija cloudstackShapeBlue
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebula Project
 
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...DynamicInfraDays
 
Running OpenShift Clusters in a Cloudstack Environment
Running OpenShift Clusters in a Cloudstack EnvironmentRunning OpenShift Clusters in a Cloudstack Environment
Running OpenShift Clusters in a Cloudstack EnvironmentShapeBlue
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsShapeBlue
 
Securing your Cloud Environment v2
Securing your Cloud Environment v2Securing your Cloud Environment v2
Securing your Cloud Environment v2ShapeBlue
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureBrian Benz
 
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...Pawel Serwan
 
NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10OpenNebula Project
 
Replacing vCloud with OpenNebula
Replacing vCloud with OpenNebulaReplacing vCloud with OpenNebula
Replacing vCloud with OpenNebulaOpenNebula Project
 
NTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do ItNTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do ItOpenNebula Project
 
Citrix Cloud XL - Running Ctirix in Public Cloud
Citrix Cloud XL - Running Ctirix in Public CloudCitrix Cloud XL - Running Ctirix in Public Cloud
Citrix Cloud XL - Running Ctirix in Public CloudMarius Sandbu
 
Cloud stack user group - Welcome
Cloud stack user group -  WelcomeCloud stack user group -  Welcome
Cloud stack user group - WelcomeShapeBlue
 
Citrix with Microsoft EMS
Citrix with Microsoft EMSCitrix with Microsoft EMS
Citrix with Microsoft EMSMarius Sandbu
 
CloudStack templates with OpenVM
CloudStack templates with OpenVMCloudStack templates with OpenVM
CloudStack templates with OpenVMShapeBlue
 
70 533 - Module 02 : Implementing and Managing Virtual Networks
70 533 - Module 02 : Implementing and Managing Virtual Networks70 533 - Module 02 : Implementing and Managing Virtual Networks
70 533 - Module 02 : Implementing and Managing Virtual NetworksGeorges-Emmanuel TOPE
 
Introduction and news
Introduction and newsIntroduction and news
Introduction and newsShapeBlue
 
CloudStack User Group welcome
CloudStack User Group welcomeCloudStack User Group welcome
CloudStack User Group welcomeShapeBlue
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack newsShapeBlue
 

Was ist angesagt? (20)

How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
 
Telia latvija cloudstack
Telia latvija cloudstackTelia latvija cloudstack
Telia latvija cloudstack
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
 
Running OpenShift Clusters in a Cloudstack Environment
Running OpenShift Clusters in a Cloudstack EnvironmentRunning OpenShift Clusters in a Cloudstack Environment
Running OpenShift Clusters in a Cloudstack Environment
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack news
 
Securing your Cloud Environment v2
Securing your Cloud Environment v2Securing your Cloud Environment v2
Securing your Cloud Environment v2
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
 
NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10NSX with OpenNebula - upcoming 5.10
NSX with OpenNebula - upcoming 5.10
 
Replacing vCloud with OpenNebula
Replacing vCloud with OpenNebulaReplacing vCloud with OpenNebula
Replacing vCloud with OpenNebula
 
NTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do ItNTS: What We Do With OpenNebula - and Why We Do It
NTS: What We Do With OpenNebula - and Why We Do It
 
Citrix Cloud XL - Running Ctirix in Public Cloud
Citrix Cloud XL - Running Ctirix in Public CloudCitrix Cloud XL - Running Ctirix in Public Cloud
Citrix Cloud XL - Running Ctirix in Public Cloud
 
Cloud stack user group - Welcome
Cloud stack user group -  WelcomeCloud stack user group -  Welcome
Cloud stack user group - Welcome
 
Citrix with Microsoft EMS
Citrix with Microsoft EMSCitrix with Microsoft EMS
Citrix with Microsoft EMS
 
CloudStack templates with OpenVM
CloudStack templates with OpenVMCloudStack templates with OpenVM
CloudStack templates with OpenVM
 
70 533 - Module 02 : Implementing and Managing Virtual Networks
70 533 - Module 02 : Implementing and Managing Virtual Networks70 533 - Module 02 : Implementing and Managing Virtual Networks
70 533 - Module 02 : Implementing and Managing Virtual Networks
 
Introduction and news
Introduction and newsIntroduction and news
Introduction and news
 
CloudStack User Group welcome
CloudStack User Group welcomeCloudStack User Group welcome
CloudStack User Group welcome
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
 

Ähnlich wie Gab 2015 aymeric weinbach azure iot

Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Mark Simms
 
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 ParisAZUG FR
 
[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric Weinbach[GAB2016] IoT and Azure - Aymeric Weinbach
[GAB2016] IoT and Azure - Aymeric WeinbachCellenza
 
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
 
Mark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of ThingsMark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of ThingsStanford School of Engineering
 
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
[Feb 2020] Cours IoT - CentraleSupelec - Master SIONicolas Lesconnec
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Damien Contreras
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT GatewayLF 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
 
From the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerFrom the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerRick G. Garibay
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Dorian Hernandez
 
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptx
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptxConnecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptx
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptxssuser52b751
 

Ähnlich wie Gab 2015 aymeric weinbach azure iot (20)

Connecting Stuff to Azure (IoT)
Connecting Stuff to Azure (IoT)Connecting Stuff to Azure (IoT)
Connecting Stuff to 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
 
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)
 
Mark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of ThingsMark Horowitz - Stanford Engineering - Securing the Internet of Things
Mark Horowitz - Stanford Engineering - Securing the Internet of Things
 
IoT4Devs (1)
IoT4Devs (1)IoT4Devs (1)
IoT4Devs (1)
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
[Feb 2020] Cours IoT - CentraleSupelec - Master SIO
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
NodeGrid Bold
NodeGrid BoldNodeGrid Bold
NodeGrid Bold
 
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...
 
K010426371
K010426371K010426371
K010426371
 
From the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerFrom the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's Primer
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
 
Embedded Systems ppt
Embedded Systems pptEmbedded Systems ppt
Embedded Systems ppt
 
CentralizedSerialWP
CentralizedSerialWPCentralizedSerialWP
CentralizedSerialWP
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
IOT Exploitation
IOT Exploitation	IOT Exploitation
IOT Exploitation
 
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptx
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptxConnecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptx
Connecting_Things_2.01_Instructor Supplemental Materials_Chapter4.pptx
 

Mehr von Aymeric Weinbach

Gab 2017 iot azure aymeric weinbach
Gab 2017 iot  azure aymeric weinbachGab 2017 iot  azure aymeric weinbach
Gab 2017 iot azure aymeric weinbachAymeric Weinbach
 
Cnam cours azure ze cloud intro et présentation generale 2016
Cnam cours azure ze cloud intro et présentation  generale 2016Cnam cours azure ze cloud intro et présentation  generale 2016
Cnam cours azure ze cloud intro et présentation generale 2016Aymeric Weinbach
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource managerAymeric Weinbach
 
Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Aymeric Weinbach
 
Gab paris 2015 automatisation
Gab paris 2015   automatisationGab paris 2015   automatisation
Gab paris 2015 automatisationAymeric Weinbach
 
Concevoir ses premiers objets connectés avec azure
Concevoir ses premiers objets connectés avec azureConcevoir ses premiers objets connectés avec azure
Concevoir ses premiers objets connectés avec azureAymeric Weinbach
 
Cnam cours azure intro et présentation generale
Cnam cours azure intro et présentation generaleCnam cours azure intro et présentation generale
Cnam cours azure intro et présentation generaleAymeric Weinbach
 
Cnam cours azure cloud services
Cnam cours azure  cloud servicesCnam cours azure  cloud services
Cnam cours azure cloud servicesAymeric Weinbach
 
Windows azure gwab - mobile services
Windows azure   gwab - mobile servicesWindows azure   gwab - mobile services
Windows azure gwab - mobile servicesAymeric Weinbach
 
Gérer facilement les identités dans le cloud
Gérer facilement les identités dans le cloudGérer facilement les identités dans le cloud
Gérer facilement les identités dans le cloudAymeric Weinbach
 
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 Paris
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 ParisBackup Recovery Hybride avec Windows Azure Backup au Gwab 2014 Paris
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 ParisAymeric Weinbach
 
Session Objet Connecté gwab 2014 paris
Session Objet Connecté gwab 2014 parisSession Objet Connecté gwab 2014 paris
Session Objet Connecté gwab 2014 parisAymeric Weinbach
 
Introduction gwab 2014 paris
Introduction gwab 2014 parisIntroduction gwab 2014 paris
Introduction gwab 2014 parisAymeric Weinbach
 
la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014Aymeric Weinbach
 
Cnam azure 2014 mobile services
Cnam azure 2014   mobile servicesCnam azure 2014   mobile services
Cnam azure 2014 mobile servicesAymeric Weinbach
 

Mehr von Aymeric Weinbach (20)

Serverless everywhere
Serverless everywhereServerless everywhere
Serverless everywhere
 
Gaib19 azure + ia = art
Gaib19   azure + ia = artGaib19   azure + ia = art
Gaib19 azure + ia = art
 
Gab 2017 iot azure aymeric weinbach
Gab 2017 iot  azure aymeric weinbachGab 2017 iot  azure aymeric weinbach
Gab 2017 iot azure aymeric weinbach
 
Cnam cours azure ze cloud intro et présentation generale 2016
Cnam cours azure ze cloud intro et présentation  generale 2016Cnam cours azure ze cloud intro et présentation  generale 2016
Cnam cours azure ze cloud intro et présentation generale 2016
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote
 
Gab paris 2015 automatisation
Gab paris 2015   automatisationGab paris 2015   automatisation
Gab paris 2015 automatisation
 
Concevoir ses premiers objets connectés avec azure
Concevoir ses premiers objets connectés avec azureConcevoir ses premiers objets connectés avec azure
Concevoir ses premiers objets connectés avec azure
 
Cnam cours azure intro et présentation generale
Cnam cours azure intro et présentation generaleCnam cours azure intro et présentation generale
Cnam cours azure intro et présentation generale
 
Cnam cours azure cloud services
Cnam cours azure  cloud servicesCnam cours azure  cloud services
Cnam cours azure cloud services
 
Windows azure gwab - mobile services
Windows azure   gwab - mobile servicesWindows azure   gwab - mobile services
Windows azure gwab - mobile services
 
Gérer facilement les identités dans le cloud
Gérer facilement les identités dans le cloudGérer facilement les identités dans le cloud
Gérer facilement les identités dans le cloud
 
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 Paris
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 ParisBackup Recovery Hybride avec Windows Azure Backup au Gwab 2014 Paris
Backup Recovery Hybride avec Windows Azure Backup au Gwab 2014 Paris
 
Gwab 2014 Paris keynote
Gwab 2014 Paris keynoteGwab 2014 Paris keynote
Gwab 2014 Paris keynote
 
Session Objet Connecté gwab 2014 paris
Session Objet Connecté gwab 2014 parisSession Objet Connecté gwab 2014 paris
Session Objet Connecté gwab 2014 paris
 
Introduction gwab 2014 paris
Introduction gwab 2014 parisIntroduction gwab 2014 paris
Introduction gwab 2014 paris
 
la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014
 
Cnam azure 2014 storage
Cnam azure 2014   storageCnam azure 2014   storage
Cnam azure 2014 storage
 
Cnam azure 2014 mobile services
Cnam azure 2014   mobile servicesCnam azure 2014   mobile services
Cnam azure 2014 mobile services
 
Cnam azure 2014 iaas
Cnam azure 2014   iaas Cnam azure 2014   iaas
Cnam azure 2014 iaas
 

Gab 2015 aymeric weinbach azure iot

  • 2. THE BIGGEST MICROSOFT AZURE COMMUNITY EVENT 192 LOCATIONS 57 COUNTRIES +10000 PEOPLE
  • 4.
  • 5. Le groupe Facebook  https://facebook.com/groups/zecloud Le twitter  http://twitter.com/zecloud Le site www.zecloud.fr 25 Avril 2015
  • 6. ■L’IOT mais qu’est ce que c’est ? ■Les choix à faire ■Prototypez vos objets connectés ■Les briques Azure ■Démo ■et un peu de code Agenda
  • 7.
  • 8. L’IOT mais qu’est ce que c’est ?
  • 9. Mais sérieusement qu’est ce que c’est ? ■Définition de l’union internationale des télécommunications : infrastructure mondiale pour la société de l'information, qui permet de disposer de services évolués en interconnectant des objets (physiques ou virtuels) grâce aux technologies de l'information et de la communication interopérables existantes ou en évolution. Source Wikipedia : http://fr.wikipedia.org/wiki/Internet_des_objets
  • 10. • Collecter des données des objets de la vie courante • Stocker et analyser les données pour lancer des actions ou pour aider à la prise de décisions. • Fusionner le monde réel et virtuel A quoi ça sert
  • 11.
  • 12.
  • 13. Choices – What powers the device? 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
  • 14. Choices – What connects the device to cloud services? 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
  • 15. With the ubiquity of firewalls and NAT (network address translators), cloud services connecting inbound to devices is typically impractical. If two local devices want to talk to each other, two options: Device A connects directly to device B, or vice-versa The devices communicate through a secured cloud endpoint (service assisted communication) Whom connects to whom?
  • 17. ■ LiFX lightbulbs create a mesh network between each other ■ One lightbulb elects as master, and proxies to WiFi router ■ Devices shipped from factory with a single GLOBAL PRE-SHARED KEY. ■ Break one device – break them all. ■ Remediation Options: ■ Global firmware update. How do the devices “call home” to get firmware updates? At scale there will always be devices behind the update curve. ■ Don’t make any mistakes in the bootloader for in-field firmware updates. A single RMA (return material authorization) can wipe out the profit from dozens of devices. ■ Move to provisioned key-per-device. Need to build and manage key infrastructure. Also need to incorporate key rotation (don’t make a mistake here of the device will “bricked”). ■ Is there an out-of-band update mechanism (USB?). Is the end-user community amenable to handling firmware updates (industrial, technical vs. mass consumer) Peer to peer sounds cool! http://contextis.com/resources/blog/hacking-internet-connected-light-bulbs/
  • 18. Choices – Let’s connect! 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
  • 19. Choices – Let’s encode! 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
  • 20.
  • 21. ■Cout d’un oubli ou d’un bug coté cloud : corriger le bug , commit, push, build, deploy ( cout : 3 clics et un café) ■Cout d’un oubli ou d’un bug coté device : Hardware : refaire tous les devices Software : Mise à jour de firmware (est ce que c’est prévu) Dans les 2 cas trés cher $$$ La nécessité de prototyper
  • 22. Choisir une plateforme de prototypage
  • 24.
  • 26. Pourquoi utiliser un event broker ?
  • 28. Stream Analytics Data Source Collect Process ConsumeDeliver Event Inputs - Event Hub - Azure Blob Transform - Temporal joins - Filter - Aggregates - Projections - Windows - Etc. Enrich Correlate Outputs - SQL Azure - Azure Blobs - Event Hub Azure Storage • Temporal Semantics • Guaranteed delivery • Guaranteed up time Azure Stream Analytics Reference Data - Azure Blob
  • 29. Scénario : Utiliser Nao comme interface pour intelligence ambiante (Station météorologique) Event Hubs Stream Analytics Microsoft Azure Requêtes HTTPS AMQP Requêtes HTTPS AMQP Sondes AMQP: Advanced Message Queuing Protocol Website
  • 30.
  • 31. http://gadgeteer.codeplex.com http://www.microsoft.com/france/visual-studio/ http://azure.com Références . Net Micro Framework Core SDK .Net MF Visual Studio 2013 integration .Net Gadgeteer Core GHI NETMF and Gadgeteer package GHI discontinued Gadgeteer Module Drivers NETMF Toolbox

Hinweis der Redaktion

  1. T
  2. T
  3. Cycle: Idée -> Construit -> Produit -> Mesure –> Apprend