# Architecture The Horus architecture consists of three layers: 1. Coordinator: A workflow engine that executes DAG-based flows by sending ready job steps to the targeted supervisors. 2. Supervisor: A job dispatcher that routes jobs to the appropriate runners. 3. Runner: A job executor that runs the actual job steps. ## Networking - The user / client talks to the coordinator over an OpenRPC interface, using either regular HTTP transport or Mycelium. - The coordinator talks to the supervisor over an OpenRPC interface, using either regular HTTP transport or Mycelium. - The supervisor talks to runners over a Redis based job execution protocol.