Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Providing a Remotely Manageable Runtime Environment for IoT Services - - PowerPoint PPT Presentation
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,
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 2
Agenda
Motivation Analysis Related Work Design/Implementation Plans Evaluation Plans
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
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 4
Motivation (Hierarchical Service Management)
adopted from [2]
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
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?
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
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
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 9
Analysis
Runtime Environment Approaches
- OSGi
- Jigsaw
- Docker
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
← ← ← ←
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
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
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
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
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
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
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
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 18
Evaluation
Expected Results
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 19
Milestones (Forecast)
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 20
Thank you for your attention
Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 21
Questions?
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