Architecting and Developing Elastic IoT Cloud Platforms

What is iCOMOT?

iCOMOT provides an easy to use integration layer for managing various aspects of elastic cloud services. In particular, iCOMOT relies on SALSA for deploying the description to virtualized infrastructures (e.g., OpenStack, Docker), MELA for cloud service monitoring and analysis, rSYBL for run-time control of elastic cloud services, and GovOps for governance and operations in software-defined IoT cloud systems. The whole toolset is depicted in Figure 1.

Figure 1: iCOMOT toolset

iCOMOT features

Through iCOMOT service stakeholders (e.g., service developers, service providers) can manage the full lifecycle of the service. Service stakeholders can:

Deploy the service

iCOMOT deploys the service using SALSA, a tool for complex services deployment and configuration. SALSA configures the various software stacks necessary for the service software artifacts to run in cloud environments. SALSA can run with various cloud providers (Flexiant Cloud Orchestrator, OpenStack-based private clouds, StratusLab), or under multiple layers of Docker platform, for simulating cloud environments.

Monitor and understand the service

iCOMOT monitors and analyzes the service using MELA , a tool capable of analyzing elasticity of the service in relation to elasticity requirements specified by the service provider, and service structure, thus bridging the gap between virtual resources elasticity and service elasticity, at various abstraction levels.

Control the service

iCOMOT controls the service by using rSYBL, a tool which considers monitoring and analysis information coming from MELA, and elasticity requirements information from service provider, for various levels of abstraction, for generating elasticity control plans using both application-level and resource-level actions. The elasticity control plans are enforced with the help of SALSA. After enforcement, the service structure and used virtual resources is also synchronized with MELA, for sharing the service model and having a good understanding of the service elasticity behavior.

Execute Operational Governance Processes in software-defined IoT cloud systems

iCOMOT provides through GovOps 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.

IoT cloud system use case

iCOMOT provides support for system developers and providers to manage different configurations of an IoT cloud system. Figure 2 is a configuration of a Sensor-Data-as-A-Service which includes several sensors that can be deployed and controlled at runtime (e.g., activated, deactivated, and reading rate changed). Such a configuration can be used to deploy emulated sensors as well as to control real sensors.

Figure 2: Sensor-Data-as-A-Service configuration

Figure 3 is a configuration of cloud offered services and IoT gateways, allowing IoT sensors connect and send their data, which is further process in the cloud. As IoT sensors and cloud services are usually offered by different providers, deploy such heterogeneous IoT configurations, we have to deal with multi-level software stack configuration and control.

Figure 3: Configuration of cloud offered services and IoT gateways

Figure 4 shows a snapshot of high-level elasticity properties in an end-to-end view: from the entire IoT cloud system, to specific topologies of service units and to individual units. For example, the cost the company has to pay for the software layer can be, on-the-fly, determined from cost impact of various gateways, data services, load balancers, etc., based on their complex dependencies and load.

Figure 3: End-to-end high-level elasticity properties