Upload
param-singh
View
509
Download
0
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
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.
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
Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.05/5/2016 30
Openness Attracts Developers
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
Open Solutions
New and Existing Devices
IoT Gateways Network/Wireless Services
Backend Systems
Open Standards and Open Source to Connect and Manage
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)
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
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
Open IoT Stack
New and Existing Devices
IoT Gateways Network/Wireless Services
Backend Systems
Open IoT Stack
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
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!
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