FogIoT Orchestrator: an Orchestration System for IoT Applications in - - PowerPoint PPT Presentation

fogiot orchestrator an orchestration system for iot
SMART_READER_LITE
LIVE PREVIEW

FogIoT Orchestrator: an Orchestration System for IoT Applications in - - PowerPoint PPT Presentation

FogIoT Orchestrator: an Orchestration System for IoT Applications in Fog Environment Bruno Donassolo - Orange Labs Ilhem Fajjari - Orange Labs Arnaud Legrand - INRIA - LIG Panayotis Mertikopoulos - INRIA - LIG April 5, 2018 1 / 21 Outline 1


slide-1
SLIDE 1

FogIoT Orchestrator: an Orchestration System for IoT Applications in Fog Environment

Bruno Donassolo - Orange Labs Ilhem Fajjari - Orange Labs Arnaud Legrand - INRIA - LIG Panayotis Mertikopoulos - INRIA - LIG April 5, 2018

1 / 21

slide-2
SLIDE 2

Outline

1 Introduction 2 Architecture 3 Use case 4 Implementation 5 Conclusion

2 / 21

slide-3
SLIDE 3

IoT: Cloud

Cloud Sensors swarm

  • Apps rely on the cloud for

processing.

  • scalable
  • cost-effective
  • Problem: latency critical

applications.

  • E.g.: augmented reality
  • max delay in the order
  • f miliseconds.

3 / 21

slide-4
SLIDE 4

IoT: Fog

Fog Fog Fog Cloud Sensors swarm

  • Fog Computing
  • Complex, heterogeneous,

distributed, mobile and dynamic environment.

  • Applications that run over

it are not simpler. . .

4 / 21

slide-5
SLIDE 5

Application - Fire detection/combat

2-phases:

  • detection
  • evacuation plan

Requirements:

  • Low latency: detection
  • Processing: evacuation path

5 / 21

slide-6
SLIDE 6

Main challenges in a fog environment

What do we need to create a fog environment?

1 Infrastructure

  • IoT sensors/actuators
  • Cloud
  • Devices in the range edge-cloud

6 / 21

slide-7
SLIDE 7

Main challenges in a fog environment

What do we need to create a fog environment?

1 Infrastructure

  • IoT sensors/actuators
  • Cloud
  • Devices in the range edge-cloud

2 Model/write the application

6 / 21

slide-8
SLIDE 8

Main challenges in a fog environment

What do we need to create a fog environment?

1 Infrastructure

  • IoT sensors/actuators
  • Cloud
  • Devices in the range edge-cloud

2 Model/write the application 3 Hardware abstraction

6 / 21

slide-9
SLIDE 9

Main challenges in a fog environment

What do we need to create a fog environment?

1 Infrastructure

  • IoT sensors/actuators
  • Cloud
  • Devices in the range edge-cloud

2 Model/write the application 3 Hardware abstraction 4 Deploy app. components in the infrastructure

6 / 21

slide-10
SLIDE 10

Main challenges in a fog environment

What do we need to create a fog environment?

1 Infrastructure

  • IoT sensors/actuators
  • Cloud
  • Devices in the range edge-cloud

2 Model/write the application 3 Hardware abstraction 4 Deploy app. components in the infrastructure 5 Monitoring the infrastructure

  • CPU/RAM
  • Network latency/bandwidth

6 / 21

slide-11
SLIDE 11

Architecture

  • Application descriptor:
  • actor-based, data-flow

programming model

  • agnostic to infrastruc-

ture

  • Life-cycle manager:
  • actors placement
  • reconfiguration
  • Hw abstraction
  • containers

7 / 21

slide-12
SLIDE 12

Use case

Temperature sensor Long-term Analysis Filter Decision Temperature sensor Temperature sensor Temperature sensor CPU Disk RAM CPU RAM CPU RAM Actuator Req: Latency Endpoints Fog Temp > 50°C Temp > 70°C at 2 sensors each 1s Temperature Temperature Read Temp. Req: Latency Req: Latency Emergency Req: Bandwidth Disk Temperature (24 hours period) DB

  • Simplified fire detection app
  • But, it contains the typical requirements associated to a

fog application

8 / 21

slide-13
SLIDE 13

High-level

9 / 21

slide-14
SLIDE 14

High-level

9 / 21

slide-15
SLIDE 15

Grid5000

  • Provisioning: Ansible
  • Using different sites: global VLAN
  • Forward multicast packets needed by Calvin

10 / 21

slide-16
SLIDE 16

FIT/IoT-LAB

  • Provisioning:
  • python/bash scripts
  • FIT tools: open-a8-cli, opkg
  • A8 nodes: calvin
  • M3 nodes (temperature sensor): CoAP protocol, IPv6/SLIP
  • M3 nodes and OSs: RIOT vs Contiki

11 / 21

slide-17
SLIDE 17

Overview: Grid5000 and FIT/IoT-LAB

  • Main problem using both platforms: Connectivity
  • private, independent networks

12 / 21

slide-18
SLIDE 18

Overview: Grid5000 and FIT/IoT-LAB

  • Main problem using both platforms: Connectivity
  • private, independent networks
  • Solution:
  • VPNs
  • Install openvpn in A8 nodes to put them in the Grid5000 network
  • https://www.grid5000.fr/mediawiki/index.php/VPN

12 / 21

slide-19
SLIDE 19

Overview: Grid5000 and FIT/IoT-LAB

  • Main problem using both platforms: Connectivity
  • private, independent networks
  • Solution:
  • VPNs
  • Install openvpn in A8 nodes to put them in the Grid5000 network
  • https://www.grid5000.fr/mediawiki/index.php/VPN
  • Problem:
  • Artificial link
  • Realistic?
  • Latency: 25ms
  • Bandwidth: 20Mb

12 / 21

slide-20
SLIDE 20

Calvin

  • Open source project lead by Ericsson
  • https://github.com/EricssonResearch/calvin-base
  • Concept:
  • IoT development must be sim-

ple

  • Not worry about communica-

tion protocols and hardware specifics

  • Applications:
  • Actor model: private internal state
  • Flow based computing

13 / 21

slide-21
SLIDE 21

Calvin

Application description:

  • GUI
  • Text: own syntax

Functional

src : std.Trigger(tick=1, data="fire") snk : io.Log(loglevel="INFO") src.data > snk.data

Deployment

{"requirements":{"src":[{ "op":"node_attr_match", "kwargs":{"index":["node_name", {"name":"runtime-0"}]},"type":"+"}]}}

14 / 21

slide-22
SLIDE 22

Calvin

Architecture:

  • Calvin’s runtimes: abstraction to actors
  • Requirement: IP connectivity
  • Multicast packets to node discovery

Deployment:

  • Automatic select runtime to run actors

Image from: Calvin – Merging Cloud and IoT https://doi.org/10.1016/j.procs.2015.05.059 15 / 21

slide-23
SLIDE 23

Calvin

Architecture:

  • Calvin’s runtimes: abstraction to actors
  • Requirement: IP connectivity
  • Multicast packets to node discovery

Deployment:

  • Automatic select runtime to run actors

Image from: Calvin – Merging Cloud and IoT https://doi.org/10.1016/j.procs.2015.05.059

What is missing?

App is running. . . What about the monitoring?

15 / 21

slide-24
SLIDE 24

Monitoring - Prometheus

Prometheus

  • https://prometheus.io/
  • Time-series database
  • Allow post-mortem analysis of

tests

  • Easy integration with other tools

scrape_configs:

  • job_name: ’prometheus’

static_configs:

  • targets:[’localhost:9090’]

16 / 21

slide-25
SLIDE 25

Monitoring - Cadvisor

Cadvisor

  • https://github.com/google/cadvisor
  • Monitors performance of docker contain-

ers

  • CPU
  • RAM
  • Real-time
  • Easy to deploy:
  • docker run google/cadvisor:latest
  • Exporting/visualizing metrics:
  • Web UI
  • REST
  • Prometheus:
  • localhost:8080/metrics

17 / 21

slide-26
SLIDE 26

Monitoring - Blackbox exporter

Blackbox exporter

  • https://github.com/prometheus/blackbox_exporter
  • Service availability:
  • HTTP, HTTPS, DNS, TCP and ICMP.
  • Our use, monitor network latency
  • Access:
  • http://localhost:9115/probe?target=google.com&module=icmp

18 / 21

slide-27
SLIDE 27

Monitoring - Blackbox exporter

Blackbox exporter

  • https://github.com/prometheus/blackbox_exporter
  • Service availability:
  • HTTP, HTTPS, DNS, TCP and ICMP.
  • Our use, monitor network latency
  • Access:
  • http://localhost:9115/probe?target=google.com&module=icmp

scrape_configs:

  • job_name: ’blackbox’

module: [icmp] # ping request static_configs:

  • targets:

# List of target IPs relabel_configs: replacement: 127.0.0.1:9115 # The blackbox exporter’s

18 / 21

slide-28
SLIDE 28

Monitoring - Netdata

Netdata - FireQoS - Traffic Control

  • https://github.com/firehol/netdata
  • Last metric to collect:
  • network bandwidth
  • Another monitoring tool, but for hosts
  • tons of metrics

19 / 21

slide-29
SLIDE 29

Monitoring - Netdata

Netdata - FireQoS - Traffic Control

  • https://github.com/firehol/netdata
  • Last metric to collect:
  • network bandwidth
  • Another monitoring tool, but for hosts
  • tons of metrics

Objective

Measure bandwidth used by calvin between 2 machines interface eth0 world bidirectional ethernet class calvin match host IP_address

19 / 21

slide-30
SLIDE 30

Conclusion

  • We propose an architecture to orchestrate fog applications
  • Work in progress
  • We show that using both platforms, it is possible to create a fog envi-

ronment

20 / 21

slide-31
SLIDE 31

Conclusion

  • We propose an architecture to orchestrate fog applications
  • Work in progress
  • We show that using both platforms, it is possible to create a fog envi-

ronment

  • 2 nice testbeds, complementary capabilities
  • Grid5000: powerful, homogeneous, scalable, focus: cloud, HPC
  • FIT/IoT-LAB: heterogeneous, scalable, focus: IoT

20 / 21

slide-32
SLIDE 32

Conclusion

  • We propose an architecture to orchestrate fog applications
  • Work in progress
  • We show that using both platforms, it is possible to create a fog envi-

ronment

  • 2 nice testbeds, complementary capabilities
  • Grid5000: powerful, homogeneous, scalable, focus: cloud, HPC
  • FIT/IoT-LAB: heterogeneous, scalable, focus: IoT
  • But still, 2 separate platforms
  • 2 queues, usage policies
  • 2 setup process

20 / 21

slide-33
SLIDE 33

Conclusion

  • We propose an architecture to orchestrate fog applications
  • Work in progress
  • We show that using both platforms, it is possible to create a fog envi-

ronment

  • 2 nice testbeds, complementary capabilities
  • Grid5000: powerful, homogeneous, scalable, focus: cloud, HPC
  • FIT/IoT-LAB: heterogeneous, scalable, focus: IoT
  • But still, 2 separate platforms
  • 2 queues, usage policies
  • 2 setup process
  • Looking forward for SILECS infrastructure.

20 / 21

slide-34
SLIDE 34

That’s the End

Thanks

21 / 21