SlideShare a Scribd company logo
1 of 26
Download to read offline
EclipseCon Europe 2017
Dejan Bosanac, Red Hat
Kai Hudalla, Bosch Software Innovations GmbH
Scaling out Eclipse Hono
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
Eclipse Hono provides a
uniform API
for interacting with
millions of devices
connected to the cloud via
arbitrary protocols.
Things Cloud
Command & Control
Telemetry
optimized for throughput
scale-out with #messages
optimized for reliability
scale-out with #devices
many existing protocols
HTTP, MQTT, CoAP
etc
arbitrary providers &
deployment options
Building Blocks
API Endpoints &
Security
Protocol Adapters
Business
Applications
Devices
AMQP 1.0
Hono
AMQP messaging
network
end to end flow control
AMQP 1.0
AMQP 1.0
HTTP
MQTT
etc.
Monolithic Design
≤ 0.5-M6
Hono Server
MQTT Adapter
Telemetry
Event
Telemetry
Event
MQTT
Devices
Business
Applications
ActiveMQ Artemis
Broker
Telemetry Event
Messaging Qpid Dispatch
Router
Authentication
Device
Registration
Micro-Service Design
≥ 0.5-M7
Auth
Server
Authentication
MQTT Adapter
Device Registration
Telemetry
Event
Telemetry
Event
Credentials
MQTT
Devices
Business
Applications
ActiveMQ Artemis
Broker
Telemetry Event
Authentication
Hono
Messaging
Qpid Dispatch
Router
Device
Registry
Provided by 3rd Party/Demo Implementation
Registration Assertion
MQTT Adapter
Hono
Messaging
Device
Registry
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>>
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
AMQP 1.0
10
Simple deployment
Protocol Adapters
AMQP 1.0
AMQP 1.0
HTTP, MQTT
Qpid Dispatch
Router
ActiveMQ Artemis
Broker
AMQP 1.0
Business
Applications
Devices API Endpoints &
Security
11
Routing vs Brokering
Broker
Producer Broker Consumer
Send message
Accepted
Send message
Accepted
12
Routing vs Brokering
Router
Producer Router Consumer
Send message
Accepted
Send message
Accepted
13
● Store and Forward
○ Queue
○ Topic
● Direct
○ Anycast
○ Multicast (Broadcast)
Addressing semantics
AMQP 1.0
14
Scalable deployment
Protocol Adapters
AMQP 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 …
Business
ApplicationsDevices API Endpoints &
Security
15
Basic idea
R
R
R
P C
B
B
16
● Open source cloud messaging running on Kubernetes and OpenShift
● enmasse.io
EnMasse
Messaging-as-a-Service
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
18
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
20
● Persistence
○ In memory
○ Persisted
● Scaling
○ Single broker
○ Pooled
● HA
Flavor examples
21
22
23
● Authentication and authorization
● Service broker API
● HTTP(S)
● Broker address space
○ Message grouping
○ Distributed transactions
○ Message ordering
● Multiple flavors
○ 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/
Thank you ! Questions ?
Evaluate the Sessions
Sign in and vote at eclipsecon.org
- 1 + 10

More Related Content

What's hot

EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company DeckEMQ
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSRaül Pérez
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMichael Koster
 
Deploying JBoss A-MQ in a high availability (HA) environment
Deploying JBoss A-MQ in a high availability (HA) environmentDeploying JBoss A-MQ in a high availability (HA) environment
Deploying JBoss A-MQ in a high availability (HA) environmentScott Cranton
 
Introduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseIntroduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseEMQ
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownAspen Mesh
 
Introduction to MQTT
Introduction to MQTTIntroduction to MQTT
Introduction to MQTTEMQ
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTTMichael Dawson
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014Dominik Obermaier
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureAlexandra N. Martinez
 

What's hot (11)

EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company Deck
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATS
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object API
 
Deploying JBoss A-MQ in a high availability (HA) environment
Deploying JBoss A-MQ in a high availability (HA) environmentDeploying JBoss A-MQ in a high availability (HA) environment
Deploying JBoss A-MQ in a high availability (HA) environment
 
Introduction to EMQ X Enterprise
Introduction to EMQ X EnterpriseIntroduction to EMQ X Enterprise
Introduction to EMQ X Enterprise
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
 
Introduction to MQTT
Introduction to MQTTIntroduction to MQTT
Introduction to MQTT
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTT
 
NullMQ @ PDX
NullMQ @ PDXNullMQ @ PDX
NullMQ @ PDX
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
 

Similar to Scaling out eclipse hono

Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivityDevelopers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivitymCloud
 
Agile Integration Workshop
Agile Integration WorkshopAgile Integration Workshop
Agile Integration WorkshopJudy Breedlove
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaHiveMQ
 
Realtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightRealtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightfloridawusergroup
 
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2
 
Edge Computing: A Unified Infrastructure for all the Different Pieces
Edge Computing: A Unified Infrastructure for all the Different PiecesEdge Computing: A Unified Infrastructure for all the Different Pieces
Edge Computing: A Unified Infrastructure for all the Different PiecesCloudify Community
 
Automation + dev ops summit hail hydrate! from stream to lake
Automation + dev ops summit   hail hydrate! from stream to lakeAutomation + dev ops summit   hail hydrate! from stream to lake
Automation + dev ops summit hail hydrate! from stream to lakeTimothy Spann
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQMatt Leming
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice ArchitectureWSO2
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture Nadeesha Gamage
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2WSO2
 
CNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyCNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyHarish
 
Eclipse IoT for Industry 4.0
Eclipse IoT for Industry 4.0Eclipse IoT for Industry 4.0
Eclipse IoT for Industry 4.0Ian Skerrett
 
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Diasapidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Diasapidays
 
Building APIs in a Cloud Native Era
Building APIs in a Cloud Native EraBuilding APIs in a Cloud Native Era
Building APIs in a Cloud Native EraNuwan Dias
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0WSO2
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesByreddy Sravan Kumar Reddy
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageAnimesh Singh
 

Similar to Scaling out eclipse hono (20)

Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivityDevelopers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
Developers’ mDay 2019. - Dejan Bosanac, Red Hat – Cloud scale IoT connectivity
 
Agile Integration Workshop
Agile Integration WorkshopAgile Integration Workshop
Agile Integration Workshop
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & Kafka
 
Realtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightRealtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sight
 
Kong Workshop.pdf
Kong Workshop.pdfKong Workshop.pdf
Kong Workshop.pdf
 
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
WSO2 Product Release Webinar: WSO2 Enterprise Service Bus 5.0
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Edge Computing: A Unified Infrastructure for all the Different Pieces
Edge Computing: A Unified Infrastructure for all the Different PiecesEdge Computing: A Unified Infrastructure for all the Different Pieces
Edge Computing: A Unified Infrastructure for all the Different Pieces
 
Automation + dev ops summit hail hydrate! from stream to lake
Automation + dev ops summit   hail hydrate! from stream to lakeAutomation + dev ops summit   hail hydrate! from stream to lake
Automation + dev ops summit hail hydrate! from stream to lake
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQ
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice Architecture
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
 
CNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to EnvoyCNCF Singapore - Introduction to Envoy
CNCF Singapore - Introduction to Envoy
 
Eclipse IoT for Industry 4.0
Eclipse IoT for Industry 4.0Eclipse IoT for Industry 4.0
Eclipse IoT for Industry 4.0
 
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Diasapidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
 
Building APIs in a Cloud Native Era
Building APIs in a Cloud Native EraBuilding APIs in a Cloud Native Era
Building APIs in a Cloud Native Era
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
 

More from dejanb

How is this sausage made
How is this sausage madeHow is this sausage made
How is this sausage madedejanb
 
Building Open Source IoT Cloud
Building Open Source IoT CloudBuilding Open Source IoT Cloud
Building Open Source IoT Clouddejanb
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoTdejanb
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQdejanb
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollodejanb
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabricdejanb
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQdejanb
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actiondejanb
 

More from dejanb (8)

How is this sausage made
How is this sausage madeHow is this sausage made
How is this sausage made
 
Building Open Source IoT Cloud
Building Open Source IoT CloudBuilding Open Source IoT Cloud
Building Open Source IoT Cloud
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
 
Introduction to ActiveMQ Apollo
Introduction to ActiveMQ ApolloIntroduction to ActiveMQ Apollo
Introduction to ActiveMQ Apollo
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
 
Apache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in action
 

Recently uploaded

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Recently uploaded (20)

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

Scaling out eclipse hono

  • 1. EclipseCon Europe 2017 Dejan Bosanac, Red Hat Kai Hudalla, Bosch Software Innovations GmbH Scaling out Eclipse Hono
  • 2. 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
  • 3. Eclipse Hono provides a uniform API for interacting with millions of devices connected to the cloud via arbitrary protocols.
  • 4. Things Cloud Command & Control Telemetry optimized for throughput scale-out with #messages optimized for reliability scale-out with #devices many existing protocols HTTP, MQTT, CoAP etc arbitrary providers & deployment options
  • 5. Building Blocks API Endpoints & Security Protocol Adapters Business Applications Devices AMQP 1.0 Hono AMQP messaging network end to end flow control AMQP 1.0 AMQP 1.0 HTTP MQTT etc.
  • 6. Monolithic Design ≤ 0.5-M6 Hono Server MQTT Adapter Telemetry Event Telemetry Event MQTT Devices Business Applications ActiveMQ Artemis Broker Telemetry Event Messaging Qpid Dispatch Router Authentication Device Registration
  • 7. Micro-Service Design ≥ 0.5-M7 Auth Server Authentication MQTT Adapter Device Registration Telemetry Event Telemetry Event Credentials MQTT Devices Business Applications ActiveMQ Artemis Broker Telemetry Event Authentication Hono Messaging Qpid Dispatch Router Device Registry Provided by 3rd Party/Demo Implementation
  • 8. Registration Assertion MQTT Adapter Hono Messaging Device Registry 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>>
  • 9. 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
  • 10. AMQP 1.0 10 Simple deployment Protocol Adapters AMQP 1.0 AMQP 1.0 HTTP, MQTT Qpid Dispatch Router ActiveMQ Artemis Broker AMQP 1.0 Business Applications Devices API Endpoints & Security
  • 11. 11 Routing vs Brokering Broker Producer Broker Consumer Send message Accepted Send message Accepted
  • 12. 12 Routing vs Brokering Router Producer Router Consumer Send message Accepted Send message Accepted
  • 13. 13 ● Store and Forward ○ Queue ○ Topic ● Direct ○ Anycast ○ Multicast (Broadcast) Addressing semantics
  • 14. AMQP 1.0 14 Scalable deployment Protocol Adapters AMQP 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 … Business ApplicationsDevices API Endpoints & Security
  • 16. 16 ● Open source cloud messaging running on Kubernetes and OpenShift ● enmasse.io EnMasse Messaging-as-a-Service
  • 17. 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
  • 18. 18
  • 19. 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
  • 20. 20 ● Persistence ○ In memory ○ Persisted ● Scaling ○ Single broker ○ Pooled ● HA Flavor examples
  • 21. 21
  • 22. 22
  • 23. 23 ● Authentication and authorization ● Service broker API ● HTTP(S) ● Broker address space ○ Message grouping ○ Distributed transactions ○ Message ordering ● Multiple flavors ○ Apache Kafka? ● ... Future In progress/TODO
  • 24. 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/
  • 25. Thank you ! Questions ?
  • 26. Evaluate the Sessions Sign in and vote at eclipsecon.org - 1 + 10