# System Specifications

# Production Environment

Petro.ai is flexible enough to be deployed on a single node for testing environments but can scale up to fit the redundancy and performance needs in a production deployment. In general, Petro.ai Core should be network and CPU optimized for API traffic and Petro.ai Worker should be CPU and RAM optimized for job workloads. Further hardware considerations and production level configurations for the Petro.ai Database should be reviewed in the MongoDB Production Notes and MongoDB Operations Checklist.

Below are the recommended system deployments and their associated specifications.

# Five-Node Deployment

The five-node deployment offers the best performance for API routing, many/frequent scheduled jobs, and large datasets, and database availability. It is best suited for large production environments with the following use cases:

  • Real-time data ingestion into Petro.ai
  • Large datasets spanning most Petro.ai datatypes
Petro Manager Petro Worker Petro Database 1 Petro Database 2 Petro Database 3
Platform Windows Server 2016 or better Windows Server 2016 or better Windows Server 2016 or better (note 1) Windows Server 2016 or better (note 1) Windows Server 2016 or better (note 1)
CPU ≥ 4 vCPUs ≥ 8 vCPUs ≥ 8 vCPUs ≥ 8 vCPUs ≥ 8 vCPUs
RAM ≥ 16GB ≥ 32GB ≥ 32GB ≥ 32GB ≥ 32GB
OS Disk 80GB 80GB 80GB 80GB 80GB
Data Disk (note 2) N/A N/A 1TB 1TB 1TB

Note 1

See MongoDB Documentation for recommended platforms.

Note 2

For data replication and disaster recovery data disks should be physically separate, i.e. not sharing a common virtualized disk.

# Three-Node Deployment

The three-node deployment offers a smaller database footprint at the expense of database availability. It is best suited for moderately sized production or test environments with the following use cases:

  • No real-time data ingestion
  • Moderately sized datasets focusing on a subset of Petro.ai datatypes
Petro Manager Petro Worker Petro Database 1, 2, 3
Platform Windows Server 2016 or better Windows Server 2016 or better Windows Server 2016 or better (note 1)
CPU ≥ 4 vCPUs ≥ 8 vCPUs ≥ 8 vCPUs
RAM ≥ 16GB ≥ 32GB ≥ 32GB
OS Disk 80GB 80GB 80GB
Data Disk (note 2) N/A N/A 3 x 500GB

Note 1

See MongoDB Documentation for recommended platforms.

Note 2

For data replication and disaster recovery data disks should be physically separate, i.e. not sharing a common virtualized disk.

# Two-Node Deployment

The two-node deployment offers an economical hardware footprint at the expense of database availability and Petro.ai performance. It is best suited for very small production or test environments with the following use cases:

  • No real-time data ingestion
  • Small sized datasets focusing on a few Petro.ai datatypes (e.g. Decline Curve Analysis only)
Petro Manager + Worker Petro Database 1, 2, 3
Platform Windows Server 2016 or better Windows Server 2016 or better (note 1)
CPU ≥ 4 vCPUs ≥ 8 vCPUs
RAM ≥ 16GB ≥ 32GB
OS Disk 80GB 80GB
Data Disk (note 2) N/A 3 x 256GB

Note 1

See MongoDB Documentationfor recommended platforms.

Note 2

For data replication and disaster recovery data disks should be physically separate, i.e. not sharing a common virtualized disk.