SlideShare a Scribd company logo
Building a Real-Time IoT
monitoring application
with Azure
Davide Mauri | dm@sensoriainc.com | @mauridb
Director SW Engineering & Lead data architect
Sensoria Inc.
About Me
Microsoft Data Platform MVP since 2006
Working with the Microsoft Data Platform from 1997
• Specialized in Data Solution Architecture, Database Design, Performance Tuning,
High-Performance Data Warehousing, BI, Big Data
• Very strong developer background
Loves this community!
• President of UGISS (Italian SQL Server UG) for 11 Years
• AppDev VG Leader since 2017
Regular Speaker @ Microsoft Data Platform events
Director SW & Cloud @ Sensoria: http://www.sensoriafitness.com/
E-mail: dm@sensoriainc.com-Twitter: @mauridb
Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx
About the Session
Showcase how it is possible to create an IoT solution on Azure, using a 100% PaaS
solution
Ref: http://lambda-architecture.net/
IoT in Sensoria
We’re applying IoT PaaS as shown to the Internet-Of-Me (IoT applied to human
beings)
Sports / Fashion: garments, smart shoes, smart socks
Healthcare: rehabilitation, fall prevention, etc. etc.
Steps and Technologies involved
Ingestion with Event Hub
Real-Time Data Processing via Stream Analytics
Real-Time Data Scoring via Machine Learning
Real-Time Event Handling via Event Grid/Azure Functions
Real-Time Dashboard with Power BI
Time Series analysis with Azure Time Series
Application data backbone with Azure SQL or CosmosDb
Long-Term storage and Enterprise BI with Azure SQL DW
Create a Data Lake & do Data Science with Azure Data Lake & Machine Learning
Architecture
100% PaaS
Lambda Architecture
Supports all business
needs:
From Field Applications
To Strategic Dashboards
Event Hub
Telemetry ingestion service
Handles up to millions events per second
Supports HTTPS and AMQP
Native client libraries for .NET and JAVA or REST API
Optional automatic near-real time archiving of
ingested data
https://docs.microsoft.com/en-us/azure/event-hubs/event-
hubs-capture-enable-through-portal
Event Hub
Other Option: IoT Hub
Centralized Device Management
IoT Hub if you need Cloud-To-Device communication
MQTT Protocol
Comparison of Azure IoT Hub and Azure Event Hubs
https://docs.microsoft.com/en-us/azure/iot-hub/iot-
hub-compare-event-hubs
Stream Analytics
Can handle millions of events per second
Based on the REEF project (now Apache incubated)
Streaming Query Engine
Take date from one or more input
Send resulting data to one or more output
Support most common data types:
bigint, float, unicode strings, datetime
key-value pairs
arrays
Stream Analytics
Stream Analytics Query Language Reference
https://msdn.microsoft.com/library/azure/dn834998.aspx
SQL-Like Query Language
With specific temporal extension
Time is a known entity to the engine
Compare the current “Scored Label” value
against the same value existing 1 minute ago
Stream Analytics
Native support to geospatial queries
https://msdn.microsoft.com/library/mt778980(Azure.100).a
spx
Native function to detect anomalies:
ANOMALYDETECTION
https://docs.microsoft.com/en-us/azure/stream-
analytics/stream-analytics-machine-learning-anomaly-
detection
Functions can be applied to the streamed data
Javascript
Machine Learning Web Services REST calls
Machine Learning
Online editor for defining training and scoring
processes
A lot of native components
Support Python and R (BYOM: Bring your own model)
Natively supports Jupyter notebooks
Once created models can be called via REST API
New version just released: Azure Machine Learning
Desktop Workbench
https://docs.microsoft.com/en-us/azure/machine-
learning/preview/quickstart-installation
Azure Event Grid
React to events that happens in Azure or in your
Applications
Natively provide a subscription mechanism
Eg: As soon as a new file has been archived by
Event Hub, call a function
to move it into Data Lake and/or Data Warehouse
start ML re-training
Serverless solution: just write the code you need, all the
infrastructural code in already done for you
Increase development efficiency *a lot*
Easily and well integrated with other Azure solutions
Supports WebHooks
Supports a variety of languages
C#, Python, PHP, Javascript…
Azure Functions
Power BI Reports and Dashboard
Online and desktop Dashboard solution
Desktop is free to use
Online has a free tier too
Online version supports streaming data sets
Custom or coming from Stream Analytics
Time Series Insights
Specific tool to analyze Time-Series data
Just Perfect for IoT
Automatically infer schema of incoming data
Easily allow visual analysis of time-series data
Heat-Map especially useful
Azure SQL
The “usual” SQL Server, just PaaS Just a few
highlights:
In-Memory (Lock-Free structures)
Columnar Storage
JSON support
In-Database Analytics with Python (coming soon) and R
(available now)
Graph
Cosmos DB
NoSQL distributed database
Key-Value, Columnar, Document, Graph
Multiple API supported
DocumentDB, MongoDB, Table, Gremlin
Guaranteed SLA on latency
99% of reads in <10 ms and writes in <15 ms
Data Lake
Made of two separate services
Pay only for what you use
Data Lake Store
Store any type of data at any scale
Almost no limits in size and quantity
Supports HDFS
Data Lake Analytics
Distributed computing platform
Integrated with Visual Studio
Great developer experience
U-SQL:
Declarative language,
SQL-Like with C# Data Types,
Extensible with .NET, R & Python and other languages
U-SQL
Declarative, composable language
Approach similar to Apache Pig
Procedure, Functions, Views are also
supported
Input and Output are files or U-SQL
databases
Script is analyzed, split across nodes
and executed in parallel
Azure DW
MPP data warehouse solution
Ideal for long-term organized storage
Separate charge for storage and compute
Based on SQL Server
Columnstore
Polybase allows integration with Hadoop
Are all these technologies
really needed?
Quite likely. Why?
My complete answer is here:
“Data Juice”
https://www.slideshare.net/davidemauri/data-juice
https://medium.com/@mauridb/data-juice-
5a49b159fd51
Conclusions
100% IoT ingestion/monitoring/analysis solution is possible
Focus on business not on infrastructure
Simpler if fits your use case
Otherwise the Apache stack (Kafka, Storm, Spark, etc is still the most flexible option)
Why we went with Azure?
Great integration with development tools
Supports almost all languages and all platforms
Our background was python and .net and sql server
Lots of new products, very fast evolution of existing one
Stay updated and informed
Thanks!

More Related Content

What's hot

Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
Udaiappa Ramachandran
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
Brian Benz
 
Андрей Бойко - Azure Web App для PHP и Node.Js разработчиков
Андрей Бойко -  Azure Web App для PHP и Node.Js разработчиковАндрей Бойко -  Azure Web App для PHP и Node.Js разработчиков
Андрей Бойко - Azure Web App для PHP и Node.Js разработчиков
Hackraft
 
Doing Azure With PowerShell
Doing Azure With PowerShellDoing Azure With PowerShell
Doing Azure With PowerShell
Thomas Lee
 
Infrastructure as Code on Azure - NET Conf AR v2018
Infrastructure as Code on Azure - NET Conf AR v2018 Infrastructure as Code on Azure - NET Conf AR v2018
Infrastructure as Code on Azure - NET Conf AR v2018
Victor Silva
 
Managing Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShellManaging Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShell
Nitesh Luharuka
 
TechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on AzureTechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on Azure
Trivadis
 
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONSSERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
CodeOps Technologies LLP
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
Marco Parenzan
 
Henry been azure resource manager - inside out
Henry been   azure resource manager - inside outHenry been   azure resource manager - inside out
Henry been azure resource manager - inside out
Henry Been
 
Azure Powershell. Azure Automation
Azure Powershell. Azure AutomationAzure Powershell. Azure Automation
Azure Powershell. Azure Automation
Alexander Feschenko
 
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformAlex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
WinOps Conf
 
IaaS with ARM templates for Azure
IaaS with ARM templates for AzureIaaS with ARM templates for Azure
IaaS with ARM templates for Azure
Christoffer Noring
 
Sitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintSitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module Blueprint
Mark Taylor
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
Kenneth Michael Nielsen
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
Tikal Knowledge
 
Go Serverless with Java and Azure Functions
Go Serverless with Java and Azure FunctionsGo Serverless with Java and Azure Functions
Go Serverless with Java and Azure Functions
CodeOps Technologies LLP
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
BizTalk360
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CodeOps Technologies LLP
 
Infrastructure as Code for Azure: ARM or Terraform?
Infrastructure as Code for Azure: ARM or Terraform?Infrastructure as Code for Azure: ARM or Terraform?
Infrastructure as Code for Azure: ARM or Terraform?
Katherine Golovinova
 

What's hot (20)

Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
 
Андрей Бойко - Azure Web App для PHP и Node.Js разработчиков
Андрей Бойко -  Azure Web App для PHP и Node.Js разработчиковАндрей Бойко -  Azure Web App для PHP и Node.Js разработчиков
Андрей Бойко - Azure Web App для PHP и Node.Js разработчиков
 
Doing Azure With PowerShell
Doing Azure With PowerShellDoing Azure With PowerShell
Doing Azure With PowerShell
 
Infrastructure as Code on Azure - NET Conf AR v2018
Infrastructure as Code on Azure - NET Conf AR v2018 Infrastructure as Code on Azure - NET Conf AR v2018
Infrastructure as Code on Azure - NET Conf AR v2018
 
Managing Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShellManaging Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShell
 
TechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on AzureTechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on Azure
 
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONSSERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Henry been azure resource manager - inside out
Henry been   azure resource manager - inside outHenry been   azure resource manager - inside out
Henry been azure resource manager - inside out
 
Azure Powershell. Azure Automation
Azure Powershell. Azure AutomationAzure Powershell. Azure Automation
Azure Powershell. Azure Automation
 
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp TerraformAlex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
 
IaaS with ARM templates for Azure
IaaS with ARM templates for AzureIaaS with ARM templates for Azure
IaaS with ARM templates for Azure
 
Sitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintSitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module Blueprint
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
 
Go Serverless with Java and Azure Functions
Go Serverless with Java and Azure FunctionsGo Serverless with Java and Azure Functions
Go Serverless with Java and Azure Functions
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web Jobs
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
 
Infrastructure as Code for Azure: ARM or Terraform?
Infrastructure as Code for Azure: ARM or Terraform?Infrastructure as Code for Azure: ARM or Terraform?
Infrastructure as Code for Azure: ARM or Terraform?
 

Similar to Building a Real-Time IoT monitoring application with Azure

Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020
Riccardo Zamana
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
James Serra
 
Azure satpn19 time series analytics with azure adx
Azure satpn19   time series analytics with azure adxAzure satpn19   time series analytics with azure adx
Azure satpn19 time series analytics with azure adx
Riccardo Zamana
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
James Serra
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?
James Serra
 
1 Introduction to Microsoft data platform analytics for release
1 Introduction to Microsoft data platform analytics for release1 Introduction to Microsoft data platform analytics for release
1 Introduction to Microsoft data platform analytics for release
Jen Stirrup
 
Modern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced AnalyticsModern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced Analytics
Collective Intelligence Inc.
 
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
Naoki (Neo) SATO
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
Ido Flatow
 
Microsoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science RecapMicrosoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science Recap
Mark Tabladillo
 
Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016
Daniel Toomey
 
Time Series Analytics Azure ADX
Time Series Analytics Azure ADXTime Series Analytics Azure ADX
Time Series Analytics Azure ADX
Riccardo Zamana
 
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoTMongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB
 
USQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake EventUSQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake Event
Trivadis
 
Azure IoT Suite
Azure IoT Suite Azure IoT Suite
Azure IoT Suite
Samir Arezki ☁
 
Binary Studio Academy 2016. MS Azure. Cloud hosting.
Binary Studio Academy 2016. MS Azure. Cloud hosting.Binary Studio Academy 2016. MS Azure. Cloud hosting.
Binary Studio Academy 2016. MS Azure. Cloud hosting.
Binary Studio
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
Kellyn Pot'Vin-Gorman
 
Azure IoT Summary
Azure IoT SummaryAzure IoT Summary
Azure IoT Summary
Todd Whitehead
 
Meetup Toulouse Microsoft Azure : Bâtir une solution IoT
Meetup Toulouse Microsoft Azure : Bâtir une solution IoTMeetup Toulouse Microsoft Azure : Bâtir une solution IoT
Meetup Toulouse Microsoft Azure : Bâtir une solution IoT
Alex Danvy
 
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
The Hive
 

Similar to Building a Real-Time IoT monitoring application with Azure (20)

Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020Azure Data Explorer deep dive - review 04.2020
Azure Data Explorer deep dive - review 04.2020
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
Azure satpn19 time series analytics with azure adx
Azure satpn19   time series analytics with azure adxAzure satpn19   time series analytics with azure adx
Azure satpn19 time series analytics with azure adx
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?
 
1 Introduction to Microsoft data platform analytics for release
1 Introduction to Microsoft data platform analytics for release1 Introduction to Microsoft data platform analytics for release
1 Introduction to Microsoft data platform analytics for release
 
Modern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced AnalyticsModern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced Analytics
 
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
 
Microsoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science RecapMicrosoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science Recap
 
Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016
 
Time Series Analytics Azure ADX
Time Series Analytics Azure ADXTime Series Analytics Azure ADX
Time Series Analytics Azure ADX
 
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoTMongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
 
USQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake EventUSQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake Event
 
Azure IoT Suite
Azure IoT Suite Azure IoT Suite
Azure IoT Suite
 
Binary Studio Academy 2016. MS Azure. Cloud hosting.
Binary Studio Academy 2016. MS Azure. Cloud hosting.Binary Studio Academy 2016. MS Azure. Cloud hosting.
Binary Studio Academy 2016. MS Azure. Cloud hosting.
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
 
Azure IoT Summary
Azure IoT SummaryAzure IoT Summary
Azure IoT Summary
 
Meetup Toulouse Microsoft Azure : Bâtir une solution IoT
Meetup Toulouse Microsoft Azure : Bâtir une solution IoTMeetup Toulouse Microsoft Azure : Bâtir une solution IoT
Meetup Toulouse Microsoft Azure : Bâtir une solution IoT
 
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
The Hive Think Tank - The Microsoft Big Data Stack by Raghu Ramakrishnan, CTO...
 

More from Davide Mauri

Agile Data Warehousing
Agile Data WarehousingAgile Data Warehousing
Agile Data Warehousing
Davide Mauri
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
Davide Mauri
 
When indexes are not enough
When indexes are not enoughWhen indexes are not enough
When indexes are not enough
Davide Mauri
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSON
Davide Mauri
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2
Davide Mauri
 
SQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesSQL Server 2016 Temporal Tables
SQL Server 2016 Temporal Tables
Davide Mauri
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
Davide Mauri
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream Analytics
Davide Mauri
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
Davide Mauri
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BI
Davide Mauri
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applications
Davide Mauri
 
Event Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsEvent Hub & Azure Stream Analytics
Event Hub & Azure Stream Analytics
Davide Mauri
 
SQL Server 2016 JSON
SQL Server 2016 JSONSQL Server 2016 JSON
SQL Server 2016 JSON
Davide Mauri
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
Davide Mauri
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
Davide Mauri
 
AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)
Davide Mauri
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)
Davide Mauri
 
Azure Machine Learning (Italian)
Azure Machine Learning (Italian)Azure Machine Learning (Italian)
Azure Machine Learning (Italian)
Davide Mauri
 
Back to the roots - SQL Server Indexing
Back to the roots - SQL Server IndexingBack to the roots - SQL Server Indexing
Back to the roots - SQL Server Indexing
Davide Mauri
 
Schema less table & dynamic schema
Schema less table & dynamic schemaSchema less table & dynamic schema
Schema less table & dynamic schema
Davide Mauri
 

More from Davide Mauri (20)

Agile Data Warehousing
Agile Data WarehousingAgile Data Warehousing
Agile Data Warehousing
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
When indexes are not enough
When indexes are not enoughWhen indexes are not enough
When indexes are not enough
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSON
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2
 
SQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesSQL Server 2016 Temporal Tables
SQL Server 2016 Temporal Tables
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream Analytics
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BI
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applications
 
Event Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsEvent Hub & Azure Stream Analytics
Event Hub & Azure Stream Analytics
 
SQL Server 2016 JSON
SQL Server 2016 JSONSQL Server 2016 JSON
SQL Server 2016 JSON
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
 
AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)
 
Azure Machine Learning (Italian)
Azure Machine Learning (Italian)Azure Machine Learning (Italian)
Azure Machine Learning (Italian)
 
Back to the roots - SQL Server Indexing
Back to the roots - SQL Server IndexingBack to the roots - SQL Server Indexing
Back to the roots - SQL Server Indexing
 
Schema less table & dynamic schema
Schema less table & dynamic schemaSchema less table & dynamic schema
Schema less table & dynamic schema
 

Recently uploaded

The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
nuttdpt
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
rwarrenll
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
bopyb
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
vikram sood
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
sameer shah
 
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
zsjl4mimo
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
Social Samosa
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
jerlynmaetalle
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
Timothy Spann
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
soxrziqu
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
v7oacc3l
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
Roger Valdez
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 

Recently uploaded (20)

The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.My burning issue is homelessness K.C.M.O.
My burning issue is homelessness K.C.M.O.
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
 
Global Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headedGlobal Situational Awareness of A.I. and where its headed
Global Situational Awareness of A.I. and where its headed
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
 
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 

Building a Real-Time IoT monitoring application with Azure

  • 1. Building a Real-Time IoT monitoring application with Azure Davide Mauri | dm@sensoriainc.com | @mauridb Director SW Engineering & Lead data architect Sensoria Inc.
  • 2. About Me Microsoft Data Platform MVP since 2006 Working with the Microsoft Data Platform from 1997 • Specialized in Data Solution Architecture, Database Design, Performance Tuning, High-Performance Data Warehousing, BI, Big Data • Very strong developer background Loves this community! • President of UGISS (Italian SQL Server UG) for 11 Years • AppDev VG Leader since 2017 Regular Speaker @ Microsoft Data Platform events Director SW & Cloud @ Sensoria: http://www.sensoriafitness.com/ E-mail: dm@sensoriainc.com-Twitter: @mauridb Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx
  • 3. About the Session Showcase how it is possible to create an IoT solution on Azure, using a 100% PaaS solution Ref: http://lambda-architecture.net/
  • 4. IoT in Sensoria We’re applying IoT PaaS as shown to the Internet-Of-Me (IoT applied to human beings) Sports / Fashion: garments, smart shoes, smart socks Healthcare: rehabilitation, fall prevention, etc. etc.
  • 5. Steps and Technologies involved Ingestion with Event Hub Real-Time Data Processing via Stream Analytics Real-Time Data Scoring via Machine Learning Real-Time Event Handling via Event Grid/Azure Functions Real-Time Dashboard with Power BI Time Series analysis with Azure Time Series Application data backbone with Azure SQL or CosmosDb Long-Term storage and Enterprise BI with Azure SQL DW Create a Data Lake & do Data Science with Azure Data Lake & Machine Learning
  • 6. Architecture 100% PaaS Lambda Architecture Supports all business needs: From Field Applications To Strategic Dashboards
  • 7. Event Hub Telemetry ingestion service Handles up to millions events per second Supports HTTPS and AMQP Native client libraries for .NET and JAVA or REST API Optional automatic near-real time archiving of ingested data https://docs.microsoft.com/en-us/azure/event-hubs/event- hubs-capture-enable-through-portal
  • 8. Event Hub Other Option: IoT Hub Centralized Device Management IoT Hub if you need Cloud-To-Device communication MQTT Protocol Comparison of Azure IoT Hub and Azure Event Hubs https://docs.microsoft.com/en-us/azure/iot-hub/iot- hub-compare-event-hubs
  • 9. Stream Analytics Can handle millions of events per second Based on the REEF project (now Apache incubated) Streaming Query Engine Take date from one or more input Send resulting data to one or more output Support most common data types: bigint, float, unicode strings, datetime key-value pairs arrays
  • 10. Stream Analytics Stream Analytics Query Language Reference https://msdn.microsoft.com/library/azure/dn834998.aspx SQL-Like Query Language With specific temporal extension Time is a known entity to the engine Compare the current “Scored Label” value against the same value existing 1 minute ago
  • 11. Stream Analytics Native support to geospatial queries https://msdn.microsoft.com/library/mt778980(Azure.100).a spx Native function to detect anomalies: ANOMALYDETECTION https://docs.microsoft.com/en-us/azure/stream- analytics/stream-analytics-machine-learning-anomaly- detection Functions can be applied to the streamed data Javascript Machine Learning Web Services REST calls
  • 12. Machine Learning Online editor for defining training and scoring processes A lot of native components Support Python and R (BYOM: Bring your own model) Natively supports Jupyter notebooks Once created models can be called via REST API New version just released: Azure Machine Learning Desktop Workbench https://docs.microsoft.com/en-us/azure/machine- learning/preview/quickstart-installation
  • 13. Azure Event Grid React to events that happens in Azure or in your Applications Natively provide a subscription mechanism Eg: As soon as a new file has been archived by Event Hub, call a function to move it into Data Lake and/or Data Warehouse start ML re-training
  • 14. Serverless solution: just write the code you need, all the infrastructural code in already done for you Increase development efficiency *a lot* Easily and well integrated with other Azure solutions Supports WebHooks Supports a variety of languages C#, Python, PHP, Javascript… Azure Functions
  • 15. Power BI Reports and Dashboard Online and desktop Dashboard solution Desktop is free to use Online has a free tier too Online version supports streaming data sets Custom or coming from Stream Analytics
  • 16. Time Series Insights Specific tool to analyze Time-Series data Just Perfect for IoT Automatically infer schema of incoming data Easily allow visual analysis of time-series data Heat-Map especially useful
  • 17. Azure SQL The “usual” SQL Server, just PaaS Just a few highlights: In-Memory (Lock-Free structures) Columnar Storage JSON support In-Database Analytics with Python (coming soon) and R (available now) Graph
  • 18. Cosmos DB NoSQL distributed database Key-Value, Columnar, Document, Graph Multiple API supported DocumentDB, MongoDB, Table, Gremlin Guaranteed SLA on latency 99% of reads in <10 ms and writes in <15 ms
  • 19. Data Lake Made of two separate services Pay only for what you use Data Lake Store Store any type of data at any scale Almost no limits in size and quantity Supports HDFS Data Lake Analytics Distributed computing platform Integrated with Visual Studio Great developer experience U-SQL: Declarative language, SQL-Like with C# Data Types, Extensible with .NET, R & Python and other languages
  • 20. U-SQL Declarative, composable language Approach similar to Apache Pig Procedure, Functions, Views are also supported Input and Output are files or U-SQL databases Script is analyzed, split across nodes and executed in parallel
  • 21. Azure DW MPP data warehouse solution Ideal for long-term organized storage Separate charge for storage and compute Based on SQL Server Columnstore Polybase allows integration with Hadoop
  • 22. Are all these technologies really needed? Quite likely. Why? My complete answer is here: “Data Juice” https://www.slideshare.net/davidemauri/data-juice https://medium.com/@mauridb/data-juice- 5a49b159fd51
  • 23. Conclusions 100% IoT ingestion/monitoring/analysis solution is possible Focus on business not on infrastructure Simpler if fits your use case Otherwise the Apache stack (Kafka, Storm, Spark, etc is still the most flexible option) Why we went with Azure? Great integration with development tools Supports almost all languages and all platforms Our background was python and .net and sql server Lots of new products, very fast evolution of existing one Stay updated and informed