SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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!

Weitere ähnliche Inhalte

Was ist angesagt?

Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update ManagementUdaiappa 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 AzureBrian 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 PowerShellThomas 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 PowerShellNitesh Luharuka
 
TechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on AzureTechEvent Infrastructure as Code on Azure
TechEvent Infrastructure as Code on AzureTrivadis
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco 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 outHenry Been
 
Azure Powershell. Azure Automation
Azure Powershell. Azure AutomationAzure Powershell. Azure Automation
Azure Powershell. Azure AutomationAlexander 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 TerraformWinOps Conf
 
IaaS with ARM templates for Azure
IaaS with ARM templates for AzureIaaS with ARM templates for Azure
IaaS with ARM templates for AzureChristoffer Noring
 
Sitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintSitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintMark Taylor
 
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 FunctionsCodeOps Technologies LLP
 
Azure Web Jobs
Azure Web JobsAzure Web Jobs
Azure Web JobsBizTalk360
 
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
 

Was ist angesagt? (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?
 

Ähnlich wie Building a Real-Time IoT Monitoring App 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.2020Riccardo 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 adxRiccardo 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 solutionJames 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 releaseJen Stirrup
 
Modern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced AnalyticsModern Business Intelligence and Advanced Analytics
Modern Business Intelligence and Advanced AnalyticsCollective Intelligence Inc.
 
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDB
[「RDB技術者のためのNoSQLガイド」出版記念セミナー] Azure DocumentDBNaoki (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 AzureIdo Flatow
 
Microsoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science RecapMicrosoft Build 2020: Data Science Recap
Microsoft Build 2020: Data Science RecapMark Tabladillo
 
Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016Microsoft Azure News - Aug 2016
Microsoft Azure News - Aug 2016Daniel Toomey
 
Time Series Analytics Azure ADX
Time Series Analytics Azure ADXTime Series Analytics Azure ADX
Time Series Analytics Azure ADXRiccardo 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 IoTMongoDB
 
USQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake EventUSQL Trivadis Azure Data Lake Event
USQL Trivadis Azure Data Lake EventTrivadis
 
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 BIKellyn Pot'Vin-Gorman
 
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 IoTAlex 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
 

Ähnlich wie Building a Real-Time IoT Monitoring App 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...
 

Mehr von Davide Mauri

Agile Data Warehousing
Agile Data WarehousingAgile Data Warehousing
Agile Data WarehousingDavide 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 lifeDavide Mauri
 
When indexes are not enough
When indexes are not enoughWhen indexes are not enough
When indexes are not enoughDavide Mauri
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONDavide 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 - V2Davide Mauri
 
SQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesSQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesDavide 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 DevelopersDavide Mauri
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream AnalyticsDavide Mauri
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningDavide Mauri
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDavide 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 applicationsDavide Mauri
 
Event Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsEvent Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsDavide Mauri
 
SQL Server 2016 JSON
SQL Server 2016 JSONSQL Server 2016 JSON
SQL Server 2016 JSONDavide Mauri
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveDavide Mauri
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BIDavide 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 IndexingDavide Mauri
 
Schema less table & dynamic schema
Schema less table & dynamic schemaSchema less table & dynamic schema
Schema less table & dynamic schemaDavide Mauri
 

Mehr von 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
 

Kürzlich hochgeladen

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 

Kürzlich hochgeladen (20)

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 

Building a Real-Time IoT Monitoring App 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