For existing aiWARE instances that use Docker containers, run modes are a programming label used to designate a service to be run on an aiWARE node. This document covers how those run modes are distributed among those instances.
[Note] New aiWARE instances are deployed using Kubernetes and do not use run modes.
Each node in an aiWARE instance that uses Docker containers for deployment has one or more roles. These roles are called run modes and each provides a service. Examples include load balancing, eventing, registry, database, and controller. These run modes can be installed in a single node, or they can be broken out and distributed among multiple nodes to manage higher processing loads. During instance creation, Hub allows you to select preset sizes that handle the distribution of the services.
- Small instances are designed for testing and/or very small workloads.
- Medium instances separate key services onto dedicated hosts while bundling others that are less resource-intensive.
- Large instances are designed for very large workloads where most run modes are installed on separate nodes.
The following table indicates how the run modes that make up an aiWARE instance are distributed among processing nodes:
| Size | Server role | Run mode |
| Small | All-in-1 | engine, registry, controller, db, prometheus, api, apps, eventing, automatestudio, lb, nsq, es, redis, minio, hubagent |
| Medium | Admin | nfs, controller, db, prometheus, automatestudio, hubagent |
| Engine | engine |
| Services | api, apps, eventing, lb |
| Storing/Caching | nsq, es, redis, minio |
| Large | Controller | controller, hubagent |
| Database | db |
| ElasticSearch | es |
| Engine | engine |
| Min.io | minio |
| NFS | nfs |
| NSQ, Redis | nsq, redis |
| Prometheus | prometheus |
| Registry | registry |
| Services | lb, api, apps, eventing |