Emergent Open Source IoT Ecosystem
There is a vibrant open source ecosystem developing around all layers of the IoT software stack. These technologies, when woven together, have the potential of propelling the Internet of things forward exponentially. Open source provides a trusted space where device vendors and software companies can reliably share components essential to interconnect the currently splintered IoT ecosystem.
Come see what is happening and how you can leverage open source IoT software right now.
Ian Skerrett, VP of Marketing, Eclipse Foundation
Param Singh, CEO, iotracks; IoT Advisor, City of San Francisco
https://iotworldevent.com/iot-open-source-summit/
This work is licensed under a Creative Commons Attribution 4.0 International License.
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
1. The emergent Open Source ecosystem
for IoT
1
Param SinghIan Skerrett
VP, Eclipse Foundation CEO Iotracks
IoT advisor city of San Francisco
2. 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
3. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
Key Trends in IoT
3
4. 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
5. 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 protocols
Session Mgmt (MQTT et all)
Decision: Local Fog | Cloud | hybrid
Decision: Business model | process
Enterprise Business Systems | Processes
Presentation Layer- Exiting dashboard | new
Event (Data) Routing | Processing
Data Storage | Retrieval | Analytics
Device Management
Decision: Business Operations & Support
Transforming People’s Lives !
Need for interoperability across all tiers
6. 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 BusinessApps: 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
7. 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
8. 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 Docker
HadoopJavaJava
9. 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)
10. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
Exponential growth since docker went Open Source
10source: docker conference
11. 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 Web
Lelylan Thing Speak
Bug Labs
Open Remote
OpenHAB
Eclipse IoT ProjectsKaa
freeboard.io
Platforms Middleware Tools & development Consortium Protocols
ARM mbed
OIC + All SeenOSHWA
XMPP
CoAPMQTT
BipIO
OpenIoT
KinomaJS
Thingful
Hardware
BeagleBone Intel Galileo
Misc
Mozilla
ejbca PKIIntel's TAPApache (Ignite)
Raspbian VSCP
PicoLabs
Tessel.io
The Thing System
Industrial Internet Consortium (IIC)
Eclipse
OpenFog Consortium
12. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
Key sectors in IoT
IoT Device Cloud
Edge
12
Proprietary
Eclipse
Apache, iotracks
Forgerock | ARM mbed
Docker, 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
13. param singh
IoT market landscape - open vs closed systems
IoT Device Cloud
Open SourceProprietary
EdgeMicro-controller
Sensors, Boards
(electric Imp)
(Intel Edison)
(particle.io)
Micro-controller
Clouds
(Electric Imp Cloud)
(Particle.io Cloud)
AWS
Marketplace of reusable components
OpenHAB (a gap)
iotracks
ForgeRock
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 distros
Contiki R IoT
Kaa
This work is licensed under a Creative Commons Attribution 4.0 International License.
Cisco IoX
14. param singh
The true cost of silos…
14
the question is how to ensure this interoperability…
15. 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/
16. 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 stack
Presentation
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
17. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
17
18. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
18
19. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
What does Fog Layer | Edge Computing mean
19source: Cisco
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
orchestrating event streams on the edge…
26
source: Cisco
containers per device | streams
distributed mesh of edge processing servers or cloud
event orchestration
27. param singhThis work is licensed under a Creative Commons Attribution 4.0 International License.
open fog consortium
27
source: Cisco
28. 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 BusinessApps: 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
29. Creating the Open Source
Building Blocks for IoT
Ian Skerrett
Eclipse Foundation
30. Copyright (c) 2013, Eclipse Foundation, Inc. Made
available under the Eclipse Public License 1.0
5/5/2016 30
Openness Attracts Developers
32. Copyright (c) 2013, Eclipse Foundation, Inc. Made
available under the Eclipse Public License 1.0
5/5/2016 32
Developers Build Cool Stuff
33. Copyright (c) 2013, Eclipse Foundation, Inc. Made
available under the Eclipse Public License 1.0
5/5/2016 33
Open Hardware Is a Key Enabler
34. IoT Developer Survey 2016 - Copyright Eclipse Foundation
Usage of Open Hardware
7%
9%
32%
33%
19%
Yes, my company deploys IoT solution using a
Yes, I have experimented with open harware
Never used open hardware
5/5/2016 34
Have you ever used any open hardware platforms like Raspberry Pi,
Arduino, BeagleBone, etc.?
35. Copyright (c) 2013, Eclipse Foundation, Inc. Made
available under the Eclipse Public License 1.0
5/5/2016 35
Open Source Software
Will Be a Key Enabler
38. Copyright (c) 2013, Eclipse Foundation, Inc. Made
available under the Eclipse Public License 1.0
5/5/2016 38
Open source makes it
easier for developers
42. Open Solutions
New and Existing
Devices
IoT Gateways Network/Wireless
Services
Backend Systems
Open Standards and Open Source to Connect and Manage
43. Connect and Manage with Open Standards
New and Existing Devices
CoAP
LWM2M
Many Open Standards
52. 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
53. Java VM
OSGi Application Container
Device Abstraction
Gateway Basic Services
Network Configuration
Network Management Field
Protocols
Connectivity and Delivery
AdministrationGUI
Operation&Management
Linux
Hardware
App 1 App 2 App n. . . .
Applications
54. 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
55. Home Automation
• Flexible Framework
• Based on Java and OSGi
• Huge number of “bindings”:
KNX, Nest, Philips HUE, …
56.
57. 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.
58. 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
67. Copyright (c) 2014 Eclipse Foundation, licensed under the
EPL-1.0
Sandbox Servers
http://iot.eclipse.org/sandbox.html
67
68. Get Involved!
• Open (or fix!) bugs
• Request new features
• Write articles, tutorials
• Participate on the mailing lists
• Share your success stories
• Propose your project!
72. Event Bus
Persistence ServicesAutomation Logic
User Interfaces
Item Registry
Hue
Binding
Samsun
g
Binding
Bluetooth
Binding
Sonos
Binding
Hue
Bluetooth
Samsung
Sonos
...
73. 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
74. Hierarchical Architecture
Local control centers
Regional control centers
Global control center
Devices, like Dataloggers
PLCs, Beaglebone,
Raspberry PI, ...
75. 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
76. 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