On Engineering Analytics of Elastic
IoT Cloud Systems
Hong-Linh Truong
with
Georgiana Copil, Schahram Dustdar, Duc-Hung Le, Daniel Moldovan, Stefan Nastic
Distributed Systems Group, TU Wien
http://dsg.tuwien.ac.at/staff/truong
ICSOC 2016, Banff, 11 Oct, 2016 1
Outline
Motivation
Design and engineering actions
iCOMOT
Software components
Deployment, control and monitoring
Case studies
Conclusions and future work
ICSOC 2016, Banff, 11 Oct, 2016 2
Emerging IoT/CPS applications
Emergency responses, on-demand crowd sensing, Geo
Sports monitoring, cyber-physical systems testing, etc.
ICSOC 2016, Banff, 11 Oct, 2016 3
Geo Sports: Picture courtesy
Future Position X, Sweden
Indian Overfly collapses
figure source: http://timesofindia.indiatimes.comAir Ecosystem, Pacific Controls
https://arrayofthings.github.io/
DevOps focus: IoT and Cloud
integration models Resources as services: IoT networks (sensors,
gateways), edge/fog systems (micro data centers and
network functions), big data centers (cloud VM, storage)
ICSOC 2016, Banff, 11 Oct, 2016 4
Cloud
(big, centralized
data centers)
Cloud
(big, centralized
data centers)
IoT network
(IoT sensors,
gateways, etc.)
IoT network
(IoT sensors,
gateways, etc.)
Network functions
(Network function
virtualization +
micro datacenter)
Applications require on-demand resources provisioning
across IoT networks, network functions and the clouds
Common goals for IoT Cloud service
engineering analytics
Type 1 Mainly focus on IoT networks: sensors, IoT gateways, IoT-to-
cloud connectivity (e.g., connect to predix.io, IBM Bluemix,
Amazon IoT, etc.)
Type 2 Mainly focus on (public/private) services in data centers: e.g.,
load balancer, NoSQL databases, and big data ingest systems
Using both open sources and cloud-provided services
Type 3 Equally focus on both IoT and cloud sides and have the need
to control at both sides
Highly interactions between the two sides, not just data flows
from IoT to clouds
ICSOC 2016, Banff, 11 Oct, 2016 5
Type 3: Key concerns
ICSOC 2016, Banff, 11 Oct, 2016 6
End-to-end
Resource slice
Application services atop
Virtual infrastructures as a service
Key questions: how to simplify the development, provisioning
and testing of the applications atop their virtual resource slice
This talk: focusing on our experiences and tools
Design and engineering actions
Selecting and developing software components for
IoT cloud platforms
Diverse types of components (forms, complexity and
interfaces) for IoT and clouds
Dynamic connectors allowing adaptation
Symbiosis development and testing
Provisioning and operating software components
Code deployed across IoT and cloud systems
Coordinated control, monitoring and analysis
ICSOC 2016, Banff, 11 Oct, 2016 7
Hong Linh Truong, Schahram Dustdar: Principles for Engineering IoT Cloud Systems. IEEE Cloud Computing 2(2): 68-76 (2015)
iCOMOT -- Toolset for IoT Cloud
Systems
8ICSOC 2016, Banff, 11 Oct, 2016
http://tuwiendsg.github.io/iCOMOT/
Software components
Requirements
Not just cloud services but
also different types of (virtual)
sensors, gateways, and
connectivity components
Different implementation
models and pay-per-use
models
Solutions
Treat all software components
as service units
Use IoT software-defined
unit concept to abstract
functions, provisioning and
management mechanisms
ICSOC 2016, Banff, 11 Oct, 2016 9
Examples: Software-defined IoT units: sensors, gateways, lightweighted
analyzers, light storage, queues, VMs, cloud services (NoSQL
databases, streaming data analyzer, etc.)
Leverage a combination of Docker Hub, Git-based repository,
Maven, and IoT marketplaces
(Virtual) Software sensors
Requirements
Emulated + real software
sensors in different scenarios
Work with different types of
APIs
Solutions
Sensors with dynamic control
capabilities
Solutions for individual sensors
and sensor topologies
Coupling sensors with virtual
environments
ICSOC 2016, Banff, 11 Oct, 2016 10
Examples: Cloud connectivity: e.g., MQTT and AMQP
Data Point/Control Points associated with Things: emulation with data
sources from files, accessing Things with software-defined gateway
API profiles or with Thing-specific APIs
Management API: REST, MQTT, and even shellscripts
IoT Gateways
Requirements
Light-weighted gateways but
(partially) support fog/edge
computing models
Solutions
Software-defined gateways as
virtual environments for
deploying different units
Dynamic configuration of
software components
ICSOC 2016, Banff, 11 Oct, 2016 11
Examples: Utilizing lightweight virtual containers/VMs
New middleware with high-level APIs that abstract Data Points,
Control Points, Cloud connectivity, etc.
https://github.com/tuwiendsg/SoftwareDefinedGateways
Composition of existing middleware
Leverage microservice models to enable flexible adaptation,
e.g., https://github.com/tuwiendsg/GovOps
Software deployment and
configuration
Requirements
Support different types of IoT
gateways with different
interfaces
Complex configuration
protocols for different
topologies
Solutions
Integrate different configuration
tools and languages
Develop protocols and
programming APIs for
exchanging configuration
commands
ICSOC 2016, Banff, 11 Oct, 2016 12
Examples: Use TOSCA (or any configuration language) for both IoT and
clouds based on deployment agents supporting TOSCA
https://github.com/tuwiendsg/SALSA
REST/MQTT-based APIs for configuration at the IoT gateways
http://sincconcept.github.io/HINC/
Leverage known tools (Vagrant, docker) for the emulated
sensors, gateways and cloud services
Elasticity monitoring and analytics
Requirements
Cross IoT and cloud analytics
High level end-to-end metrics
Correlate monitoring data
from different
service/component topologies
Solutions
Expand monitoring capabilities
to the IoT gateways
Interfaces to deployment,
configuration and control
systems
User-defined metrics
ICSOC 2016, Banff, 11 Oct, 2016 13
Examples: Relay basic metrics from IoT gateways (e.g., nr. sensors, queue
length, etc.) to centralized monitoring services
All management services subscribe/exchange monitoring data
through scalable queues
Analyze based on service topologies
Elasticity control
Requirements
Able to control at the IoT side
Must work with various
protocols/systems (e.g., using
public clouds)
Control in combined with
business data analytics
Solutions
Primitive actions for
gateways: control sensors,
cloud connectivity, etc.
High-level coordination
working with different
interfaces
ICSOC 2016, Banff, 11 Oct, 2016 14
Examples
Using REST API/shellscripts to control IoT gateways + SYBL at the
data centers
Programing-language based workflows for coordination-aware controls
to enable different connectors
Deal with uncertainties
Case studies
ICSOC 2016, Banff, 11 Oct, 2016 15
The company would like to focus only on predictive analytics
Configuration
ICSOC 2016, Banff, 11 Oct, 2016 16
Sensors/gateways and cloud services have different
management systems and interfaces
Deploy different topologies and configure topologies
to work together
IoT sensors Cloud Service
Elasticity monitoring
Monitoring at the IoT is still very primitive with
certain types of gateways
ICSOC 2016, Banff, 11 Oct, 2016 17
Cross IoT and cloud controls
ICSOC 2016, Banff, 11 Oct, 2016 18
Gateways control is very different from cloud controls
Low-level REST API in IoT gateways management and
REST with SYBL for cloud services
(https://github.com/tuwiendsg/rSYBL/wiki/API-Description)
Control for IoT Gateways Control for Clouds
Elasticity control process
ICSOC 2016, Banff, 11 Oct, 2016 19
Using programming
language based
workflows
to easily connect
cloud management
services with
business logics
Example with
Airflow
Elasticity control + business function analytics not
easy to automate and optimize the cross IoT cloud
elasticity control process
Deployment failures/uncertainties
ICSOC 2016, Banff, 11 Oct, 2016 20
Understand the impact of heterogeneity on
deployment and configuration
Need to deal with uncertainties at both sides
0
10
20
30
40
50
100 150 200 250
Perc
ent of fa
ilure
s
Number of sensors
VM deployment failure rate on DSGSensor deployment failure rate on DSGVM deployment failure rate on Flexiant
Sensor deployment failure rate on FlexiantVM deployment failure rate on multicloud
Sensor deployment failure rate on multicloud
Conclusions and future work
Service engineering analytics for IoT cloud systems
Support various DevOps actions for both IoT and clouds in a
coordinated manner great challenges due to the heterogeneity of
software service units
Our work
Analyze different requirements and present concrete solutions
Deal with the heterogeneity of IoT networks and clouds through a
rich set of tools
Could support reproducibility for service engineering analytics
Future work
Uncertainty analytics (github.com/tuwiendsg/COMOT4U)
Contracts for “IoT cloud services” (github.com/SINCConcept/P4SINC)
Notebook-based tools for IoT cloud service engineering analytics
New types of IoT cloud systems: http://sincconcept.github.io
ICSOC 2016, Banff, 11 Oct, 2016 21
Thanks for your
attention!
Hong-Linh Truong
Distributed Systems GroupTU Wien
dsg.tuwien.ac.at/staff/truong
ICSOC 2016, Banff, 11 Oct, 2016 22