Building IoT Solutions in Azure
About me Mayank Srivastava Evangelist, Organizer, SPR Consulting CNUG The Chicago.Net User Group @MayankSri www.linkedin.com/in/mayanksri/ MayankSri@Live.com
Agenda IoT Cloud Lessons learnt
THE IOT REVOLUTION
What is IoT? A.T. K e a r n e y c o n d u c t e d a s u r v e y : There are at least 20 separate definitions for IoT, with common key words like: devices systems connected Internet data
How big will it be? B y t h e n u m b e r s D E V I C E S O U T P U T M A R K E T G R O W T H / S C A L E I M P A C T 30B 600ZB $6T 1M 6% connected things by 2020 data created from devices per year in 2020 spent on IoT solutions over next 5 years number of devices coming online every hour in 2020 impact on global economy by 2020 IHS Markit Cisco Business Insider Gardner A.T. Kearney
F U N C T I O N Where is it happening? I N D U S T R Y Security & surveillance High-tech + industrial Manufacturing Transportation Retail Utilities Media, Leisure Health care CPG + pharma Chem + oil, gas Financial services Govt, ed & social services HOTTEST Cool Supply chain mgmt Warm Inventory & warehouse Customer order / delivery tracking Facility management Hot Hotter Hottest Industrial asset mgmt Smart products Energy mgmt Fleet mgmt
F U N C T I O N Where is it happening? I N D U S T R Y High-tech + industrial Manufacturing Transportation Retail Utilities Media, Leisure Health care CPG + pharma Chem + oil, gas Financial services Govt, ed & social services Security & surveillance Supply chain mgmt Inventory & warehouse Customer order / delivery tracking Facility management Industrial asset management in Primary Manufacturing HOTTEST Inventory & warehouse in Retail & wholesale Security & surveillance in Government, education & social services HOTTEST Cool Warm Hot Hotter Hottest Industrial asset mgmt HOTTEST Smart products Energy mgmt Fleet mgmt HOTTEST Transportation & logistics in Fleet management
An IoT idea What if my thing could T H I N G I N T E R N E T A p p l i c a t i o n s
An IoT Solution P R O C E S S I N G G A T E W A Y I N T E R N E T A p p l i c a t i o n s D E V I C E S D A T A
Scaling the IoT solution A D V A N C E D P R O C E S S I N G AI G A T E W A Y I N T E R N E T A p p l i c a t i o n s D E V I C E S D A T A S T R A T E G Y D a s h b o a r d s E D G E P R O C E S S I N G
Why? & Why now?
Cloud Computing SaaS Software as a Service Consume it PaaS Platform as a Service Build on it IaaS Infrastructure as a Service Provider maintains all infrastructure. Provider responsible for building and deploying the software. Consumer consumes the software via a thin client (browser or platform specific application) Provider maintains VMs, virtual networks, s/w load balancers, etc. Consumer develops on provider s the development and deployment platform. Consumer responsible for building and deploying the software. Provider manages the datacenter hardware and its Physical location. Consumer manages VMs, virtual networks, s/w load balancers, etc. Consumer responsible for building and deploying the software. Migrate to it.
Cloud Computing SaaS Software as a Service PaaS Platform as a Service Office 365 Google Apps Salesforce Workday Citrix GoToMeeting Cisco WebEx Microsoft Azure Amazon Web Services Google App Engine RedHat OpenShift IaaS Infrastructure as a Service Amazon Web Services Microsoft Azure Google Cloud Platform IBM Cloud (formerly SoftLayer) RackSpace
The Evolving PaaS FaaS Function as a Service Allowing customers to develop, run, and manage application functionalities without the infrastructure typically associated with developing and launching an application. Serveless architecture Examples AWS Lambda, Azure Functions, Google Cloud Functions.
Maslow s Hierarchy of Needs
IoT s Hierarchy of Needs, Applied Azure Functions Logic Apps Web Apps Machine Learning Rules Engine Event Hubs Stream Analytics Data Lake Analytics Power BI DocumentDB Azure Storage Data Factory Data Lake Store SQL Database HDInsight IoT Hub Device Registry Azure IoT Gateway SDK Azure IoT Hub Device Registry
Common IoT platform components Edge processing Ingestion, Alerts, Machine Learning Storage Visualization Storage blob WebJobs Storage table Web App AMQP MQTT HTTP IoT Hub Stream Analytics Storage (Azure) Machine Learning DocumentDB App Service Mobile App Things Gateways Event Hubs Azure SQL database Power BI API App Azure Function Data Warehouse Amazon Equivalents: IoT gateway Amazon Kinesis Simplge Storage AWS Lambda Amazon ML Simplge Storage Amazon RDS Amazon Redshift Dynamo DB Elastic Block Storage Amazon Elastic Beanstalk Amazon API Gateway
Platform Services Security & Management Portal Cloud Services Service Fabric Web Apps API Apps SQL Database Data Warehouse CosmosDB Hybrid Operations Azure AD Health Monitoring Azure Active Directory Azure AD B2C Batch RemoteApp Mobile Apps Logic Apps Redis Cache Azure Search Storage Tables AD Privileged Identity Management Domain Services Multi-Factor Authentication Automation Storage Queues BizTalk Services API Management Notification Hubs Backup Scheduler Hybrid Connections Service Bus HDInsight Machine Learning Stream Analytics Data Lake Operational Analytics Key Vault Visual Studio Azure SDK Data Factory Event Hubs Data Catalog Import/Export Store/ Marketplace VM Image Gallery & VM Depot Media Services Content Delivery Network (CDN) VS Online App Insights Infrastructure Services IoT Hub Mobile Engagement Azure Site Recovery StorSimple
Pre-configured reference solutions https://www.azureiotsuite.com https://docs.microsoft.com/en-us/azure/iot-suite/iot-suite-getstarted-preconfigured-solutions https://catalog.azureiotsuite.com
Some applications I have built Sewer cleaning technology Rescue tools Temperature monitoring of in transit goods
Lessons learnt / considerations Setup a.k.a. registration of device. Most of the process runs in the background you can t log enough. Constant monitoring / preemptive action as opposed to reactive diagnosis. Fault tolerance & traceability (Correlation Ids are your friends). Performance tracking doesn t start after the product is ready for testing. Operations support team is non-technical.
Suggestions Build tools for performance test early on (refer to some existing tools) Load test tools for Azure Device explorer Leverage platform based tools for preemptive actions and custom matrices Application Insights in Azure Amazon CloudWatch in AWS Azure alerts Clean Code and SOLID principles are never optional.
Questions