# System Recommendations

# 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 should be network and CPU optimized for API traffic. Further hardware considerations and production level configurations for the Petro.ai Database should be reviewed in the MongoDB Production Notes and MongoDB Operations Checklist.

Petro.ai can easily be scaled to fit a particular use case. When selecting a server to run Petro.ai there are several factors that should be considered including the size of the data set and the number of concurrent users. Below are general recommendations for deploying Petro.ai that cover most common use cases. Specific use cases may require more or less resources.

# Standard Deployment

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

  • Real-time data ingestion into Petro.ai
  • Large datasets spanning most Petro.ai data types
  • Multiple web users

Workflows in Petro.ai require pulling large amounts of data from the database, running calculations, and then sending the output data to the client’s browser. As more users are added or as workflows grow, you will need to scale your Petro.ai Node to handle the additional load. When scaling, focus on increasing CPU resources and network bandwidth.

Platform Windows Server 2016 or better
CPU ≥ 32 vCPUs
RAM ≥ 64 GB
OS Disk 80 GB
Network Bandwidth ≥ 12000 Mbps

# Production Database

Petro.ai utilizes a Mongo Database for storing data. We recommend using a MongoDB Atlas cluster (M30 or larger).

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.

# Test Environment

# Test 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 small production or test environments.

Platform Windows Server 2016 or better
CPU ≥ 8 vCPUs
RAM ≥ 32 GB
OS Disk 80 GB
Network Bandwidth ≥ 4000 Mbps
Data Disk (note 2) N/A

# Test Database

For the test database we recommend at least an MondoDB Atlas M10 equivalent or greater.

Note 1

See MongoDB Documentationfor recommended platforms.