Components
Overview
TIM version 5 is composed of 10 components (8 are required, 2 are optional). Each component is a Docker image that is deployed on a Kubernetes cluster as Deployment, StatefulSet or CronJob.
Required TIM components
- REST API
- Handles public access to other TIM components. Manages user authentication, and provides a unified API for all TIM components.
- Kubernetes resource kind: Deployment
- Recommended replicas: 4
- Minimum hardware requirements per Pod:
- 0.1 cores
- 500 Mi RAM
- Network ports:
- Exposes:
- HTTP port 8000 (public interface)
- Uses:
- PostgreSQL database port 5432
- Workflow Management port 8073
- Dataset Management port 8080
- Job Management port 8071
- Tangent Works Identity Management https://tim-platform-im.tangent.works (or IP address 20.86.206.245) port HTTPS 443
- Exposes:
- Workflow Management
- Manages user groups, workspaces, use cases and experiments.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 0.1 cores
- 500 Mi RAM
- Network ports:
- Exposes:
- HTTP port 8073 (private)
- Uses:
- PostgreSQL database port 5432
- Dataset Management port 8080
- Job Management port 8071
- Exposes:
- Dataset Management
- Manages datasets.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 0.1 cores
- 2 Gi RAM
- Network ports:
- Exposes:
- HTTP port 8080 (private)
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Job Management port 8071
- Exposes:
- Dataset Management Worker
- Performs asynchronous operations on datasets (upload of new datasets or update of data in existing datasets).
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 0.1 cores
- 2 Gi RAM
- Network ports:
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Dataset Management port 8080
- Job Management port 8071
- Uses:
- Job Management
- Manages ML jobs.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 0.1 cores
- 750 Mi RAM
- Network ports:
- Exposes:
- HTTP port 8071 (private)
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Dataset Management port 8080
- Exposes:
- TIM Worker Heavy
- Performs machine learning tasks in heavy and complex ML jobs.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 2 cores
- 8 Gi RAM
- Network ports:
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Dataset Management port 8080
- Job Management port 8071
- Uses:
- TIM Worker Light
- Performs machine learning tasks in light ML jobs.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 1 cores
- 4 Gi RAM
- Network ports:
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Dataset Management port 8080
- Job Management port 8071
- Uses:
Optional TIM components
- TIM Studio web server
- Serves static files for the TIM Studio web application.
- Kubernetes resource kind: Deployment
- Recommended replicas: 2
- Minimum hardware requirements per Pod:
- 0.1 cores
- 100 Mi RAM
- Network ports:
- Exposes:
- HTTP port 5000 (public interface)
- Exposes:
- CronJob
- Performs periodic cleaning tasks.
- Kubernetes resource kind: CronJob (run once every 24 hours)
- Recommended replicas: 1
- Minimum hardware requirements per Pod:
- 0.1 cores
- 500 Mi RAM
- Network ports:
- Uses:
- PostgreSQL database port 5432
- RabbitMQ port 5672
- Workflow Management port 8073
- Dataset Management port 8080
- Job Management port 8071
- Uses:
Required 3rd party components
- RabbitMQ
- Queue broker in version 3.11 or higher.
- Kubernetes resource kind: StatefulSet
- Recommended replicas: 1
- Minimum hardware requirements per Pod:
- 0.5 cores
- 1 Gi RAM
- Network ports:
- Exposes:
- AMQP port 5672 (private)
- HTTP port 15672 (private)
- Exposes: