/fogflow

FogFlow is a standard-based IoT fog computing framework that supports serverless computing and edge computing with advanced programming models

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

FogFlow

CI/CD Status FIWARE Security License: BSD-4-Clause Docker Status Support badge
Documentation badge Status Swagger Validator CII Best Practices

FogFlow is an IoT edge computing framework to automatically orchestrate dynamic data processing flows over cloud and edges driven by context, including system context on the available system resources from all layers, data context on the registered metadata of all available data entities, and also usage context on the expected QoS defined by users.

This project is part of FIWARE. For more information check the FIWARE Catalogue entry for Processing.

  • このドキュメントは日本語でもご覧いただけます。
📚 Documentation 🎓 Academy 🐳 Docker Hub 🎯 Roadmap

Content

Background

FogFlow is a standard-based data processing framework for service providers to easily program and manage IoT services over cloud and edges. Below are the motivation, functionalities, and benefits of FogFlow.

  • Why do we need FogFlow?

    • the cost of a cloud-only solution is too high to run a large scale IoT system with >1000 geo-distributed devices
    • many IoT services require fast response time, such as <10ms end-to-end latency
    • service providers are facing huge complexity and cost to fast design and deploy their IoT services in a cloud-edge environment
    • business demands are changing fast over time and service providers need to try out and release any new services over their shared cloud-edge infrastructure at a fast speed
    • lack of programming model to fast design and deploy IoT services over geo-distributed ICT infrastructure
    • lack of interoperability and openness to share and reuse data and dervied results across various applications
  • What does FogFlow provide?

    • efficient programming model: programming a service is like building lego blocks
    • dynamic service orchestration: launching necessary data processing only when it is required
    • optimized task deployment: assigning tasks between cloud and edges based on the locality of producers and consumers - scalable context management: allowing flexible information exchanging (both topic-based and scope-based) between producers and consumers
  • How can customers benefit from FogFlow?

    • fast time-to-market when realizing and releasing new services over the shared, geo-distributed ICT infrastructure
    • reduced operation cost and management complexity when operating variou services
    • being able to provide services that require low latency and fast response time

Installation

The instructions to install FogFlow can be found in the Installation Guide

API

APIs and examples of their usage can be found here

Testing

For performing a basic end-to-end test, you can follow the detailed instructions here.

Quality Assurance

This project is part of FIWARE and has been rated as follows:

  • Version Tested:
  • Documentation:
  • Responsiveness:
  • FIWARE Testing:

Publications

Talks

© 2022 NEC