Providing a Remotely Manageable Runtime Environment for IoT Services - - PowerPoint PPT Presentation

providing a remotely manageable runtime environment for
SMART_READER_LITE
LIVE PREVIEW

Providing a Remotely Manageable Runtime Environment for IoT Services - - PowerPoint PPT Presentation

Chair of Network Architectures and Services Department of Informatics Technical University of Munich Providing a Remotely Manageable Runtime Environment for IoT Services (Mid talk Masters Thesis) Fabian Buske Advisor(s): Marc-Oliver Pahl,


slide-1
SLIDE 1

Chair of Network Architectures and Services Department of Informatics Technical University of Munich

Providing a Remotely Manageable Runtime Environment for IoT Services (Mid talk Master’s Thesis)

Fabian Buske Advisor(s): Marc-Oliver Pahl, Stefan Liebald Supervisor: Prof. Dr.-Ing. Georg Carle Technical University of Munich (TUM) Department of Informatics Chair of Network Architectures and Services Garching, 19. February 2018

slide-2
SLIDE 2

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 2

Agenda

Motivation Analysis Related Work Design/Implementation Plans Evaluation Plans

slide-3
SLIDE 3

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 3

Motivation

Smart Spaces

  • Devices with the ability to be remotely controlled and connected

to the network

  • Approach
  • Orchestration Software (e.g. Distributed Smart Space

Orchestration System (DS2OS)

  • Middleware as common layer
  • DS2OS = Service oriented architecture
  • Service: self-contained unit of software (interface, contract,

implementation) [1]

  • Need for management for autonomous operation
slide-4
SLIDE 4

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 4

Motivation (Hierarchical Service Management)

adopted from [2]

slide-5
SLIDE 5

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 5

Motivation

Service Management [3]

  • Tasks
  • Provide high availability of services (node failure/isolation)
  • Deployment, Installation, Controlling, Monitoring of Services
  • Approach
  • Top-Down
  • Site-local Service Management
  • Responsible for resource allocation and load balancing
  • Deployment of services to nodes
  • Bottom-Up
  • Node-local Service Management
  • Management of services (e.g. start, stop, migrate, update)
  • Runtime Environment
slide-6
SLIDE 6

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 6

Motivation

Problem without Runtime Environment

  • Unavailability in case of disconnection from middleware
  • Updates require services to stop
  • Service Failure or SLA violations

Idea

  • Provide a smart remotely manageable runtime environment with the

ability of autonomous local service management (in case of unattended nodes) Goal of the thesis

  • What are the properties of an optimal runtime environment to

guarantee high availability of services even in case of disconnection from the middleware?

  • What is optimal in this context?
slide-7
SLIDE 7

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 7

Analysis: Research Goals

Our “Mission”

  • Implement a runtime environment for bottom-up service

management

  • Service monitoring, controlling, updating, deploying
  • Take into account autonomous local mode in case of

disconnection

  • Evaluate the approaches for different scenarios
  • Recovery after service failure/SLA violation
  • Availability of services after disconnection from middleware
slide-8
SLIDE 8

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 8

Analysis

Problems to be addressed

  • Autonomous local service management
  • Updates on the fly
  • Migration
  • Monitoring/Controlling
  • Recovery of a Service Level Agreement (SLA) violation or

service failure

  • Which information should be exchanged via a well-defined

interface between the node-local and the site-local service management

  • Integrity of binaries
slide-9
SLIDE 9

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 9

Analysis

Runtime Environment Approaches

  • OSGi
  • Jigsaw
  • Docker
slide-10
SLIDE 10

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 10

Analysis: Runtime Environment Approaches

OSGi

  • On top of the JVM
  • Modular layered architecture

Service Layer Lifecycle Layer Module Layer Execution Environment Security

← ← ← ←

slide-11
SLIDE 11

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 11

Analysis: Runtime Environment Approaches

OSGi

  • Dynamic Updates (no reboot required)
  • Versioning
  • Low overhead (OSGi framework: 300KB + minimal JVM)
  • Isolation
  • Features related to dynamic life-cycle
  • Direct connection between services
  • Service Control (start, stop)

OSGi

Failure Recovery

x

Migration

Monitoring/ Controlling

Dynamic Update

Autonomous Management

x

Integrity Check

x

slide-12
SLIDE 12

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 12

Analysis: Runtime Environment Approaches

Jigsaw

  • Java Platform Module System (JPMS) of Java 9
  • Modularity: Recombine modules (e.g. add “close door” to

“safety”)

  • JDK 1.1 < 10MB <—> JDK 8u77 ~ 227MB
  • Built-in support for native libraries

But:

  • No versioning / dynamic updates
  • Modularity at compile time
  • Extensive refactoring required (→ no real candidate)

Cooperation?

  • JPMS: creating small runtime images
  • OSGi: running on JPMS
slide-13
SLIDE 13

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 13

Analysis: Runtime Environment Approaches

Docker/Kubernetes

  • Containerization of services
  • Independent of programming language
  • Good monitoring capabilities
  • Execution performance close to native
  • Simple deployment

But:

  • High overhead (JVM in each docker container)
  • Bad dependency management

Combination?

  • Docker for deployment process with OSGi service image

Docker

Failure Recovery

x

Migration

x

Monitoring/ Controlling

Dynamic Update

x

Autonomous Management

x

Integrity

x

slide-14
SLIDE 14

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 14

Related Work: LAYSI [4]

Focus: SLA violation

  • Identification of failure sources: Mapping of low-level resource

metrics to SLA parameters

  • Layered architecture for bottom-up propagation of failures
  • Collection of SLA values and system states in knowledge

database

  • Reactive actions based on data from knowledge database and

utility functions

OSGi Docker Jigsaw

SLA Recovery

✔ ✔ x

Migration

x x x

Monitoring/ Controlling

x x x

Dynamic Update

x x x

Autonomous Management

x x x

Integrity

x x x

slide-15
SLIDE 15

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 15

Related Work: SCANDEX [5]

Focus: Migration Policy

  • Service Centric Networking architecture
  • Estimation of cost of service dependencies
  • Base for decision whether to migrate and which parts
  • Network cost hard to predict

OSGi Docker Jigsaw

Failure Recovery

x x x

Migration

✔ ✔ ✔

Monitoring/ Controlling

x x x

Dynamic Update

x x x

Autonomous Management

x x x

Integrity

x x x

slide-16
SLIDE 16

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 16

Design and Implementation Phase

Outline Plan

  • Possible combination Docker - OSGi (nice-to-have)
  • Amdatu-kubernetes
  • Open Source Project
  • Client library for Kubernetes making its REST API available

for Java

  • Specifically designed to support OSGi

  • iPOJO
  • Building service-oriented components
  • Simplifies OSGi-based applications (on top of OSGi)
  • Extensibility mechanism (custom handler)
  • Remote configuration of components
slide-17
SLIDE 17

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 17

Evaluation Plans

Utilizing iLab infrastructure Different scenarios:

  • Service failure
  • SLA violation
  • Node failure

Evaluation

  • Availability
  • Network load
  • CPU load
  • Storage load
  • Response time
  • Discovery time
  • Recovery time
slide-18
SLIDE 18

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 18

Evaluation

Expected Results

slide-19
SLIDE 19

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 19

Milestones (Forecast)

slide-20
SLIDE 20

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 20

Thank you for your attention

slide-21
SLIDE 21

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 21

Questions?

slide-22
SLIDE 22

Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 22

Sources

[1] https://www.mulesoft.com/de/resources/esb/services-in-soa [2] Marc-Oliver Pahl, "Distributed Smart Space Orchestration", Dissertation [3] Carbou, Romain; Diaz, Michel; Exposito, Ernesto; Roman, Rodrigo; "Digital Home Networking"; Oct. 31, 2011; John Wiley & Sons; XP055225295 [4] I. Brandic et al., "LAYSI: A Layered Approach for SLA-Violation Propagation in Self-Manageable Cloud Infrastructures," 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops, Seoul, 2010, pp. 365-370 [5] Arjuna Sathiaseelan, Liang Wang, Andrius Aucinas, Gareth Tyson, and Jon

  • Crowcroft. 2015. SCANDEX: Service Centric Networking for Challenged

Decentralised Networks. In Proceedings of the 2015 Workshop on Do-it- yourself Networking: an Interdisciplinary Approach (DIYNetworking '15)