service blueprint and deployment for an iot cloud
play

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


  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

  2. Eclipse Kapua Agenda • Kapua Platform Overview • Core IoT Services • Modular Architecture • Deployment Options • Roadmap

  3. Eclipse Kapua Platform Overview • 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

  4. Eclipse Kapua Platform Overview @ Application Integration Data Management Device Mgmt Console AMQP Data Registry Device Connectivity Message Routing Data Store CoAP Device Management Administration Device Configuration Device Package Update Device Management Protocols MQTT Kura, LWM2M REST API Device Registry Security Account Management Access Control

  5. Eclipse Kapua Architecture Core IoT Services Account • Identity Validation • Credentials User • Device Registry • Permissions • Device Lifecycle Authentication & Authorization • Permission Check • Application Configuration • Device Connections • Roles • Bundle Start/Stop Device Registry • Device Events • Client Registry • Resource Groups • Remote Command Execution • Channel Registry Device Management • Asset/Channel Read/Write • Metric Registry Datastore • Package Install • Asset Write • Message Store • Generic Request/Response • Bundle Start/Stop Scheduler • Command Execution Device Jobs • Configuration Write • Package Install/Uninstall

  6. Eclipse Kapua Architecture Service Blueprint • A service defines a bounded context Device Registry • All interactions between services are handled through the Kapua Service interfaces Device Registry Service • Can manage resources Device Connection Service • No resource sharing between modules Device Events Service • A Kapua Service exposes a interface and a object model that conforms to a service blueprint Device Lifecycle Service • Serializable Model Objects (JSON and XML formats supported) Device Registry Service • Kapua Services can handle persistent entities Service API • Kapua Services can raise/handle events for choreography interactions Service Impl • Support per tennant “scoped” configurations • Service implementations may optionally leverage Kapua Commons Library to reduce the burden Kapua Commons of implementation

  7. Eclipse Kapua Deployment • Applications provided: – Web Console Message Broker – RESTful API – Multiprotocol Messaging – Service Event Bus [1] RESTful API • Provide extension points for: – Web Console – RESTful API Admin Console • Data tier: – NoSQL Schema Less Engine (Elasticsearch) – Multiple SQL DB Support Event Bus [1] – Support for Database Migrations • Provides demo deployments for: • Note: – Plain Docker Containers 1. Available with next release (1.0.0) – Orchestrated Dockers (OpenShift Origin) – Virtual Machines (Vagrant)

  8. Eclipse Kapua Deployment Default Deployment Device Service Events Administration Broker API Gateway Broker Console Frontend Services Artemis Kapua Locator Kapua Locator Kapua Locator Docker ACCOUNT SERVICE ACCOUNT SERVICE ACCOUNT SERVICE USER SERVICE USER SERVICE USER SERVICE AUTH SERVICE AUTH SERVICE AUTH SERVICE TAG SERVICE DEVICE REGISTRY TAG SERVICE SERVICE DEVICE REGISTRY DEVICE REGISTRY SERVICE DEVICE MANAGEMENT SERVICE SERVICES DEVICE MANAGEMENT DEVICE MANAGEMENT DATASTORE SERVICE SERVICES SERVICES DATASTORE SERVICE DATASTORE SERVICE ActiveMQ Docker SCHEDULER SERVICE Jetty JOB SERVICE Docker Jetty Docker • NoSQL Datastore (Elasticsearch) • SQL Persistency (Default H2)

  9. Eclipse Kapua Extensibility Application Integration • The REST API allow programmatic access to the platform. It exposes all the platform functionality, RESTful API including, tennant management, device management and data management. • The Message Routes allow routing of telemetry Message Routes data to a wide range of destinations. • The Event Bus allow both backend services and Event Bus external applications to react to relevant events triggered • Kapua supports authentication via OpenID. OpenID Auth Providers OpenID service providers can be used out of the box to provide authentication services

  10. Conterization Plain old hardware Application Environment OS Kernel Hardware

  11. Conterization Scaling up Application Application Environment Environment OS OS Kernel Kernel Hardware Hardware

  12. Conterization Virtualization Application Application Environment Environment OS OS Kernel Kernel OS Kernel Hardware

  13. Conterization Containers Container Application Application Environment Environment OS OS OS Kernel Hardware

  14. Conterization Building containers Application Application + = Environment Environment Layer 1 Layer 2 Instances Application Application Application Environment Environment Environment Application Application Application Environment Environment Environment

  15. Containerization Orchestration – Kubernetes/OpenShift Master Application Application Application Environment Environment Environment Application … Environment Application Environment Node n Node 1 Node 2 Router

  16. Micro services Kapua 0.3.0 / 1.0.0 Storage Broker Web Console Web Console API Server API Server … API Server Node n Node 1 Node 2 MQTT HTTP Router

  17. Micro services Kapua beyond 1.0.0 Storage Device Device Device User / Groups … AuthZ / AuthN … Web Console Web Console API Server API Server Node n Node 1 Node 2 MQTT HTTP Router

  18. Eclipse Kapua Roadmap Microservices Administration Device Service Events API Gateway Console Broker Broker Frontend Services Kapua Locator Kapua Locator Artemis Kapua Locator Docker Jetty ActiveMQ Jetty Docker Docker Docker Service Discovery µService Endpoint µService Endpoint µService Endpoint µService Endpoint µService Endpoint Kapua Locator Kapua Locator Kapua Locator Kapua Locator Kapua Locator DEVICE REGISTRY ACCOUNT SERVICE USER SERVICE AUTH SERVICE TAG SERVICE SERVICE JVM JVM JVM JVM JVM Docker Docker Docker Docker Docker µService Endpoint µService Endpoint µService Endpoint µService Endpoint Kapua Locator Kapua Locator Kapua Locator Kapua Locator DEVICE MANAGEMENT DATASTORE SERVICE SCHEDULER SERVICE JOB SERVICE SERVICE JVM JVM JVM JVM Docker Docker Docker Docker

  19. Eclipse Kapua Roadmap Microservices Service • Services advertise themselves Discovery to the service discovery ServiceA • Service discovery is delegated serviceB = Locator.getService(…) L ServiceB.doSomething(...) to the Locator o c a t • Client code is agnostic of the o ServiceA r ServiceB Wrapper Entry location of the services it uses • Client code is agnostic of the ServiceB ServiceB µService Endpoint Entry Entry protocol used to communicate with the microservice µService Endpoint • Should have minimal assumptions on the container model ServiceB L o c doSomething(...) a t o r Discovery.publishService()

  20. Eclipse Kapua Service Events Interceptor Interceptor ServiceA ServiceB // Handle Service Event // Raise Service Event doSomething(...) onKapuaEvent(...) EventBus EventBus JMS 2.0 – AMQP 1.0 JMS 2.0 – AMQP 1.0 Event Bus Broker • 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

  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

  22. Eclipse Kapua Open Discussion Interested to Discuss More ? Joint Us this Evening Join Us this Evening at at The Birds of Feather the Birds of Feather (BoF)

  23. Thank You! www.eurotech.com www.redhat.com Want to Learn More? Meet Eurotech at Booth #2

  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 0 + 1

Recommend


More recommend