Code Monkey home page Code Monkey logo

fogernetes's Introduction

A platform for the deployment and management of fog computing applicatoins using a label-based requirements & capabilities mapping process.

This version of Fogernetes is based upon the work described in

Cecil Wöbker, Andreas Seitz, Harald Mueller, and Bernd Bruegge
Fogernetes: Deployment and Management of Fog Computing Applications
Submitted for the IEEE/IFIP International Workshop on Decentralized Orchestration and Management of Distributed Heterogeneous Things (DOMINOS’2018),
Marc-Oliver Pahl, Hanan Lutfiyya, Jeremy Singer, Steven Johnston, and Colin Perkins, April 2018, Taipei, Taiwan.

If you wish to reuse parts of this repo, please cite the above mentioned article.

Intro

Devices used in fog and edge computing are heterogeneous, decentralized and distributed. These computing environments are unpredictable and their applications are becoming more complex. This leads to challenges regarding deployment and management of fog and edge applications.
It is important to ensure that quality of service, availability, reliability and real-time characteristics are guaranteed during deployment to take advantage of fog computing. In this paper, we present Fogernetes, a fog computing platform that enables management and deployment of fog applications with specific requirements on heterogeneous devices with different capabilities. Fogernetes allows matching requirements of application components with device capabilities by using a labeling system. Based on a case study, we evaluate and test Fogernetes and examine its practical applicability for the deployment and management of fog computing applications. Fodeo serves as an example application. Fodeo analyzes video streams from multiple cameras and detects objects in them. Fogernetes enables the deployment of Fodeo components on appropriate devices by matching requirements and capabilities.

Fodeo

fodeo/

We present Fodeo (FogVideo), a custom fog application we created for testing and evaluating Fogernetes.

Fodeo is a surveillance application that delivers and analyzes videos from multiple cameras. The video signal is recorded and analyzed in a cloud component. Fodeo applies fog computing to improve the video delivery performance. Fodeo manages to save bandwidth by filtering incoming data and sending compressed video data to the cloud. The following figure shows the 4 Fodeo components and their relation.

Deployment

fodeo/deployment

Using the power and versatility of Kubernetes we can deploy the Fodeo components with just a few lines of code.

#!/usr/bin/env bash

kubectl create -f deployment/fodeo-central
kubectl create -f deployment/fodeo-fog
kubectl create -f deployment/fodeo-camera

The resulting deployment can be seen below.

Quick Setup Guide

setup/

You can find some basic setup scripts in the "setup" directory.

  • prepare.sh
  • create.sh
  • join.sh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.