76
The emergent Open Source ecosystem for IoT 1 Param Singh Ian Skerrett VP, Eclipse Foundation CEO Iotracks IoT advisor city of San Francisco

IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett

Embed Size (px)

Citation preview

The emergent Open Source ecosystem for IoT

1

Param SinghIan Skerrett VP, Eclipse Foundation CEO Iotracks

IoT advisor city of San Francisco

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Session Outline

• The Need for Interoperability • Growth of Open Source in IoT • IoT Market Landscape • A deeper Dive into open source with Eclipse

2

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Key Trends in IoT

3

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Interoperability is the Key

4source: Mckinsey - Unlocking the potential of IoT, June 2015

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License. 5

physically connect devices (analog / digital) source: entrepreneurshiptalk.wordpress.com

local | mesh protocolsSession Mgmt (MQTT et all)

Decision: Local Fog | Cloud | hybrid

Decision: Business model | process

Enterprise Business Systems | ProcessesPresentation Layer- Exiting dashboard | new

Event (Data) Routing | ProcessingData Storage | Retrieval | AnalyticsDevice Management

Decision: Business Operations & Support

Transforming People’s Lives !

Need for interoperability across all tiers

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Open Source is the Key to Interoperability

6

Software ISVs

Device Vendors

Enterprise

Software Developers

Solution Providers

Infrastructure | Cloud Network Operators Networking Equipment

Industrial Business Apps: Consumer

Embedded Developers

prevents vendor lock-in

trusted reusable components

seamless inter-connectivity via open protocols

Lowers barriers to entry

Lowers costs | Community Support

together delivering full- stack interoperability

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Open vs Open Source• Just opening up proprietary

platforms is not enough • SDKs • APIs

• We need access to • Source code• a trusted environment

to publish our interoperability components (preferably as microservices…)

7

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.Emergence of Open Source Projects in IoT 8

Open Source Wins

mobile infrastructure Internet of Thingsenterprise middleware

?Apache App Server Android DockerHadoopJavaJava

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Adoption of MQTT vs COAP

9source: pdf.fremantle.org (google searches for MQTT and COAP)

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Exponential growth since docker went Open Source

10source: docker conference

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Scores of Other Open Source initiatives

11

Device Hive

The Physical WebLelylan Thing Speak

Bug LabsOpen Remote

OpenHAB

Eclipse IoT ProjectsKaa

freeboard.io

Platforms Middleware Tools & development Consortium Protocols

ARM mbed

OIC + All Seen OSHWA

XMPPCoAPMQTT

BipIO

OpenIoT

KinomaJS

Thingful

Hardware

BeagleBone Intel Galileo

Misc

Mozilla

ejbca PKI Intel's TAPApache (Ignite)

Raspbian VSCP

PicoLabs

Tessel.io

The Thing System

Industrial Internet Consortium (IIC)

Eclipse

OpenFog Consortium

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Key sectors in IoT

IoT Device Cloud

Edge

12

Proprietary

EclipseApache, iotracks

Forgerock | ARM mbedDocker, Linux distros

current M2M | embedded intel edison electric imp

other sensors, micro controllers

Lively cloud electric imp cloud

M2M Clouds AWS, IBM, Microsoft, GE

Open Device Clouds(emerging)

Kafka, Spark, mongoDB Openstack

Open Source

param singh

IoT market landscape - open vs closed systems

IoT Device Cloud

Open SourceProprietary

Edge Micro-controllerSensors, Boards

(electric Imp) (Intel Edison) (particle.io)

Micro-controllerClouds

(Electric Imp Cloud) (Particle.io Cloud)

AWS

Marketplace of reusable components OpenHAB (a gap)

iotracksForgeRock

Apache ignite

Eclipse

PTC/ Axeda| Thingworks, Etherios, EuroTech

Windriver machine shop, GoFactory

IoT Device Clouds Xively

Parse for IoT PTC/Axeda

IBM BlueMix

GE Predix

Microsoft Azure

ARM mbed gateways

SAP Hana(Open Device Clouds) Still Emerging

Traditional M2M

Device Clouds

Docker

13

Kafka, Spark, mongoDB Openstack

open-ing

Linux distrosContiki R IoT

Kaa

This work is licensed under a Creative Commons Attribution 4.0 International License.

Cisco IoX

param singh

The true cost of silos…

14

the question is how to ensure this interoperability…

param singh

According to a new VisionMobile survey of 3,700 IoT developers, 91% of respondents use open source software in at least one area of their software stack. This is good news for IoT because only open source promises to reduce or eliminate the potential for lock-in imposed by proprietary “standards.”

15

extending this use to other layers of the stack…source: http://readwrite.com/2016/05/04/open-source-near-ubiquitous-iot-report-pl1/

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

open alternative to proprietary M2M and IOT systems

threading together projects across the tiers…16

Tiers of IoT stackPresentation

cloud | identity | systems

App logic and orchestration

components dev environments

IoT infrastructure gateways, networks protocols &

device connectors

device firmware, drivers, agents

Contiki

various client stacks

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License. 17

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License. 18

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

What does Fog Layer | Edge Computing mean

19source: Cisco

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

When to use Fog Computing

• Multiple locations: different wings in a hospital, multiple city blocks

• A large number of sensors: 10s, 100, 1000’s of sensors especially when they are of different types of sensors

• low latency: real-time performance is really important sub-millisecond roundtrip, on premise-only for security reasons)

• apply real-time analytics: versus post processing in Hadoop clusters

• Immediate notification: for mission critical system

• Offline or Sporadic Connectivity: on premise for security reasons (utilities), or collection points

20

param singh

IDC on Edge Gateway

21

“…promoting open data platforms to accelerate IoT developers onto the platform. Edge Gateways (running

containers) will play a critical role here”Vernon Turner, SVP IoT at IDC

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

migration from monolithic…

22

Monolithic Architecture & deployment process

API and Framework driven

Bundling of code into single executable that can be unit tested.

Complex server and deployment process - from individual workstations, integration, functional

testing, staging, to production

modern single page web and mobile apps with client and server side code and

programming interfaces

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

… to a modern architecture for IoT

23

microservices containers dev models, integration & management

API make it desirable to deploy services independently. leading to a focus on a system of loosely

coupled processes

containers (docker) use shared OS kernel (hw

isolation). Making, build, ship and run easy and

secure

code (different languages & dev environments) in

containers makes it possible to assemble IoT with greater

flexibility

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

A New approach to Fog | Edge Computing

• Open Source Containers and Micro-services at the edge compute layer layer not just in the cloud

• Key Benefits

• reuse of legacy code from edge technologies written in C and Java

• containers provide greater security vs running scripts on the edge

• reusable | open source components: use flexible microservices to apply- policies, code | scripts, machine learning (analytics) directly on the edge for real-time | low latency uses

24

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License. 25source: docker.com

Docker Nautilus - Security Scanning - released Today

• Binary Image Scan: detection of malicious code, stripping, renaming of your mages • Natively integrated: with Docker Hub (Official and Private repos) • Scans are container-aware: Does not require running an image, reduces the risk of undetected security problems.

• Notifications: notifies the user when new vulnerabilities are discovered

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

orchestrating event streams on the edge…

26source: Cisco

containers per device | streams

distributed mesh of edge processing servers or cloud

event orchestration

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

open fog consortium

27source: Cisco

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Open Source is the Key to Interoperability

28

Software ISVs

Device Vendors

Enterprise

Software Developers

Solution Providers

Infrastructure | Cloud Network Operators Networking Equipment

Industrial Business Apps: Consumer

Embedded Developers

prevents vendor lock-in

trusted reusable components

seamless inter-connectivity via open protocols

Lowers barriers to entry

Lowers costs | Community Support

together delivering full- stack interoperability

Creating the Open Source Building Blocks for IoT

Ian Skerrett Eclipse Foundation

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 30

Openness Attracts Developers

IoT Developer Enablement

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 32

Developers Build Cool Stuff

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 33

Open Hardware Is a Key Enabler

IoT Developer Survey 2016 - Copyright Eclipse Foundation

Usage of Open Hardware

7%9%

32%33%

19%Yes, my company deploys IoT solution using an open hardware platformYes, I have experimented with open harware in my spare timeNever used open hardware

5/5/2016 34

Have you ever used any open hardware platforms like Raspberry Pi, Arduino, BeagleBone, etc.?

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 35

Open Source Software Will Be a Key Enabler

5/5/2016 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 36

Innovation

Open Source enables:

• Permissionless innovation

• Innovation through integration

• Far higher levels of experimentation

Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 38

Open source makes it easier for developers

Connect and Manage Devices

Vorto

OS at Eclipse IoT

IoT Architectures

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open Solutions

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open Standards and Open Source to Connect and Manage

Connect and Manage with Open Standards

New and Existing Devices

CoAP

LWM2M

Many Open Standards

MQTT

- Simple Publish/Subscribe protocol

- Small footprint - Minimal on-the-wire

formal and payload

MQTT Client (Java, JS, C, C++, Python, etc.)

MQTT Client MQTT Broker

Mosquitto MQTT Broker

(C Code)

MQTT Adoption

IoT Developer Survey 2016 - Copyright Eclipse Foundation

Messaging Standards

HTTP

MQTT

CoAP

HTTP/2

In-house / proprietary

AMQP

XMPP

I don’t know

Proprietary vendor protocol

Other

DDS

None 2.3%

3.5%

5.3%

6.2%

7.4%

13.2%

13.9%

15.5%

19.2%

21.2%

52.4%

61.2%

5/5/2016 46

What messaging protocol(s) do you use for your IoT solution?

Constrained Application Protocol (CoAP)

• RESTful protocol designed from scratch

• Transparent mapping to HTTP

• Works over UDP • DTLS Security

Californium - CoAP Core - DTLS - CoAP Tools - Java implementations

REST Interface

Lightweight M2M

- Standard for device management

- Based on CoAP

Wakaama

LWM2M Adoption

IoT Gateway Services

IoT Gateways

Java and OSGi

Gateways

IoT Gateways

• Gateway management • How to manage remote gateways and keep them up to date • How to manage connectivity

• Manage deployed applications • Gateways become an application container • Remote configuration • Remote update

Java VM

OSGi Application Container

Device Abstraction

Gateway Basic Services

Network ConfigurationNetwork Management Field

Protocols

Connectivity and Delivery

Adm

inis

trat

ion

GU

I

Ope

ratio

n &

Man

agem

ent

Linux

Hardware

App 1 App 2 App n. . . .

Applications

Where we are heading: Open IoT Stack

Connectivity - MQTT - CoAP - LWM2M

IoT Gateway Services - Remote management - Application

management

IoT Applications

IoT Solution Frameworks - Home Automation - SCADA - OM2M

Reporting

Developer Tools

Open & Commercial Hardware

Security - DTLS - DNS-SD - DNS-SEC

Home Automation

• Flexible Framework • Based on Java and OSGi

• Huge number of “bindings”:KNX, Nest, Philips HUE, …

Solutions

• Telco Service Providers • Implementation of oneM2M: OM2M

• Industrial IoT: • Eclipse neoSCADA

• Support Siemens S7 PLC, IEC 60870-4-105 • 4DIAC - IEC 61499 • Rise V2G - IEC 15118 • Milo - OPC-UA

• IoT network management: Krikkit • Rules engine for IoT devices • Powering Cisco’s Data in Motion.

Eclipse IoT is also...IoT Server Platform

• Software provisioning • https://projects.eclipse.org/projects/iot.hawkbit

• Uniform service interface for Telemetry and Command & Uniform service interface for Telemetry and Command & Control

ntrol • https://projects.eclipse.org/projects/iot.hono

Vorto: IoT device modeling tools

Open IoT Stack

New and Existing Devices

IoT Gateways Network/Wireless Services

Backend Systems

Open IoT Stack

Eclipse IoT Community

Eclipse IoT today

2 21 150+MLOC projects developers

Commercial Ecosystem

Open IoT Stack for Java

80 teams $20K+ in prizes

http://iot.eclipse.org/open-iot-challenge

Virtual IoT Meetup

Bi-weekly webinars with IoT experts900+ members

http://www.meetup.com/Virtual-IoT

More Info: iot.eclipse.org

Copyright (c) 2014 Eclipse Foundation, licensed under the EPL-1.0

Sandbox Servers http://iot.eclipse.org/sandbox.html

67

Get Involved!

• Open (or fix!) bugs • Request new features • Write articles, tutorials • Participate on the mailing lists • Share your success stories • Propose your project!

Questions

@ianskerrett [email protected]

IoT Solutions – Home Automation

Intranet of Things for Home Automation

Event Bus

Persistence ServicesAutomation Logic

User InterfacesItem Registry

Hue Binding

Samsung Binding

Bluetooth Binding

Sonos Binding

Hue

Blue

tooth

Sams

ung

Sono

s

...

IoT Solutions: SCADA

• SCADA (Supervisory Control and Data Acquisition) is defined as the monitoring and control of technical processes by means of a computer system

Hierarchical Architecture

Local control centers

Regional control centers

Global control center

Devices, like DataloggersPLCs, Beaglebone, Raspberry PI, ...

Protocols & Interoperability● Drivers − Modbus (master & slave) − Siemens S7 PLC − IEC 60870-4-105 (master &

slave) * − OPC DA 2 (client) † − OPC UA (client & server) ** − SNMP †, JDBC, Shell − Building blocks for more

Eclipse SCADA Client and server for Java Client for .NET using IKVM Partially: JSON, WebService

† SNMP and OPC from openSCADA* included in next release 0.2.0** planned for 0.3.0

param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.

Guide to Open Source Summit Sessions…

76

Wednesday May 11th 2016 Thursday May 12th 2016

1 11:20- 12:40

Keynote

Emergent IoT Open Source Ecosystem- Ian Skerrett, Eclipse Foundation- Param Singh, iotracks inc

IoT Presentation layer to IoT Client Technologies- Ari Jaakis- Peter Hoddie

2 1:40- 3:20 afternoon

IoT Interoperability- vertical integration across IoT layers- Kilton Hopkins, iotracks- Stein Myrseth, Forgerock

Cognitive Computing: the Triumph of Data over Algorithms- Gurvinder Ahluwalia, CTO IBM Cloud and Blockchain

3 4:10- 5:20 late afternoon

Apache Ignite, In-memory - Nikita Ivanov

IoT and the role of Open API’s - Patrice Slupowski, VP Digital Innovation, Orange