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.
4. 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
8. 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
11. ISS Agent/
Gateway
Device Application
Data Provider
Azure Service Bus
Agent
ISS Ingress
Service
ISS Front
Door Service
Device
Notifications
Command
and Control
Content
Distribution
Intelligent Systems Service API
ISSIS DS eDveicveic De aDtaat Pa rPorcoecsessinsgin gP ipPieplienleine
ISSIS DS eDveicveic De aDtaat Pa rPorcoecsessinsgin gP ipPieplienleine
CEP Engine
Rulese
t
Rulese
t
Ruleset
Rulese
t
Rule
Rule Action #1
Rule Action #2
Rule Action #N
Rule
Rule Action #1
Rule Action #2
Rule Action #N
RRuulele Rule
Azure Table
Storage
Azure SQL
Database
Azure Blob
Storage
Device Repository
Management Meta
Data
ISS Egress Service
Azure HDInsight
ISS Data
Integration
Services
Azure Service Bus
3. Compute 5. Visualization
4. Storage
1. Device 2. Messaging
12. Device Application
Data Provider
Azure Service Bus Agent
Edge devices like sensors,
or more robust devices
generate data, status,
events and more.
1 Sensors 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
13. Intelligent Systems Service API
ISS Ingress
Service
ISS Front
Door Service
Device
Notifications
Command
and Control
Content
Distribution
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
14. Intelligent Systems Service API
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
ISS Device Data Processing Pipeline
CEP Engine
RRuulelesseett Ruleset
Rule
Rule Action #1
Rule Action #2
Rule Action #N
Rule
Rule Action #1
Rule Action #2
Rule Action #N
ISS Data
Integration
Services
Ruleset
RRuulele Rule
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
15. Azure Table
Storage
Azure SQL
Database
There are several
locations data can be
destined for once
processed.
Azure Blob Storage
10
17. 3. Gateway connected
TCP/IP Enabled
Device
ISS Agent on
Gateway
ISS Agent on
Gateway
Custom Protocol
Device
(e.g. Zwave, Zigbee)
4. Gateway connected with custom
1. Directly Connected
Standalone
Device
Intelligent
System
Service
Rest Call to ISS
ISS Agent
Software
TCP/IP Enabled
Device
2. Directly connected with Agent Protocol
18. Capabilities
Over 30%
revenue growth
year over year.
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.
19. 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 OSes
Available as Open Source code under Apache 2.0
license
20. Structure Data
Define device properties
Independent power source
Implement alarms /
events / actions
Configure device with
endpoint and key values
Retrieve device data
Analyze device data
Manage and respond to
alarms
Send commands to
devices
Register Device
Create account
Set expectation
Not very code heavy, but will dig into C / C# code
Want to know architecture
Who are you? Developer who wants to know more about IoT, who has some experiences
Solution architect
Talk to me later for info
What’s up with the hype.
Explain Terminology
Explain the evolution from Internet of People into Internet of Things.
What’s up with the hype.
Explain Terminology
Explain the evolution from Internet of People into Internet of Things.
What’s up with the hype.
Explain Terminology
Explain the evolution from Internet of People into Internet of Things.
Set expectation
Not very code heavy, but will dig into C / C# code
Highlight “Agent” vs application
IoT specific
There are 4 primary topologies, or network configurations, that devices can use to connect to the intelligent system service.
Directly Connect – devices that are too small or that do not wish to run the agent, but that are connected via TCP/IP to the internet can use the ISS’s REST API to connect and to send data to the ISS.
Connect via an Agent – devices that are Internet connected and running an ISS agent,
Capture data from any connectible endpoint.
The solution works with any connectable endpoint, whether a sensor, intelligent hand-held device, kiosk, etc. There are solution agents for a variety of device form factors, operating systems, and intelligence levels, and data can be captured using a variety of protocols. You can connect directly to the solution by installing agents on your devices, or you can connect to the solution through a gateway. Sensors and other minimal-intelligence endpoints that cannot connect directly to the Internet themselves can be connected to a gateway device. An agent on that gateway then aggregates the input from those devices and connects to the solution. <click>
Securely ingress data to the Microsoft Azure cloud.
One of the key functions of the solution is around data flow – ingressing data through a secure Azure service bus to the Azure cloud, processing and storing it, and normalizing it for use with analytics tools, line of business applications or other systems. <click>
Process data through a complex event processing engine.
Data lands in Azure tables and can also be stored in BLOB format or via the Azure SQL Database service. As the data streams in, the complex event processing engine applies business rules, and based on the data feed, triggers the appropriate alarms, alerts, notifications and other types of actions that you predefine.
Egress data via OData interfaces.
The data is then ready for you to utilize in whatever way you choose. With Azure HDInsight, seamlessly access and analyze data to develop actionable insights. Similarly, you can connect directly to Power BI. Or, using the Intelligent Systems Service SDK, you can connect to any other analytics tool, LoB application or system that supports OData interfaces.
Another key aspect of the solution is device management and command and control capabilities. <click>
Manage devices and solution set-up from the Intelligent Systems Service portal.
The Intelligent Systems Service Operator Portal is where you define the business rules, alerts, alarms and actions the complex event processing engine applies. Other capabilities include an administrative dashboard, device registry and device grouping capabilities. Through the SDK, you and your partners can build portals to tailor device and service management to your specific needs.
Now let’s look at how content and commands feed back to your devices, creating an intelligent system. <click>
Deliver content and commands and apply updates to your connected endpoints.
Through the service portal, you can directly apply updates, deliver content, and send commands back to connected devices. <click> The complex event processing engine can also sends commands and content directly. <click>
These device actions occur via solution agent capabilities. Agents accept the content and commands and can selectively transmit data back to the service – for example, batching data transmission to optimize bandwidth usage. That brings us back to where we started: data ingress.
Keep in mind, all of this is secure end-to-end. As a Microsoft Azure service, Intelligent Systems Service offers enterprise-grade security.
T: Intelligent Systems Service is built to offer everything you need to capture the value of the Internet of Things.