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
Agenda Motivation Analysis Related Work Design/Implementation Plans Evaluation Plans Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 2
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 3
Motivation (Hierarchical Service Management) adopted from [2] Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 4
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 5
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 6
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 7
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 8
Analysis Runtime Environment Approaches • OSGi • Jigsaw • Docker Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 9
Analysis: Runtime Environment Approaches OSGi • On top of the JVM • Modular layered architecture ← Service Layer ← Lifecycle Layer Security ← Module Layer Execution Environment ← Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 10
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 OSGi x • Direct connection between services Failure Recovery • Service Control (start, stop) ✔ Migration Monitoring/ ✔ Controlling ✔ Dynamic Update Autonomous x Management x Integrity Check Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 11
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 12
Analysis: Runtime Environment Approaches Docker/Kubernetes • Containerization of services Docker • Independent of programming language x Failure Recovery • Good monitoring capabilities x Migration • Execution performance close to native Monitoring/ ✔ Controlling • Simple deployment x Dynamic Update Autonomous x Management x Integrity But: • High overhead (JVM in each docker container) • Bad dependency management Combination? • Docker for deployment process with OSGi service image Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 13
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 x ✔ ✔ SLA Recovery x x x Migration Monitoring/ x x x Controlling x x x Dynamic Update Autonomous x x x Management x x x Integrity Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 14
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 x x x Failure Recovery ✔ ✔ ✔ Migration Monitoring/ x x x Controlling x x x Dynamic Update Autonomous x x x Management x x x Integrity Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 15
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 16
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 17
Evaluation Expected Results Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 18
Milestones (Forecast) Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 19
Thank you for your attention Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 20
Questions? Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 21
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) Fabian Buske | Providing a Remotely Manageable Runtime Environment for IoT Services 22
Recommend
More recommend