Code Monkey home page Code Monkey logo

iofabric's Introduction

The iotracks ioFabric product

Imagine a world where you can choose self-contained pieces of code (called microservices) and make them run anywhere you want at the push of a button. Where you can remotely control the code that is running on twenty iPhones in workers' pockets, thirty servers running in a factory building, and ten computers running in the trucks that ship your products... and you can do it all with the same single technology. Imagine a world where you move the processing close to where the data is happening, and where you can finally separate streams of information from the end applications that use them. This world will be brought to life by iotracks, and a big part of the vision is the ioFabric product that runs on the various computers.

This repository is the production code base for the x86 Linux version of the ioFabric product.

ioFabric is a service that runs constantly in the background on a Linux machine. It is the agent that turns a Linux computer into a piece of the iotracks I/O compute fabric.

There should be an ioFabric code base for every processing platform that becomes part of the I/O compute fabric. Network connectivity, process invocation, thread management, and other details of an ioFabric will vary from platform to platform. The same ioFabric principles apply to every version, but the implementation of the principles should match the native languages and structures best suited for the platform.

###Principles of an ioFabric:

  • Never go down
  • Respond immediately to the fabric controller
  • Operate flawlessly when offline
  • Report status frequently and reliably
  • Execute instructions with no understanding of the bigger picture
  • Provide a high-performance message bus and local API
  • Enforce the configured resource consumption constraints strictly
  • Allow the most flexible and powerful processing element model possible
  • Be able to instantiate processing elements from any available source
  • Be able to communicate with any reachable fabric controller
  • Allow processing elements to implement security and connectivity as they would natively
  • Ensure that complying with the local API is the only requirement placed on a processing element
  • Only shutdown or restart processing elements when requested or when absolutely necessary
  • Run only processing elements with verified source and integrity
  • Never allow a message to reach unauthorized processing elements
  • Only allow messages of the proper registered type to reach processing elements
  • Guarantee message source and order

See the docs folder in this repository for architecture, project microculture, engineering philosophy, functional specifications, and more.

iofabric's People

Contributors

ashitanagar avatar baghbidi avatar bdavisx avatar ilaryionava avatar iokilton avatar kilton avatar pavelkazlou avatar

Watchers

 avatar  avatar

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.