Skip to main content

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.

Components.png

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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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

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)
  • 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

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)

Deployment diagram

Deployment.png