Skip to content
Corridor V1.26.08 is out, see what's new

Technology

Minimum Requirements

Ask AI

The minimum hardware, software, and version requirements for each component of a Corridor installation.

This section describes the minimum requirements that are needed for a Corridor Installation.

Broadly, the components involved are:

  • Web Application Server
  • API Server
  • API - Celery worker
  • Spark - Celery worker
  • Jupyter Notebook
  • File Management
  • Metadata Database (SQL RDBMS)
  • Messaging Queue (Redis)

For very simple installations, all of these could be installed on the same machine, we recommend keeping them separate to simplify scalability needs.

This serves the Web User Interface and Web APIs for the consumption of the User Interface. It is a flask application that serves all resources required for the functioning of the Corridor Platform - Web Interface.

  • RAM: 2 GB
  • Processor: 2 CPU
  • Installation storage space: 10 GB
  • Python 3.9+ / pip 10.x+
  • WSGI HTTP Server (Example: Gunicorn)
  • Web Server (Example: Nginx)
  • Process Management (Example: Supervisor)

This serves as an internal API service layer for orchestrating various business logic.

  • RAM: 2 GB
  • Processor: 2 CPU
  • Installation storage space: 10 GB
  • Python 3.9+ / pip 10.x+
  • Java 8
  • WSGI HTTP Server (Example: Gunicorn)
  • Process Management (Example: Supervisor)

A worker to handle any tasks for the API machine that take time and run asynchronously. It is recommended to have at least 2 workers.

  • RAM: 4 GB
  • Processor: 2 CPU
  • Installation storage space: 10 GB
  • Python 3.9+ / pip 10.x+
  • Java 8
  • Process Management (Example: Supervisor)

Worker to handle any spark jobs triggered by the API to run asynchronously. It is recommended to have at least 2 workers.

  • RAM: 16 GB

  • Processor: 8 CPU

  • HDFS storage space: 500 GB (depends on the data being processed, HDFS space to handle shuffles needs to be considered too)

  • Spark Workers 4+ (and more as per usage by users)

    • RAM: 32 GB
    • Processor: 16 CPU
  • Python 3.9+ / pip 10.x+

  • Java 8

  • Spark 3.4+

  • Process Management (Example: Supervisor)

A notebook for free-form analytical usage. We provide Jupyter Notebooks out-of-the-box but can integrate with any other notebooks too.

  • RAM: 4 GB for base services and more as per usage by users
  • Processor: 4 CPU and more as per usage by users
  • Installation storage space: 10 GB
  • Python 3.9+
  • Spark 3.4+
  • Process Management (Example: Supervisor)

A file system management to store and retrieve files.

  • File storage space: 10 GB

  • File System

    • Local File System
    • SSH-based File System

This serves as an internal API service layer for orchestrating various business logic. See the Metadata Database Setup options.

  • RAM: 2 GB

  • Processor: 2 CPU

  • Database storage space: 1 GB

  • SQL Database

    • Oracle 19+
    • Postgres 11.7+

A low-latency task queue to send and receive information about the asynchronous tasks.

  • RAM: 4 GB
  • Processor: 2 CPU
  • DB Snapshots storage space: 10 GB
  • Redis 4+