teched nz 2014: intelligent systems service - concept, code and demo
DESCRIPTION
TechEd New Zealand 2014 - WIN311 - Jonny Lin 'Internet of Things' is the next big thing, by 2020 there is expected to be billions devices connected to the internet, evolving IoT into a trillion dollar industry. Recognizing the upcoming opportunity and challenges IoT will bring, Microsoft released the Intelligent Systems Service (ISS), a service built on top of Azure designed to help developers connect, manage and capture data from IoT devices. This sessions aims to give a high level overview of ISS, walk through a sample project encompassing all the moving parts, dive into the code of a demo application sending data and alarms up into ISS, then create a web portal to call actions and do firmware updates on the device.TRANSCRIPT
Intelligent Systems ServiceConcept, Code and Demo
WIN311Jonny Lin – Intergen
What’s the underlying technology?
What are the important components?
Architecture
Where is the industry right now?
How does ISS fit into the Internet of Things story?
Overview
?How to connect Raspberry Pi to ISS?
How to export data for analytics?
Demo
What’s the process of getting connected?
What are my options?
Dev Workflow
Outline
Gartner – Hype Cycle 2014
Most Hyped Technology for 2014
?
What is the Internet of Things?
Machine to Machine
Wearables
Bluetooth LE
Home Automation
Manufacturing
Mobility“ ”
The network of physical objects that contain embedded technology to communicate and interact with their internal states or the external environment.Source: Gartner
Devices and sensors that connects to the internet
Ability to collect and communicate information – data collected from the environment or inputted by users
Ability to take inputs from external sources (human or machine) include settings, configurations, software
updates, etc
Characteristics of IoT
Raspberry Pi
Plays campaign videos in a loop.
Dynamic playlist.
First batch 2000 devices.
Digital Sign
Upload new version of software over the air.
Ensure backwards compatibility.
OTA Update
View all data related to device, generate reports.
Setup rules for alerts to kickoff processes.
View Data & Errors
Scenario
$35 Small Linux computer with USB, Ethernet and HDMI.
www.raspberrypi.org
Client Side App SecurityAlert & Rules Maintenance
Messaging Bus Analytics Device Onboarding
Cost
Alert & Rules
LOB, client should be able to change.
Kick off processes
Security
Authentication
User accounts need to be integrated
Maintenance
Secure OTA Updates
Versioning?
Client Side App
Cost to learn platform
Client Libraries
Device Onboarding
Ease of use
Security
Analytics
Build graphs from charting library
Own Integration
Messaging Bus
Cost
Need reliable / easy to use client library
Cost
Support / SLA
Device Limit / Data Limit
Messaging Bus Analytics Device Onboarding
Cost
Problems Component BreakdownChange to one at a time
The Challenges of IoT
Developers need a comprehensive platform for IoT development
• Accelerate time to value
• Maintain power and control
• Continually add support for new scenarios
• Scale with their demands
Line of Business IT and Device Operators Need Solutions
• They can use today• They can bet on for
long term• Are predictable• Can be used with
existing systems
Knowledge Workers and Data scientists need easy access to relevant data
• Utilize cloud analytics• Integrate their data
with tools and processes
Azure Intelligent Systems ServiceA Single Integrated Solution for IoT
Extensible Cost EffectiveScalableReady Made
Intelligent Systems Service
Client Side Library
Message Queues
Event hubs
Server Side Rules
Device Management Portal
User Authentication / Authorization
Built on top of existing Azure offerings
- Service Bus
- Event Hub
- Active Directory
- Table Storage / SQL Azure / Blob
Open client libraries
OData endpoint to plug data into PowerBI / Azure ML
Extensible REST API for Admin, Device Management, and Data Retrival
Packaged Offering
Pricing Tiers (per device per month)
X-small - < 1 MB
Small - < 5MB
Medium - < 50MB
Large - < 500MB
Physical Device
ISS Agent/ Gateway
Device Application
Data Provider
Azure Service Bus Agent LAN, WAN,
Mobile SSL Connection
ISS Ingress Service
ISS Front Door Service
Device Notifications
Command and Control
Content Distribution
EventsAlarmsCommands
RulesetRulesetRuleset
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
CEP Engine
RuleRule Action #1Rule Action #2Rule Action #NRuleRule Action #1Rule Action #2Rule Action #N
RuleRuleRule
Ruleset
Intelligent Systems Service API
Azure Table Storage
Azure SQL Database
Azure Blob Storage
ISS Egress Service
ISS Management Service
Device Repository
Management Meta Data
Azure HDInsight
ISS Data Integration Services
Architecture
Azure Service Bus
5. Visualization
3. Compute
4. Storage
2. Messaging1. Device
Physical Device
Architecture
Device Application
Data Provider
Azure Service Bus Agent
Events, Alarms,Commands overLAN, WAN, Mobile SSL
Edge devices like sensors, or more robust devices generate data, status, events and more.
1Sensors communicate over short haul protocol to gateway technology, or to the agent (above) that may reside on the device. Utilizes ISS libraries and APIs
3
Connectivity departs the agent using the ASBA, and data travels on this from the data provider in the agent
4
Data travels from sensor or managed hardware component through device app.
2
Libraries
Architecture
ISS Ingress Service
ISS Front Door Service
Device Notifications
Command and Control
Content Distribution
LAN, WAN, Mobile SSL Connection
EventsAlarmsCommands
Intelligent Systems Service API
Azure Service Bus
Edge device connectivity is established to the Azure Service Bus
5
Edge data such as events, alarms, transactions is passed to the ISS Ingress Service using the ISS API
6
At the same time, device data arrives at the ISS Front Door Service
7
Data
RulesetRulesetRuleset
Architecture
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
CEP EngineRuleRule Action #1Rule Action #2Rule Action #NRuleRule Action #1Rule Action #2Rule Action #N
ISS Data Integration Services
RuleRuleRule
Ruleset
Intelligent Systems Service API
Data is processed using the ISS Device Data Processing Pipeline, where rules and thresholds get applied.
8
The data is compared to rulesets (categories) and specific rules.
9
Data is also processed for storage using the Data Integration Services.
10
Architecture
Azure Table Storage
Azure SQL Database
Azure Blob Storage
There are several locations data can be destined for once processed.
10
Architecture
ISS Egress Service
ISS Management Service
Device Repository
Management Meta Data
Azure HDInsight
Intelligent Systems Service API
3. Gateway connected
4. Gateway connected with custom Protocol2. Directly connected with Agent
1. Directly Connected
Topologies for devices
Standalone Device
Intelligent System Service
TCP/IP Enabled Device
ISS Agent Software
Rest Call to ISS
TCP/IP Enabled Device
ISS Agent on Gateway
Custom Protocol Device
(e.g. Zwave, Zigbee)
ISS Agent on Gateway
Change to boxes with icon
Over 30%revenue growth year over year.API
{ rest }
Windows C
Linux C
.NET Capabilities
Define device models for information to send and receive from ISS.
Register instances of devices that implement a device model.
Invoke actions on the device.
Communicate device state changes and device events to ISS for reporting and data analytics.
Client Side Agents
Over 30%revenue growth year over year.
C# agent libraries will support all NT-based OSes (ex. Industry)Available as precompiled assemblies. Will be Open Sourced by through Public Preview
C agent libraries will support all OSesAvailable as Open Source code under Apache 2.0 license
Client Side Agents
Independent power source
Developer Workflow
Structure Data
SDK Tools
Define device properties
SDK Tools
Implement alarms / events / actions
SDK Tools
Configure device with endpoint and key values
SDK Tools
Retrieve device data
Portal / REST API
Analyze device data
Any Analytic Tool
Manage and respond to alarms
Portal / REST API
Send commands to devices
Portal / REST API
Register Device
Portal / REST API
Create account
Azure
Demo
*WARNING: PREVIEW!*
Case Studies
Snowfall
Water quality
Forest Health
Air Quality
Pest Control
Livestock
Landslide /
Earthquake
In a local context…
Related content
Watch this space!connect.microsoft.com/directory/?keywords=intelligent
@RangeDSPnz.linkedin.com/in/jonnylin
Intelligent Systems Service
R
LoB Apps
Third-party Systems
Third-party/Custom Portals
Intelligent Systems Service Operator Portal
Complex Event Processing Engine
SDK
Microsoft-provided Analytics andVisualization
• Business Rules• Alarm Engine• Alerts and Notifications• LoB Integration
• Command and Control• Device Grouping• Administration• Device Registry
Device Administration
Data Storage • Azure Tables• BLOB• Azure SQL Database
OData
Key:
Third-party Analytics andVisualization
SDK
OData
External Analytics Tools
OData
0011010111000101
0011010111000101
External Data Sources
Intelligent Systems Service
Intelligent Systems Service
Device Actions through Agent Capabilities Command and Control
Data Ingress Data EgressData Processing
• Apply Updates
• Deliver Content and Commands
Third-party Extension
Agent
Gateway
0011010111000101
Agent
0011010111000101
Agent
Agent
• Accepts Commands
• Selectivity Transmits Data
0011010111000101
0011010111000101
953:00 PM
25% humidity
70 preset
Resources
TechNet & MSDN FlashSubscribe to our fortnightly newsletter
http://aka.ms/technetnz http://aka.ms/msdnnz
TechNet Virtual LabsFree Virtual Hands-on Labs
http://aka.ms/ch9nz
Microsoft Virtual AcademyFree Online Learning
http://aka.ms/mva http://aka.ms/technetlabs
Sessions on Demand
Complete your session evaluation now and win!
© 2014 Microsoft Corporation. All rights reserved.Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.