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.
Web Application Server
Section titled “Web Application Server”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.
Requirements
Section titled “Requirements”- 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)
API Server
Section titled “API Server”This serves as an internal API service layer for orchestrating various business logic.
Requirements
Section titled “Requirements”- 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)
API - Celery worker
Section titled “API - Celery worker”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.
Requirements
Section titled “Requirements”- RAM: 4 GB
- Processor: 2 CPU
- Installation storage space: 10 GB
- Python 3.9+ / pip 10.x+
- Java 8
- Process Management (Example: Supervisor)
Spark - Celery worker
Section titled “Spark - Celery worker”Worker to handle any spark jobs triggered by the API to run asynchronously. It is recommended to have at least 2 workers.
Requirements
Section titled “Requirements”-
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)
Jupyter Notebook
Section titled “Jupyter Notebook”A notebook for free-form analytical usage. We provide Jupyter Notebooks out-of-the-box but can integrate with any other notebooks too.
Requirements
Section titled “Requirements”- 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)
File Management
Section titled “File Management”A file system management to store and retrieve files.
Requirements
Section titled “Requirements”-
File storage space: 10 GB
-
File System
- Local File System
- SSH-based File System
Metadata Database
Section titled “Metadata Database”This serves as an internal API service layer for orchestrating various business logic. See the Metadata Database Setup options.
Requirements
Section titled “Requirements”-
RAM: 2 GB
-
Processor: 2 CPU
-
Database storage space: 1 GB
-
SQL Database
- Oracle 19+
- Postgres 11.7+
Messaging Queue
Section titled “Messaging Queue”A low-latency task queue to send and receive information about the asynchronous tasks.
Requirements
Section titled “Requirements”- RAM: 4 GB
- Processor: 2 CPU
- DB Snapshots storage space: 10 GB
- Redis 4+
Was this page helpful?
Thanks for the feedback.