-
Notifications
You must be signed in to change notification settings - Fork 2
Overview of the rtGovOps framework
The rtGovOps is a runtime framework for governance and operations in software-defined IoT cloud system. Generally, rtGovOps provides runtime mechanisms to enable executing Operational Governance Processes in software-defined IoT cloud systems. This repository contains the current implementation of rtGovOps prototype. The main parts of the rtGovOps framework are:
Additionally, this repository contains a virtualized testbed (based on Docker containers) for software-defined IoT cloud systems and several demo applications.
The rtGovOps controller represents a central point of interaction with all available governance capabilities. It provides a mediation layer that enables users to interact with software-defined IoT cloud systems in a conceptually centralized fashion, without explicitly worrying about the underlying IoT gateways or other IoT devices.
Internally, the governance controller comprises several cloud-based microservices. These are independently deployable services that expose REST APIs. These services are mainly implemented in Java and Scala programming languages and they rely on proven technologies such as Spring Boot (Actuator) to define and manage exposed APIs. These APIs are used by the operational governance processes, e.g., to invoke a governance capabilit, and by the IoT gateways, e.g., to obtain a new capability. Most important services include:DeploymentManager and ProfileManager, APIManager and GovernanceScopeCoordinator as well as the ImageBuilder and the DependencyManager.
The rtGovOps agents run inside IoT gateways. Generally, they support the controller to deploy, execute/invoke and manage the available governance capabilities. Since these gateways usually have constrained resources such as available memory and computing power, the agents are implemented as a light-weight Shell scripts. The ProvisioningAgent and the Profiler are realized as stand alone components with a well-defined lifecycle. Currently they are periodically executed by the OS or Linux Userland (e.g., BusyBox) as Cron Jobs and they mostly perform the tasks issued by the controller, inside the devices. Additionally, rtGovOps provides a GovernanceAgent. It comprises a generic part (a.k.a the Mapper) and a preinstalled governance capabilities such as the Capabiltiy Manager (cManager). The Mapper is implemented as an extension to a light-weight httpd server and its main responsibility is to dispatch the incoming requests(invocations) to the capabilities.