Skip to content
forked from smartfog/fogflow

FogFlow is a distributed execution framework to support dynamic processing flows over cloud and edges.

License

Notifications You must be signed in to change notification settings

showersky/fogflow

 
 

Repository files navigation

FogFlow

FIWARE Security License: BSD-4-Clause Docker Status Support badge
Documentation badge Status Build Status Swagger Validator

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 programming and managing 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

Usage

Information about how to use FogFlow can be found in the User & Programmers Manual

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:

More Information

License

FogFlow is licensed under BSD-4-Clause.

© 2017 NEC

About

FogFlow is a distributed execution framework to support dynamic processing flows over cloud and edges.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%