Service Blueprint and Deployment for an IoT Cloud Integration Platform
Ludwigsburg – October 24th 2017 Stefano Morson – Senior Software Manager at Eurotech Jens Reimann – Senior Software Engineer at Red Hat
Service Blueprint and Deployment for an IoT Cloud Integration - - PowerPoint PPT Presentation
Service Blueprint and Deployment for an IoT Cloud Integration Platform Ludwigsburg October 24th 2017 Stefano Morson Senior Software Manager at Eurotech Jens Reimann Senior Software Engineer at Red Hat Eclipse Kapua Agenda
Ludwigsburg – October 24th 2017 Stefano Morson – Senior Software Manager at Eurotech Jens Reimann – Senior Software Engineer at Red Hat
End-to-End IoT Solutions
Comprehensive Management of Edge Devices
Routing for Real Time Data Processing and Storage @
Application Integration Security Device Management Data Management Device Connectivity
@
Message Routing Administration
Data Registry
Device Registry
MQTT CoAP Data Store AMQP Account Management Access Control REST API Device Mgmt Console Device Management Protocols Kura, LWM2M Device Configuration Device Package Update
Account User Device Registry Device Management Authentication & Authorization Datastore Device Jobs Scheduler
Device Registry
Device Registry Service Device Connection Service Device Events Service Device Lifecycle Service
Device Registry Service
Service API Service Impl
formats supported)
choreography interactions
Kapua Commons Library to reduce the burden
through the Kapua Service interfaces
Kapua Commons
– Web Console – RESTful API – Multiprotocol Messaging – Service Event Bus[1]
– Web Console – RESTful API
– NoSQL Schema Less Engine (Elasticsearch) – Multiple SQL DB Support – Support for Database Migrations
– Plain Docker Containers – Orchestrated Dockers (OpenShift Origin) – Virtual Machines (Vagrant)
Message Broker RESTful API Admin Console Event Bus[1]
Frontend Services
Kapua Locator
API Gateway Administration Console
Kapua Locator Kapua Locator AUTH SERVICE DEVICE MANAGEMENT SERVICES DATASTORE SERVICE ACCOUNT SERVICE Jetty USER SERVICE DEVICE REGISTRY SERVICE Docker TAG SERVICE SCHEDULER SERVICE JOB SERVICE AUTH SERVICE DEVICE MANAGEMENT SERVICES DATASTORE SERVICE ACCOUNT SERVICE Jetty USER SERVICE DEVICE REGISTRY SERVICE Docker TAG SERVICE AUTH SERVICE DEVICE MANAGEMENT SERVICES DATASTORE SERVICE ACCOUNT SERVICE ActiveMQ USER SERVICE DEVICE REGISTRY SERVICE Docker
Device Broker
Artemis Docker
Service Events Broker
RESTful API Event Bus OpenID Auth Providers Message Routes
including, tennant management, device management and data management.
data to a wide range of destinations.
external applications to react to relevant events triggered
OpenID service providers can be used out of the box to provide authentication services
Hardware Kernel OS Environment Application
Hardware Hardware Kernel OS Environment Application Kernel OS Environment Application
Hardware Kernel OS Kernel OS Environment Application Kernel OS Environment Application
Hardware Kernel OS OS Environment Application OS Environment Application Container
Environment Application Environment
Application + = Layer 1 Layer 2
Environment Application Environment Application Environment Application Environment Application Environment Application Environment Application
Instances
Node 1 Node 2 Node n
Environment Application
Master Router
Environment Application Environment Application Environment Application Environment Application
…
Node 1 Node 2 Node n
Web Console
Router … MQTT HTTP
Broker API Server Storage Web Console API Server API Server
Node 1 Node 2 Node n
Web Console
Router …
Device API Server Storage User / Groups AuthZ / AuthN … Device Device API Server Web Console
MQTT HTTP
Frontend Services
Kapua Locator
API Gateway Administration Console
Kapua Locator Kapua Locator Jetty Docker
Device Broker
Artemis Docker
Service Events Broker
Jetty Docker ActiveMQ Docker JVM Docker DATASTORE SERVICE Kapua Locator µService Endpoint JVM Docker SCHEDULER SERVICE Kapua Locator µService Endpoint JVM Docker USER SERVICE Kapua Locator µService Endpoint JVM Docker AUTH SERVICE Kapua Locator µService Endpoint JVM Docker ACCOUNT SERVICE Kapua Locator µService Endpoint JVM Docker TAG SERVICE Kapua Locator µService Endpoint JVM Docker DEVICE REGISTRY SERVICE Kapua Locator µService Endpoint JVM Docker DEVICE MANAGEMENT SERVICE Kapua Locator µService Endpoint JVM Docker JOB SERVICE Kapua Locator µService Endpoint Service Discovery
ServiceA
serviceB = Locator.getService(…) ServiceB.doSomething(...)
L
a t
ServiceB Wrapper
Service Discovery
ServiceA Entry ServiceB Entry
Discovery.publishService()
ServiceB
doSomething(...)
L
a t
ServiceB Entry
µService Endpoint µService Endpoint
to the service discovery
to the Locator
location of the services it uses
protocol used to communicate with the microservice
assumptions on the container model
Interceptor
ServiceA // Raise Service Event doSomething(...)
Event Bus Broker
Interceptor
ServiceB // Handle Service Event
JMS 2.0 – AMQP 1.0
EventBus
JMS 2.0 – AMQP 1.0
EventBus
changes in the global status of the backend
method
system is eventually consistent
– https://www.eclipse.org/hono/
– Eclipse Leshan
– Eclipse Kura
– https://projects.eclipse.org/projects/iot.hawkbit
– https://projects.eclipse.org/projects/iot.ditto
Joint Us this Evening at The Birds of Feather
Interested to Discuss More ? Join Us this Evening
at
the Birds of Feather (BoF)
www.eurotech.com
www.redhat.com
E v a l u a t e t h e S e s s i o n s S i g n i n a n d v o t e a t e c l i p s e c o n . o r g