Service Blueprint and Deployment for an IoT Cloud Integration - - PowerPoint PPT Presentation

service blueprint and deployment for an iot cloud
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Eclipse Kapua

Agenda

  • Kapua Platform Overview
  • Core IoT Services
  • Modular Architecture
  • Deployment Options
  • Roadmap
slide-3
SLIDE 3
  • Modular Integration Platform for

End-to-End IoT Solutions

  • Provides Multi Tenant Environment
  • Focuses on Providing

Comprehensive Management of Edge Devices

  • Focuses on Data Collection and

Routing for Real Time Data Processing and Storage @

Eclipse Kapua

Platform Overview

slide-4
SLIDE 4

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

Eclipse Kapua

Platform Overview

slide-5
SLIDE 5

Eclipse Kapua Architecture

Core IoT Services

Account User Device Registry Device Management Authentication & Authorization Datastore Device Jobs Scheduler

  • Identity Validation
  • Credentials
  • Permissions
  • Permission Check
  • Roles
  • Resource Groups
  • Device Registry
  • Device Lifecycle
  • Device Connections
  • Device Events
  • Application Configuration
  • Bundle Start/Stop
  • Remote Command Execution
  • Asset/Channel Read/Write
  • Package Install
  • Generic Request/Response
  • Client Registry
  • Channel Registry
  • Metric Registry
  • Message Store
  • Asset Write
  • Bundle Start/Stop
  • Command Execution
  • Configuration Write
  • Package Install/Uninstall
slide-6
SLIDE 6

Eclipse Kapua Architecture

Service Blueprint

Device Registry

Device Registry Service Device Connection Service Device Events Service Device Lifecycle Service

Device Registry Service

Service API Service Impl

  • A Kapua Service exposes a interface and a
  • bject model that conforms to a service blueprint
  • Serializable Model Objects (JSON and XML

formats supported)

  • Kapua Services can handle persistent entities
  • Kapua Services can raise/handle events for

choreography interactions

  • Support per tennant “scoped” configurations
  • Service implementations may optionally leverage

Kapua Commons Library to reduce the burden

  • f implementation
  • A service defines a bounded context
  • All interactions between services are handled

through the Kapua Service interfaces

  • Can manage resources
  • No resource sharing between modules

Kapua Commons

slide-7
SLIDE 7

Eclipse Kapua Deployment

  • Applications provided:

– Web Console – RESTful API – Multiprotocol Messaging – Service Event Bus[1]

  • Provide extension points for:

– Web Console – RESTful API

  • Data tier:

– NoSQL Schema Less Engine (Elasticsearch) – Multiple SQL DB Support – Support for Database Migrations

  • Provides demo deployments for:

– Plain Docker Containers – Orchestrated Dockers (OpenShift Origin) – Virtual Machines (Vagrant)

Message Broker RESTful API Admin Console Event Bus[1]

  • Note:
  • 1. Available with next release (1.0.0)
slide-8
SLIDE 8

Eclipse Kapua Deployment

Default Deployment

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

  • NoSQL Datastore (Elasticsearch)
  • SQL Persistency (Default H2)
slide-9
SLIDE 9

Eclipse Kapua Extensibility

Application Integration

RESTful API Event Bus OpenID Auth Providers Message Routes

  • The REST API allow programmatic access to the
  • platform. It exposes all the platform functionality,

including, tennant management, device management and data management.

  • The Message Routes allow routing of telemetry

data to a wide range of destinations.

  • The Event Bus allow both backend services and

external applications to react to relevant events triggered

  • Kapua supports authentication via OpenID.

OpenID service providers can be used out of the box to provide authentication services

slide-10
SLIDE 10

Conterization

Plain old hardware

Hardware Kernel OS Environment Application

slide-11
SLIDE 11

Conterization

Scaling up

Hardware Hardware Kernel OS Environment Application Kernel OS Environment Application

slide-12
SLIDE 12

Conterization

Virtualization

Hardware Kernel OS Kernel OS Environment Application Kernel OS Environment Application

slide-13
SLIDE 13

Conterization

Containers

Hardware Kernel OS OS Environment Application OS Environment Application Container

slide-14
SLIDE 14

Conterization

Building containers

Environment Application Environment

Application + = Layer 1 Layer 2

Environment Application Environment Application Environment Application Environment Application Environment Application Environment Application

Instances

slide-15
SLIDE 15

Containerization

Orchestration – Kubernetes/OpenShift

Node 1 Node 2 Node n

Environment Application

Master Router

Environment Application Environment Application Environment Application Environment Application

slide-16
SLIDE 16

Micro services

Kapua 0.3.0 / 1.0.0

Node 1 Node 2 Node n

Web Console

Router … MQTT HTTP

Broker API Server Storage Web Console API Server API Server

slide-17
SLIDE 17

Micro services

Kapua beyond 1.0.0

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

slide-18
SLIDE 18

Eclipse Kapua Roadmap

Microservices

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

slide-19
SLIDE 19

Eclipse Kapua Roadmap

Microservices

ServiceA

serviceB = Locator.getService(…) ServiceB.doSomething(...)

L

  • c

a t

  • r

ServiceB Wrapper

Service Discovery

ServiceA Entry ServiceB Entry

Discovery.publishService()

ServiceB

doSomething(...)

L

  • c

a t

  • r

ServiceB Entry

µService Endpoint µService Endpoint

  • Services advertise themselves

to the service discovery

  • Service discovery is delegated

to the Locator

  • Client code is agnostic of the

location of the services it uses

  • Client code is agnostic of the

protocol used to communicate with the microservice

  • Should have minimal

assumptions on the container model

slide-20
SLIDE 20

Eclipse Kapua

Service Events

Interceptor

ServiceA // Raise Service Event doSomething(...)

Event Bus Broker

Interceptor

ServiceB // Handle Service Event

  • nKapuaEvent(...)

JMS 2.0 – AMQP 1.0

EventBus

JMS 2.0 – AMQP 1.0

EventBus

  • Backend services should be able to exchange Events to react to

changes in the global status of the backend

  • Service Events are raised upon the execution of a service

method

  • Event management guarantees that the global status of the

system is eventually consistent

slide-21
SLIDE 21

Eclipse Kapua Roadmap

Integration with Other IoT Projects

  • Messaging: Eclipse Hono

– https://www.eclipse.org/hono/

  • Device Protocols:

– Eclipse Leshan

  • https://www.eclipse.org/leshan/

– Eclipse Kura

  • https://www.eclipse.org/kura/
  • Software Updates: Eclipse hawkBit

– https://projects.eclipse.org/projects/iot.hawkbit

  • Digital Twins: Eclipse Ditto

– https://projects.eclipse.org/projects/iot.ditto

slide-22
SLIDE 22

Eclipse Kapua

Open Discussion

Joint Us this Evening at The Birds of Feather

Interested to Discuss More ? Join Us this Evening

at

the Birds of Feather (BoF)

slide-23
SLIDE 23

www.eurotech.com

Thank You!

www.redhat.com

Want to Learn More? Meet Eurotech at Booth #2

slide-24
SLIDE 24

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

  • 1

+ 1