building the iot platform as a service

70
Powering the Industrial Enterprise: The Emerge of the IOT PaaS

Upload: jesus-rodriguez

Post on 28-Jul-2015

524 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Building the IOT Platform as a Service

Powering the Industrial Enterprise: The Emerge of the IOT

PaaS

Page 2: Building the IOT Platform as a Service

Better Title: The NO BS Guide to IOT in the Real World

Page 3: Building the IOT Platform as a Service

About Me

• Hackerpreneur• Founder of KidoZen• Founder of Tellago • Board member: Mobiquity,Electric Cloud• Advisor: Microsoft, Oracle• Angel Investor• Speaker, Author

http://jrodthoughts.comhttps://twitter.com/jrdothoughts

Page 4: Building the IOT Platform as a Service

Agenda

• A quick look at the IOT market• A platform as a service for IOT• Centralized IOT capabilities• Decentralized IOT capabilities• Foundational models of an IOT PaaS:

Cloudfoundry, Block Chain• The current IOT solution landscape

Page 5: Building the IOT Platform as a Service

Key Takeaways

• IOT PaaS models• How to implement IOT PaaS capabilities• State of the IOT platform market

Page 6: Building the IOT Platform as a Service

IoT is destined to power the modern enterprise

Page 7: Building the IOT Platform as a Service

We all know the real value of IOT

Page 8: Building the IOT Platform as a Service

We Need Smarter Toasters

Page 9: Building the IOT Platform as a Service

The Market?

Page 10: Building the IOT Platform as a Service

Gartner calls IOT overhyped technology

Page 11: Building the IOT Platform as a Service

Growth in venture funding has sustained in IoT over the last four years

Page 12: Building the IOT Platform as a Service

~70% of IoT funding rounds from 2011-2013 were related to wearable technology

Page 13: Building the IOT Platform as a Service

IoT company exits have grown ~36% YoY since 2010

Page 14: Building the IOT Platform as a Service

Notable exits

$200M

$100M

$2B

$3.2B

$555M $175M

$170M $112M

$107M

~$500M IPO

$780M

Page 15: Building the IOT Platform as a Service

Most of the Innovations has taken place in the wearables market but the enterprise is quickly catching up…..

Page 16: Building the IOT Platform as a Service

Redefining Industries

Page 17: Building the IOT Platform as a Service

The Opportunity is Huge… but so are the Challenges

Page 18: Building the IOT Platform as a Service

Enterprise IoT Challenges

Connectivity

Page 19: Building the IOT Platform as a Service
Page 20: Building the IOT Platform as a Service

You Can Build Your Own Infrastructure

Page 21: Building the IOT Platform as a Service

But It Will be Hard

Page 22: Building the IOT Platform as a Service

There Must be a Better Way

Page 23: Building the IOT Platform as a Service

IOT requires a new type of platform….

Page 24: Building the IOT Platform as a Service

Introducing IOT Platform as a Service

Page 25: Building the IOT Platform as a Service

Key Capabilities of an IOT Platform

Page 26: Building the IOT Platform as a Service

Centralized vs. Decentralized IOT PaaS Models

Page 27: Building the IOT Platform as a Service

Centralized IOT PaaS Model

• Smart devices talk to a central hub• The hub provides backend capabilities to smart devices• The hub manages and controls the IOT topology

Page 28: Building the IOT Platform as a Service

Decentralized IOT Capabilities

• Capabilities that operate without a central authority• Smart devices host a version of the IOT PaaS• Smart devices communicate autonomously without a central

authority

Page 29: Building the IOT Platform as a Service

Let’s explore….

Page 30: Building the IOT Platform as a Service

Centralized IOT PaaS Capabilities…

Page 31: Building the IOT Platform as a Service

Device Management Service

• Managing smart devices in an IOT topology

• Device monitoring• Device security • Device ping

Page 32: Building the IOT Platform as a Service

Device Management Service: How To Implement it?

• Consul.io• XMPP discovery extensions • IBM IOT Foundation device

management API

REQUEST

POST org_id.internetofthings.ibmcloud.com/api/v0001/devices

{"type": "raspberrypi-sample",

"id": "1958138a4dfe",

"metadata": {

"address": { "number": 29, "street": "Acacia Road" } }}

RESPONSE

{"uuid": "d:ey67sp:raspberrypi-sample:1958138a4dfe",

"type": "raspberrypi-sample",

"id": "1958138a4dfe",

"metadata": { "address": {"number": 29, "street": "Acacia Road" }},

"password": "A?j8y_ueh*d(je34", "registration": {

"auth": {"id": "[email protected]",

"type": "person"

},

"date": "2014-08-21T18:25:43-05:00"}}

Page 33: Building the IOT Platform as a Service

Protocol Hub

• Enabling devices to interact with the IOT platform using heterogenous protocols

• Provide consistent data/message exchange experiences across different devices

• Unify management, discovery and monitoring interfaces across different devices

Page 34: Building the IOT Platform as a Service

Protocol Hub: How To Implement it?

• IOTivity protocol plugin model• IOTLab protocol manager• Apigee Zetta

PluginManager *m_pm = new PluginManager();std::vector<Plugin> plugins = m_pm->getPlugins();std::string name = plugins[0].getName();std::string id = plugins[0].getId();

<?xml version="1.0" encoding="UTF-8"?> <plugin id="oic.plugin.hue" version="0.1" name="hue plugin" resourcetype="oic.light" provider-name="wallace"> <runtime library="libplugin-hue-light" funcs="hue_light"/> </plugin>

Page 35: Building the IOT Platform as a Service

Device Discovery

• Registering devices in an IOT topology

• Dynamically discovering smart devices in IOT network

Page 36: Building the IOT Platform as a Service

Device Discovery: How To Implement it?

• UDP datagrams• Constrained application

protocol (CoAp)• IOTivity discovery APIs

platform.findResources("", "<span class="s1">coap://224.0.1.187</span>/oc/core?rt=alpha.light", findHandler)

Page 37: Building the IOT Platform as a Service

Event Aggregation

• Execute queries over data streams• Compose event queries • Distribute query results to event

consumers

Page 38: Building the IOT Platform as a Service

Event Aggregation: How To Implement it? • Apache Storm• AWS Kinesis • Azure Event Hubs• + Stream Analytics • Siddhi (WSO2)

KinesisSpoutConfig(streamName, zookeeperEndpoint). withZookeeperPrefix(zookeeperPrefix).withInitialPositionInStream(initialPositionInStream).withRegion(Regions.fromName(regionName));

builder.setSpout("Kinesis", spout, 2);builder.setBolt("Parse", new ParseReferrerBolt(),6).shuffleGrouping("Kinesis"); builder.setBolt("Count", new RollingCountBolt(5, 2,elasticCacheRedisEndpoint), 6).fieldsGrouping("Parse", new Fields("referrer"));..StormSubmitter.submitTopology(topologyName, topoConf, builder.createTopology());

Page 39: Building the IOT Platform as a Service

Telemetry Data Storage

• Store data streams from smart devices in an IOT topology

• Store the output of the event aggregator service

• Optimize access to the data based on time stamps

• Offline data storage• Offline data syncing

Page 40: Building the IOT Platform as a Service

Telemetry Data Storage: How To Implement it?

• Time Series: OpenTSDB, KairosDB, InfluxDB

• Offline: Couchbase + Couchbase lite

• IBM Bluemix Time Series API• InfluxDB

select percentile(value, 95) from response_times group by time(5m) into response_times.percentiles.5m.95

select mean(value), percentile(90, value) as percentile_90, percentile(99, value) as percentile_99 from /^stats.*/ group by time(10m) into 10m.:series_name

Page 41: Building the IOT Platform as a Service

Event Simulation

• Replay streams of data in an IOT topology

• Store data streams that simulate real world conditions

• Detect and troubleshoot error conditions associated with specific data streams

Page 42: Building the IOT Platform as a Service

Event Simulation: How To Implement it?

• Azure Event Hubs• AWS Kinesis• Apache Storm • PubNub

// retrieve last 100 messages pubnub.history({channel : 'my_channel',count : 100,callback : function(m){console.log(m)}});

Page 43: Building the IOT Platform as a Service

Event Notifications

• Distribute events from a source to different devices in an IOT topology

• Devices can subscribe to data notification on specific topics

Page 44: Building the IOT Platform as a Service

Event Notifications: How To Implement it?

• PubNub for IOT• Parse Notifications for IOT• MQTT

public class SubscribeCallback implements MqttCallback{ @Override public void connectionLost(Throwable cause) {} @Override public void messageArrived(MqttTopic topic, MqttMessage message) { System.out.println("Message arrived. Topic: " + topic.getName() + " Message: " + message.toString()); if ("home/LWT".equals(topic.getName())) { System.err.println("Sensor gone!"); } } @Override public void deliveryComplete(MqttDeliveryToken token) {} }

Page 45: Building the IOT Platform as a Service

Real Time Data Visualizations

• Visualize IOT data streams real time

• Provide map visualizations in an IOT topology

• Integrate with big data platforms

• Integrate with machine and deep learning platforms

Page 46: Building the IOT Platform as a Service

Real Time Data Visualizations: How To Implement it? • MetricsGraphicsJS• Graphite• Graphene• Cube• Plottly• D3JS

d3.json('data/ufo-sightings.json', function(data) { MG.data_graphic({ title: "UFO Sightings", description: "Yearly UFO sightings from the year 1945 to 2010.", data: data, width: 650, height: 150, target: '#ufo-sightings', x_accessor: 'year', y_accessor: 'sightings', markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}] })})

Page 47: Building the IOT Platform as a Service

Other Interesting Centralized IOT Capabilities• Device authentication• Access control • Integration with enterprise systems

Page 48: Building the IOT Platform as a Service

Adopting Centralized IOT PaaS Capabilities

• Standard services, different implementations • Hosting environment agnostic • Incorporating third party services• Centralized management and governance

Page 49: Building the IOT Platform as a Service

Cloudfoundry: A Foundational Model for a Centralized IOT PaaS

• Open PaaS architecture• Standard set of services• Broker model to incorporate

new services • CF web and infrastructure

services • CF mobile services (Pivotal CF

mobile)• CF IOT services??????????????

Page 50: Building the IOT Platform as a Service

Decentralized IOT PaaS Capabilities…

Page 51: Building the IOT Platform as a Service

Peer to Peer Secure Messaging

• Exchanging messages between smart devices in an IOT topology

• Eliminate the need of a central hub

• Secure, fully encrypted messaging protocol

Page 52: Building the IOT Platform as a Service

Peer to Peer Secure Messaging: How To Implement it?

• Telehash var th = require("telehash");th.generate(function(err, endpoint){ if(err) return console.log("endpoint generation failed",err); // endpoint contains a `keys:{}`, `secrets:{}`, and `hashname:"..."` });…...var link = mesh.link(hashname);// will be called when link status changes, err is undefined when link is uplink.status(function(err){ if(err) { console.log('disconnected',err); return; } console.log('connected'); // can do any other link.* methods});

Page 53: Building the IOT Platform as a Service

Contract Enforcement & Messaging Trust

• Express capabilities of a device• Enforce actions between

devices• Maintain a trusted ledger of

actions in an IOT network

Page 54: Building the IOT Platform as a Service

Contract Enforcement: How To Implement it?

• Bitcoin Block Chain• Ethereum

Page 55: Building the IOT Platform as a Service

File Sharing

• Efficiently sending files to smart devices (ex: firmware update)

• Exchange files in a decentralized model

• Secure and trusted file exchanges

Page 56: Building the IOT Platform as a Service

File Sharng: How To Implement it?

• Bittorrent

Page 57: Building the IOT Platform as a Service

Other Interesting Decentralized IOT Capabilities• Historical analytics • Device cooperation

Page 58: Building the IOT Platform as a Service

Adopting Decentralized IOT PaaS Capabilities

• Smart devices will host an embedded version of the IOT PaaS• Interactions between devices need to be trusted without a

central authority • Standard way for devices to express capabilities

Page 59: Building the IOT Platform as a Service

Block Chain: A Foundational Model for a Decentralized IOT PaaS

• Decentralized consensus • Trusted computing • Proof of work

Page 60: Building the IOT Platform as a Service

The IOT Platform Market Is Incredibly Crowded…

Page 61: Building the IOT Platform as a Service

Main Groups

IOT Platforms

Traditional Enterprise Software Vendors

Platform as a Service Solutions

API and Integration Platforms

Telecommunication Operators

Hardware & Networking Vendors

IOT Platform Startups

Page 62: Building the IOT Platform as a Service

Enterprise Software Vendors

Vendors

• Oracle IOT Platform • IBM IOT Foundation• Citrix

Key Characteristics

• Closed source• On-premise • Proprietary technology• Hard to manage and deploy

Key Scenarios

• Vertical IOT solutions built on the platform• Integration with enterprise systems

Page 63: Building the IOT Platform as a Service

Platforms as a Service

Vendors

• Azure Stream Analytics + Event Hubs• AWS Kinesis

Key Characteristics

• Cloud based• Standalone services for specific IOT capabilities • Easy to use and manage

Key Scenarios

• IOT products or solutions that require a specific service or capability

Page 64: Building the IOT Platform as a Service

API and Integration Platforms

Vendors

• Apigee IOT Link (Zetta)• MuleSoft Anypoint• Parse IOT

Key Characteristics

• Integrating APIs with IOT telemetry data• Missing key elements of an IOT platform• Relatively simple to use and setup

Key Scenarios

• Integrating IOT solutions with backend APIs• Suppporting heterogeneous IOT transports and protocols

Integration PlatformsIntegration Platforms

Page 65: Building the IOT Platform as a Service

Telecommunication Operators

Vendors

• Huawei Agile IOT Platform• <Insert your favorite telco name here…> IOT Platform

Key Characteristics

• Deep integration with operator network• Optimized for devices and solutions provided by the network operator • Complex to use, lack of mainstream adoption

Key Scenarios

• Industry solutions built on the platform• Network traffic optimization

Page 66: Building the IOT Platform as a Service

Hardware and Networking Solutions

Vendors

• Cisco IOT solution suite• F5 IOT networking solutions

Key Characteristics

• Focus on networking and security• Integration with specific network hardware topology

Key Scenarios

• Enable an efficient network topology for IOT solutions

Page 67: Building the IOT Platform as a Service

Mobile OS Vendors

Vendors

• Android Brillio • Blackberry IOT platform

Key Characteristics

• Tight integration with a specific mobile OS• Simple developer experience• Optimized for wearable’s

Key Scenarios

• Developing solutions for wearables• Interoperability between mobile apps and smart devices

Page 68: Building the IOT Platform as a Service

IOT Platform Startups

Vendors

• LogmeIn Xively• ThingWorx • 2lemetry (AWS)

Key Characteristics

• Focus on enabling backend capabilities to IOT apps• Simple developer experience • Cross IOT platform capabilities

Key Scenarios

• Highly customizable IOT solutions• Advanced green field capabilities

Page 69: Building the IOT Platform as a Service

Summary

• Industrial IOT will require a new type of platform• IOT PaaS models will be the foundation to the industrial enterprise• IOT PaaS models can be centralized or decentralized• Cloudfoundry architectures can be a great enabler of centralized IOT

capabilities• The block chain provides an incredible foundation for decetrnalized

IOT• The IOT PaaS is evolving on different segments of the market

Page 70: Building the IOT Platform as a Service

THANKSJesus Rodriguez

https://twitter.com/jrdothoughts http://jrodthoughts.com/