+ All Categories
Home > Documents > Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device...

Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device...

Date post: 23-Mar-2018
Category:
Upload: dolien
View: 219 times
Download: 2 times
Share this document with a friend
26
EclipseCon Europe 2017 Dejan Bosanac, Red Hat Kai Hudalla, Bosch Software Innovations GmbH Scaling out Eclipse Hono
Transcript
Page 1: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

EclipseCon Europe 2017

Dejan Bosanac, Red HatKai Hudalla, Bosch Software Innovations GmbH

Scaling out Eclipse Hono

Page 2: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Who we are

Dejan Bosanac

Chief Software Architect @ Bosch SI

● IoT Hub Team

Lead/Committer @ Eclipse

● Hono● Californium● Leshan

Kai Hudalla

Senior Software Engineer @ Red Hat

● Messaging and IoT

Open source committer

● Eclipse Hono● Eclipse Kapua● Apache ActiveMQ

Page 3: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Eclipse Hono provides a uniform APIfor interacting with millions of devices connected to the cloud viaarbitrary protocols.

Page 4: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Things CloudCommand & Control

Telemetry

optimized for throughputscale-out with #messages

optimized for reliabilityscale-out with #devices

many existing protocolsHTTP, MQTT, CoAP

etc

arbitrary providers &deployment options

Page 5: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Building Blocks

API Endpoints &SecurityProtocol Adapters

Business Applications

Devices

AMQP 1.0

Hono

AMQP messaging network

end to end flow control

AMQP 1.0

AMQP 1.0

HTTPMQTTetc.

Page 6: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Monolithic Design≤ 0.5-M6

Hono Server

MQTT Adapter

Telemetry

Event

Telemetry

Event

MQTTDevices

BusinessApplications

ActiveMQ Artemis Broker

Telemetry Event

Messaging Qpid Dispatch Router

Authentication

DeviceRegistration

Page 7: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Micro-Service Design≥ 0.5-M7

AuthServer

Authentication

MQTT Adapter

Device Registration

Telemetry

Event

Telemetry

Event

Credentials

MQTTDevices

BusinessApplications

ActiveMQ Artemis Broker

Telemetry Event

Authentication

Hono Messaging

Qpid Dispatch Router

DeviceRegistry

Provided by 3rd Party/Demo Implementation

Page 8: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Registration Assertion

MQTT Adapter Hono Messaging

DeviceRegistry

1. publish telemetry

2. assert (tenant-id, device-id)

6. forward message

5. create message (incl. token) 7. validate token

8. forward message

Device

4. Json Web Token

3. check if device is registered and enabled

<<public key>>

Page 9: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Features Hono 0.5

● Uniform APIs for consuming telemetry data and events

● MQTT, HTTP protocol adapters

● Device-level Authentication

● Tenant based Security Model

● Horizontal Scalability

Page 10: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

AMQP 1.0

10

Simple deployment

Protocol AdaptersAMQP 1.0

AMQP 1.0

HTTP, MQTT

Qpid Dispatch Router

ActiveMQ Artemis Broker

AMQP 1.0

BusinessApplicationsDevices API Endpoints &

Security

Page 11: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

11

Routing vs Brokering

Broker

Producer Broker Consumer

Send message

Accepted

Send message

Accepted

Page 12: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

12

Routing vs Brokering

Router

Producer Router Consumer

Send message

Accepted

Send message

Accepted

Page 13: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

13

● Store and Forward○ Queue ○ Topic

● Direct○ Anycast○ Multicast (Broadcast)

Addressing semantics

Page 14: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

AMQP 1.0

14

Scalable deployment

Protocol AdaptersAMQP 1.0

AMQP 1.0

HTTP, MQTT

● EnMasse … ○ a messaging-as-a-service platform○ elastic scaling○ multiple communication patterns○ more info : enmasse.io○ … and more and more …

BusinessApplicationsDevices API Endpoints &

Security

Page 15: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

15

Basic idea

R

R

R

P C

B

B

Page 16: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

16

● Open source cloud messaging running on Kubernetes and OpenShift

● enmasse.io

EnMasse

Messaging-as-a-Service

Page 17: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

17

● Multiple communication patterns: request/response, publish/subscribe and competing consumers

● Support for “store and forward” and direct messaging mechanisms

● Scale and elasticity of message brokers

● AMQP 1.0 and MQTT support

● Simple setup, management and monitoring● Multitenancy: manage multiple independent instances

● Deploy “on premise” or in the cloud

EnMasse

Features

Page 18: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

18

Page 19: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

19

● Queue ○ store-and-forward = true○ multicast = false

● Topic ○ store-and-forward = true○ multicast = true

● Anycast○ store-and-forward = false

○ multicast = false● Broadcast

○ store-and-forward = false○ multicast = true

Address types

Page 20: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

20

● Persistence

○ In memory

○ Persisted

● Scaling

○ Single broker

○ Pooled

● HA

Flavor examples

Page 21: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

21

Page 22: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

22

Page 23: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

23

● Authentication and authorization

● Service broker API

● HTTP(S)

● Broker address space○ Message grouping○ Distributed transactions○ Message ordering

● Multiple flavors○ Apache Kafka?

● ...

FutureIn progress/TODO

Page 24: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Resources

● Eclipse Hono - https://www.eclipse.org/hono

● EnMasse - http://enmasse.io

● ActiveMQ Artemis - https://activemq.apache.org/artemis/

● Qpid Dispatch Router - http://qpid.apache.org/components/dispatch-router/

Page 25: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Thank you ! Questions ?

Page 26: Scaling out Eclipse Hono - eclipsecon.org out Eclipse Hono. Who we are ... MQTT Adapter Device Registration Telemetry ... Apache Kafka? ... Future In progress/TODO.

Evaluate the SessionsSign in and vote at eclipsecon.org

- 1 + 10


Recommended