ANTI-HERO

A distributed system for balancing durability and resource cost

Flexible & Scalable

Configure ANTI-HERO exactly how you want or take a hands off approach, your choice

Semi-Decentralized

Breathe easy knowing that ANTI-HERO will continue to operate, even in the midst of server failures

Balanced

By leveraging existing infrastructure, ANTI-HERO provides fault tolerance with minimal extra cost.

Fault Tolerant

Automatic Failure Detection

ANTI-HERO utilizes a node partnering system to leverage existing infrastructure while also providing the added benefit of fault tolerance. Paired nodes can work independently under normal conditions and when necessary, automatically detect failures and take over for their partner.

Mainframe's Magic Schedule Builder on the homepage

Self-Healing

Automatic Recovery after Failure

Previously failed worker nodes are able to automatically detect their own failure and initiate the recovery process via the Orchestrator. No user intervention needed.

Mainframe's Magic Schedule Builder on the homepage

Semi-Decentralized

Centralized orchestration, but only as needed

Worker nodes only report to the centralized orchestrator as needed. Under normal operating conditions, no centralized communication is needed. As a result, even if communication between worker nodes and the Orchestrator temporarily falters, transactions can continue.

Scalable

Scale with Additional Nodes as Needed

Seamelessly register new worker nodes, transfer inventory, and assign partners

Mainframe's Magic Schedule Builder on the homepage

Live Monitoring & Analytics

Monitor cluster status with web view

Monitoring the status of the cluster's worker nodes and their network traffic is easy with ANTI-HERO's data graph views and 3D Traffic Visualizer powered by D3.js and Three.js, respectively.

Mainframe's Magic Schedule Builder on the homepage

Automated Interactive Test Client

Interactively configure and test your setup

Managing the system is easy with the interactive client which supports configuring the system as well as running automated testing experiments. No need to memorize complicated commands or verbose URLs.

Mainframe's Magic Schedule Builder on the homepage
What technologies are used?

The basis of ANTI-HERO are the intercommunicating APIs which were built using Python framework Flask (later modifications used FastAPI). Additionally, the background worker and test client were also written using Python. ANTI-HERO's web view is a React-based single page application that connects directly to the servers running ANTI-HERO.

How is the data stored?

Each worker node and Orchestrator have their own local standalone PostgreSQL database. ANTI-HERO utilizes SQLAlchemy in order to interface with the PostgreSQL database, however any database compatible with SQLAlchemy can be configured for use with the system.