SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Gestire devices per
l'Internet of Things
con Azure IoT
MARCO PARENZAN
WPC2018 1
Agenda
• Device Management with Azure IoT
Hub
• Azure Device Provisioning Service
• Azure IoT Edge
• Server side processing
WPC2018
2
Device Management
with Azure IoT Hub
Manage your devices with Azure IoT...and more
Connect a device for…
• Telemetry
• Data flows in one direction from the device to other
systems for conveying status changes in the device
itself
• Inquiries
• Requests from the device looking to gather required
information or asking to initiate activities
• Commands
• Commands from other systems sent to a device (or a
group of devices) to perform specific activities
expecting a result from the command execution, or at
least a status for that
• Notifications
• Information flows in one direction from other systems
to a device (or a group of devices) for conveying
status changes
Device Management
• Device Provisioning
• Device Configuration
• Invoke a task on the device
• Invoke a task on many devices
• Query for your asset
• Generalize drivers for multiple version support
Azure IoT Hub
IoT Hub Device Management
• Device Provisioning
• Automatic device registration including, management enrollment and initial configuration
• Device Twin
• Synchronize the device condition and configuration between cloud and device
• Methods
• Perform interactive actions (e.g command &control) on devices
• Jobs
• Broadcast and schedule device twin changes and methods at scale
• Queries
• Dynamic reporting across device twin and jobs to attest device status and health
• Patterns, Libraries, & Implementations
• Get started quickly with the most essential operations supporting a diverse set of platforms
Device app Back end
Azure IoT Device Twin
Device twin
Properties
Desired
Reported
Tags Organize
ConfigureImplement Configuration
Update Conditions Attest Compliance
Query and Events
Learnings over the years
• DON’T use a C2D Message for device configuration
• TTL will never be long enough.
• DON’T use a Direct Method for device configuration
• Direct methods are interactive (request/response).
• DO use Device Twin Desired Properties for configuration
• DO use Direct Methods for remediation
• DO use Device Reported Properties for config compliance
DEMO
Azure Device
Provisioning Service
Answer these IoT questions…
• How will you connect your devices?
• How will you securely identify and enroll your devices?
• How do you scale enrollment for many devices?
What is provisioning?
Registration Configuration Provisioning
Manage your devices with Azure IoT...and more
Group devices and control
access according to your
organization's needs
Securely authenticate devices,
on-board for management
and provision for service
Monitor device inventory, health
& security while providing
proactive remediation of issues
Replace or decommission
devices after failure, upgrade
cycle or service lifetime
Manage devices at scale
Provide updates, configuration & applications
to assign the purpose of each device
PLAN
PROVISION
CONFIGURE
MONITOR
RETIRE
Introducing: IoT Hub Device Provisioning
Devices are automatically and securely connected to the IoT Hub service and provisioned
with initial configuration
A single device provisioning tenant can provide service for multiple IoT hubs (in multiple
regions)
Customers provide rules and logic to assure the right device is attached to the right IoT
solution (and associated IoT Hub endpoint)
Device provisioning ability is extensible with support for several types of identity attestation
patterns
Setup
• Devices already have the URI for the device provisioning
service at first boot
• Device provisioning service already knows about the IoT
hubs to which it can connect
• Device provisioning service already knows the type of
identity attestation it is using, including connection info for
each
IoT Hub
Device registry
(ID/key and metadata)
Device
IoT Hub device provisioning service
Distribution rules
IoT Hub
Device registry
(ID/key and metadata)
Enrollment list
Using an enrollment list
DEMO
Azure IoT Edge
Why Azure IoT Edge?
• Because not everything is on the cloud
• Latency
• Control
• Pre-processing
• Because there are also the devices...
• ...or the gateway
• Commercial/Industrual/Ruggered
• Look at Azure IoT Certified
Azure IoT Edge
• It’s a device!
• Gives a structure to the edge client
• Based on docker «philosophy»
• You need to build a container image
• You need a container registry
Azure IoT Edge
Design Principles
• Secure
• Provides a secure connection to the Azure IoT Edge, update software/firmware/configuration remotely,
collect state and telemetry and monitor security of the device
• Cloud managed
• Enables rich management of Azure IoT Edge from Azure provide a complete solution instead of just an
SDK
• Cross-platform
• Enables Azure IoT Edge to target the most popular edge operating systems, such as Windows and Linux
• Portable
• Enables Dev/Test of edge workloads in the cloud with later deployment to the edge as part of a
continuous integration / continuous deployment pipeline
• Extensible
• Enables seamless deployment of advanced capabilities such as AI from Microsoft, and any third party,
today and tomorrow
Azure IoT Edge «Edge» Architecture
Modules
• It’s a pipeline
• Custom modules
• C#/.NET Core
• JavaScript
• Standard!
• Functions
• Stream Analytics
• ML
Concepts – Edge Runtime
• Edge Runtime provides fundamental services
• Security
• Multiplexing
• Store and forward (Offline)
• Management for devices otherwise isolated from internet
DEMO
Telemetry Server side
Processing
Which services for (IoT) events processing?
• Azure Functions
• Stream Analytics
• EventProcessorHost
Azure Function
• Good for low ingestion
• Moving over EventGrid will improve performances
• No event correlation
• Durable Functions not for this...
• EventGrid will change, but it’s not the same
Stream Analytics
• Great semantics
• Hyperscale
• But
• Not cost effective in the mid-low
• No SQL friendly
• Difficult to test
• Slow to start
• shooting fish in a barrel (equivalente di «sparare a un topo con un
cannone»)
• Just to make time window aggregation
EventProcessorHost
• Where it is?
• How does it scale with EventProcessorHost?
• EventHub is «a queue» (not really, but Receive exists!)
Summer testing of...
• Experimenting with IoT protocols directly (AMQP and MQTT)
by the device
• Consuming EventHub with AMQP protocol directly
• Consuming Redis with raw protocol
• Want to experiment containers
• No more VMs for workers
• Never liked WebJobs for that
• No functions…Event Grid destiny…
Manage your devices with Azure IoT...and more
“Serverless Streaming At Scale with
Cosmos DB” by Davide Mauri
• October 9th, 2018 after my thought...
• https://medium.com/@mauridb/serverless-streaming-at-
scale-with-cosmos-db-e0e26cacd27d
• «…But if you don’t need time-aware features, like Hopping
or Tumbling Window, complex data processing capabilities,
like stream joining, aggregates of streams and the likes, a
more lightweight solution can be an option….”
Containers
• Containers = Love
• IaaS = Hate
• AKS .... Love?
• Serious Answer
• Containers are the futurepresent
• I don’t implement an AKS cluster in a proposed solution, not PaaS
• Only if already existing or requested
• Service Fabric is the same
Great news
• Azure Container Instances
• AKS as a Service (PaaS)
• Not completly equivalent with AKS
• No orchestrator
• Fits well for a fixed partition-based model (one container
instance per partition)
Manage your devices with Azure IoT...and more
Architecture
Event
Hub
Stream
Analytics
SQL
Database
Replacing Stream Analytics
Event
Processing
Hopping
Window
Accumulating
Events in
windows
Releasing
Windows
Persisting
Windows
Event Processing
• Accessing EventHub API (also for IoT Hub)
• Using AMQPLite lib
• also Microsoft.Azure.EventHub
• But no Microsoft Azure.EventHub.Processor
Hopping Window
• Fixed size time window
• Overlapping window
• Extreme condition: zero
overlapTumbling
Window
• Class for window
identification
Accumulating events in windows
• Collections
• High availability?
• Redis!
• Using Lists
Releasing data as time windows
• How long windows stay in memory?
• SA uses the notion of «unordered events»
• No time critical
• Example 15minutes windowafter 20+ minutes
• How?
• Redis caching expiration!
Persisting Time Windows
• Direct SQL pressure? No!
• Using queues
• Then a worker can off load queue and store in SQL
• In the demo it’s just a thread, but it can be another container...
Hyper-scaling
• All these steps can be implemented in different containers
(and probably SA does the same )
• And remember that you can replicate it for each partition
Building an event processor
• .NET Core
• ASP.NET Core
• IHostedService
• Make it observable (at least in testing)
• MVC
• SignalR
DEMO
Azure Container Instances (ACI)
Easily run containers without managing servers
Now GA!
Containers as a primitive
billed per second
Secure applications with
hypervisor isolation
Run containers
without managing
servers
Service Fabric
Dedicated Azure clusters
Service Fabric
Cluster
Bring your own infrastructure
Service Fabric
Standalone
On-premisesAny cloud
Dev machine
Dedicated
Service Fabric
Mesh
Fully managed by Azure
Serverless
Manage your devices with Azure IoT...and more
Conclusions?
Driving Security Innovation: 7 Properties of
Device Security
• Well understood security principles and practices
• Device security rooted in hardware, but guarded with
secure, evolving software
https://aka.ms/7principles
What is Azure Sphere?
• A new Azure Sphere OS secured by Microsoft for the devices 10-year
lifetime to create a trustworthy platform for new IoT experiences
• The Azure Sphere Security Service guards every Azure Sphere device;
it brokers trust for device-to-device and device-to-cloud communication,
detects emerging threats, and renews device security.
• A new Azure Sphere class of MCUs, from silicon partners, with built-in
Microsoft security technology provide connectivity and a dependable
hardware root of trust
Q&A • Domande e risposte
WPC2018
56
Contatti
• OverNet Education
• Info@OverNetEducation.it
• www.OverNetEducation.it
• Rozzano (MI)+39 02 365738
• Bologna +39 051 269911
• www.wpc-overneteducation.it
ROZZANO (MI)
BOLOGNA
ROMA
GENOVA
TORINO
NAPOLI
WPC2018
57

Contenu connexe

Tendances

The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenParticular Software
 
My local test Environment
My local test EnvironmentMy local test Environment
My local test EnvironmentDanielHillinger
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015Mark Voelker
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudMark Voelker
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solutionMarco Parenzan
 
Cloud Computing vs Virtualization From Desktop to Server
Cloud Computing vs Virtualization From Desktop to ServerCloud Computing vs Virtualization From Desktop to Server
Cloud Computing vs Virtualization From Desktop to ServerFadly Rizal Ahmad Fadzil
 
DCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDocker, Inc.
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackMark Voelker
 
Oct meetup open stack 101 clean
Oct meetup open stack 101   cleanOct meetup open stack 101   clean
Oct meetup open stack 101 cleanbenrodrigue
 
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...Mark Voelker
 
Virtualization
VirtualizationVirtualization
VirtualizationMadnanS
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
Business Transformation with Microsoft Azure IoT
Business Transformation with Microsoft Azure IoTBusiness Transformation with Microsoft Azure IoT
Business Transformation with Microsoft Azure IoTIlyas F ☁☁☁
 
Kafka Summit SF 2017 - Running Kafka for Maximum Pain
Kafka Summit SF 2017 - Running Kafka for Maximum PainKafka Summit SF 2017 - Running Kafka for Maximum Pain
Kafka Summit SF 2017 - Running Kafka for Maximum Painconfluent
 
OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)Mark Voelker
 
Slashing Your Cloud Risk: 3 Must-Do's
Slashing Your Cloud Risk: 3 Must-Do'sSlashing Your Cloud Risk: 3 Must-Do's
Slashing Your Cloud Risk: 3 Must-Do'sSecurity Innovation
 
Delivering and optimizing citrix from microsoft azure
Delivering and optimizing citrix from microsoft azure Delivering and optimizing citrix from microsoft azure
Delivering and optimizing citrix from microsoft azure Marius Sandbu
 

Tendances (20)

The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
My local test Environment
My local test EnvironmentMy local test Environment
My local test Environment
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Bitnami Bootcamp. OpenStack
Bitnami Bootcamp. OpenStackBitnami Bootcamp. OpenStack
Bitnami Bootcamp. OpenStack
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solution
 
Cloud Computing vs Virtualization From Desktop to Server
Cloud Computing vs Virtualization From Desktop to ServerCloud Computing vs Virtualization From Desktop to Server
Cloud Computing vs Virtualization From Desktop to Server
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
DCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise ApplicationsDCSF19 Containerized Databases for Enterprise Applications
DCSF19 Containerized Databases for Enterprise Applications
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
 
Oct meetup open stack 101 clean
Oct meetup open stack 101   cleanOct meetup open stack 101   clean
Oct meetup open stack 101 clean
 
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...
OpenStack + VMware: Deploy, Upgrade, & Operate a Powerful Production OpenStac...
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Business Transformation with Microsoft Azure IoT
Business Transformation with Microsoft Azure IoTBusiness Transformation with Microsoft Azure IoT
Business Transformation with Microsoft Azure IoT
 
Kafka Summit SF 2017 - Running Kafka for Maximum Pain
Kafka Summit SF 2017 - Running Kafka for Maximum PainKafka Summit SF 2017 - Running Kafka for Maximum Pain
Kafka Summit SF 2017 - Running Kafka for Maximum Pain
 
OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)OpenStack: Everything You Need To Know to Get Started (ATO2014)
OpenStack: Everything You Need To Know to Get Started (ATO2014)
 
Slashing Your Cloud Risk: 3 Must-Do's
Slashing Your Cloud Risk: 3 Must-Do'sSlashing Your Cloud Risk: 3 Must-Do's
Slashing Your Cloud Risk: 3 Must-Do's
 
Delivering and optimizing citrix from microsoft azure
Delivering and optimizing citrix from microsoft azure Delivering and optimizing citrix from microsoft azure
Delivering and optimizing citrix from microsoft azure
 

Similaire à Manage your devices with Azure IoT...and more

Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)Codit
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Codit
 
Onboarding a Historical Company on the Cloud Journey
Onboarding a Historical Company on the Cloud JourneyOnboarding a Historical Company on the Cloud Journey
Onboarding a Historical Company on the Cloud JourneyMarius Zaharia
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0Vinod Wilson
 
Sitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web AppsSitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web AppsRob Habraken
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure introHaddy El-Haggan
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
Azure iot edge and AI enabling the intelligent edge
Azure iot edge and AI  enabling the intelligent edgeAzure iot edge and AI  enabling the intelligent edge
Azure iot edge and AI enabling the intelligent edgeMarco Dal Pino
 
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceCodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceBert Jan Schrijver
 
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...Codemotion
 
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Codit
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft CloudKangaroot
 
JavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceJavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceBert Jan Schrijver
 
Microservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceMicroservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceBert Jan Schrijver
 

Similaire à Manage your devices with Azure IoT...and more (20)

Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)
Why integration is key in IoT solutions? (Sam Vanhoutte @Integrate2017)
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
 
Onboarding a Historical Company on the Cloud Journey
Onboarding a Historical Company on the Cloud JourneyOnboarding a Historical Company on the Cloud Journey
Onboarding a Historical Company on the Cloud Journey
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
Sitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web AppsSitecore 8.2 Update 1 on Azure Web Apps
Sitecore 8.2 Update 1 on Azure Web Apps
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
 
Cloud computing & windows azure intro
Cloud computing & windows azure introCloud computing & windows azure intro
Cloud computing & windows azure intro
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
Azure iot edge and AI enabling the intelligent edge
Azure iot edge and AI  enabling the intelligent edgeAzure iot edge and AI  enabling the intelligent edge
Azure iot edge and AI enabling the intelligent edge
 
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceCodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
 
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
 
JavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceJavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National Police
 
Microservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceMicroservices in action at the Dutch National Police
Microservices in action at the Dutch National Police
 

Plus de Marco Parenzan

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerMarco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxMarco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and AzureMarco Parenzan
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralMarco Parenzan
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogameMarco Parenzan
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Marco Parenzan
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETMarco Parenzan
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetMarco Parenzan
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .netMarco Parenzan
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .netMarco Parenzan
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicMarco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTMarco Parenzan
 

Plus de Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 

Dernier

Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 

Dernier (20)

Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 

Manage your devices with Azure IoT...and more

  • 1. Gestire devices per l'Internet of Things con Azure IoT MARCO PARENZAN WPC2018 1
  • 2. Agenda • Device Management with Azure IoT Hub • Azure Device Provisioning Service • Azure IoT Edge • Server side processing WPC2018 2
  • 5. Connect a device for… • Telemetry • Data flows in one direction from the device to other systems for conveying status changes in the device itself • Inquiries • Requests from the device looking to gather required information or asking to initiate activities • Commands • Commands from other systems sent to a device (or a group of devices) to perform specific activities expecting a result from the command execution, or at least a status for that • Notifications • Information flows in one direction from other systems to a device (or a group of devices) for conveying status changes
  • 6. Device Management • Device Provisioning • Device Configuration • Invoke a task on the device • Invoke a task on many devices • Query for your asset • Generalize drivers for multiple version support
  • 8. IoT Hub Device Management • Device Provisioning • Automatic device registration including, management enrollment and initial configuration • Device Twin • Synchronize the device condition and configuration between cloud and device • Methods • Perform interactive actions (e.g command &control) on devices • Jobs • Broadcast and schedule device twin changes and methods at scale • Queries • Dynamic reporting across device twin and jobs to attest device status and health • Patterns, Libraries, & Implementations • Get started quickly with the most essential operations supporting a diverse set of platforms
  • 9. Device app Back end Azure IoT Device Twin Device twin Properties Desired Reported Tags Organize ConfigureImplement Configuration Update Conditions Attest Compliance Query and Events
  • 10. Learnings over the years • DON’T use a C2D Message for device configuration • TTL will never be long enough. • DON’T use a Direct Method for device configuration • Direct methods are interactive (request/response). • DO use Device Twin Desired Properties for configuration • DO use Direct Methods for remediation • DO use Device Reported Properties for config compliance
  • 11. DEMO
  • 13. Answer these IoT questions… • How will you connect your devices? • How will you securely identify and enroll your devices? • How do you scale enrollment for many devices?
  • 14. What is provisioning? Registration Configuration Provisioning
  • 16. Group devices and control access according to your organization's needs Securely authenticate devices, on-board for management and provision for service Monitor device inventory, health & security while providing proactive remediation of issues Replace or decommission devices after failure, upgrade cycle or service lifetime Manage devices at scale Provide updates, configuration & applications to assign the purpose of each device PLAN PROVISION CONFIGURE MONITOR RETIRE
  • 17. Introducing: IoT Hub Device Provisioning Devices are automatically and securely connected to the IoT Hub service and provisioned with initial configuration A single device provisioning tenant can provide service for multiple IoT hubs (in multiple regions) Customers provide rules and logic to assure the right device is attached to the right IoT solution (and associated IoT Hub endpoint) Device provisioning ability is extensible with support for several types of identity attestation patterns
  • 18. Setup • Devices already have the URI for the device provisioning service at first boot • Device provisioning service already knows about the IoT hubs to which it can connect • Device provisioning service already knows the type of identity attestation it is using, including connection info for each
  • 19. IoT Hub Device registry (ID/key and metadata) Device IoT Hub device provisioning service Distribution rules IoT Hub Device registry (ID/key and metadata) Enrollment list Using an enrollment list
  • 20. DEMO
  • 22. Why Azure IoT Edge? • Because not everything is on the cloud • Latency • Control • Pre-processing • Because there are also the devices... • ...or the gateway • Commercial/Industrual/Ruggered • Look at Azure IoT Certified
  • 23. Azure IoT Edge • It’s a device! • Gives a structure to the edge client • Based on docker «philosophy» • You need to build a container image • You need a container registry
  • 24. Azure IoT Edge Design Principles • Secure • Provides a secure connection to the Azure IoT Edge, update software/firmware/configuration remotely, collect state and telemetry and monitor security of the device • Cloud managed • Enables rich management of Azure IoT Edge from Azure provide a complete solution instead of just an SDK • Cross-platform • Enables Azure IoT Edge to target the most popular edge operating systems, such as Windows and Linux • Portable • Enables Dev/Test of edge workloads in the cloud with later deployment to the edge as part of a continuous integration / continuous deployment pipeline • Extensible • Enables seamless deployment of advanced capabilities such as AI from Microsoft, and any third party, today and tomorrow
  • 25. Azure IoT Edge «Edge» Architecture
  • 26. Modules • It’s a pipeline • Custom modules • C#/.NET Core • JavaScript • Standard! • Functions • Stream Analytics • ML
  • 27. Concepts – Edge Runtime • Edge Runtime provides fundamental services • Security • Multiplexing • Store and forward (Offline) • Management for devices otherwise isolated from internet
  • 28. DEMO
  • 30. Which services for (IoT) events processing? • Azure Functions • Stream Analytics • EventProcessorHost
  • 31. Azure Function • Good for low ingestion • Moving over EventGrid will improve performances • No event correlation • Durable Functions not for this... • EventGrid will change, but it’s not the same
  • 32. Stream Analytics • Great semantics • Hyperscale • But • Not cost effective in the mid-low • No SQL friendly • Difficult to test • Slow to start • shooting fish in a barrel (equivalente di «sparare a un topo con un cannone») • Just to make time window aggregation
  • 33. EventProcessorHost • Where it is? • How does it scale with EventProcessorHost? • EventHub is «a queue» (not really, but Receive exists!)
  • 34. Summer testing of... • Experimenting with IoT protocols directly (AMQP and MQTT) by the device • Consuming EventHub with AMQP protocol directly • Consuming Redis with raw protocol • Want to experiment containers • No more VMs for workers • Never liked WebJobs for that • No functions…Event Grid destiny…
  • 36. “Serverless Streaming At Scale with Cosmos DB” by Davide Mauri • October 9th, 2018 after my thought... • https://medium.com/@mauridb/serverless-streaming-at- scale-with-cosmos-db-e0e26cacd27d • «…But if you don’t need time-aware features, like Hopping or Tumbling Window, complex data processing capabilities, like stream joining, aggregates of streams and the likes, a more lightweight solution can be an option….”
  • 37. Containers • Containers = Love • IaaS = Hate • AKS .... Love? • Serious Answer • Containers are the futurepresent • I don’t implement an AKS cluster in a proposed solution, not PaaS • Only if already existing or requested • Service Fabric is the same
  • 38. Great news • Azure Container Instances • AKS as a Service (PaaS) • Not completly equivalent with AKS • No orchestrator • Fits well for a fixed partition-based model (one container instance per partition)
  • 42. Event Processing • Accessing EventHub API (also for IoT Hub) • Using AMQPLite lib • also Microsoft.Azure.EventHub • But no Microsoft Azure.EventHub.Processor
  • 43. Hopping Window • Fixed size time window • Overlapping window • Extreme condition: zero overlapTumbling Window • Class for window identification
  • 44. Accumulating events in windows • Collections • High availability? • Redis! • Using Lists
  • 45. Releasing data as time windows • How long windows stay in memory? • SA uses the notion of «unordered events» • No time critical • Example 15minutes windowafter 20+ minutes • How? • Redis caching expiration!
  • 46. Persisting Time Windows • Direct SQL pressure? No! • Using queues • Then a worker can off load queue and store in SQL • In the demo it’s just a thread, but it can be another container...
  • 47. Hyper-scaling • All these steps can be implemented in different containers (and probably SA does the same ) • And remember that you can replicate it for each partition
  • 48. Building an event processor • .NET Core • ASP.NET Core • IHostedService • Make it observable (at least in testing) • MVC • SignalR
  • 49. DEMO
  • 50. Azure Container Instances (ACI) Easily run containers without managing servers Now GA! Containers as a primitive billed per second Secure applications with hypervisor isolation Run containers without managing servers
  • 51. Service Fabric Dedicated Azure clusters Service Fabric Cluster Bring your own infrastructure Service Fabric Standalone On-premisesAny cloud Dev machine Dedicated Service Fabric Mesh Fully managed by Azure Serverless
  • 54. Driving Security Innovation: 7 Properties of Device Security • Well understood security principles and practices • Device security rooted in hardware, but guarded with secure, evolving software https://aka.ms/7principles
  • 55. What is Azure Sphere? • A new Azure Sphere OS secured by Microsoft for the devices 10-year lifetime to create a trustworthy platform for new IoT experiences • The Azure Sphere Security Service guards every Azure Sphere device; it brokers trust for device-to-device and device-to-cloud communication, detects emerging threats, and renews device security. • A new Azure Sphere class of MCUs, from silicon partners, with built-in Microsoft security technology provide connectivity and a dependable hardware root of trust
  • 56. Q&A • Domande e risposte WPC2018 56
  • 57. Contatti • OverNet Education • Info@OverNetEducation.it • www.OverNetEducation.it • Rozzano (MI)+39 02 365738 • Bologna +39 051 269911 • www.wpc-overneteducation.it ROZZANO (MI) BOLOGNA ROMA GENOVA TORINO NAPOLI WPC2018 57