๐Ÿ—๏ธ Infrastructures in CCP๏ƒ

Infrastructures are external computing environments where Methods are executed.
They define the physical or virtual platforms that host the runtimes.


๐Ÿงพ What is an Infrastructure?๏ƒ

Each infrastructure in CCP is defined by:

  • A unique ID

  • A name

  • A description

  • A type (e.g., Docker, LXD, Kubernetes)

The infrastructure type determines the containerization or execution strategy used at runtime.


๐Ÿงฑ Supported Infrastructure Types๏ƒ

CCP currently supports:

Type Description
docker Single-node Docker host
docker-swarm Multi-node cluster using Docker Swarm
lxd-cluster LXD-based containerized cluster (Linux OS)

โš™๏ธ Runtime Compatibility๏ƒ

Each infrastructure type supports different sets of runtimes.

When designing a Method, you must:

  1. Choose an infrastructure where your method can run

  2. Select a compatible runtime (e.g. python:3.9, r-base, etc.)


๐Ÿ”— Assigning Infrastructures to Executions๏ƒ

When a user runs a method:

  • The platform selects an appropriate infrastructure

  • The runtime (Docker image) is scheduled on that infrastructure

  • Controllers deployed on that infrastructure manage task execution


๐Ÿ“ก Controllers๏ƒ

Each infrastructure have a controller agent installed.
Controllers:

  • Poll for incoming tasks

  • Launch containers or services

  • Report back status and outputs