# 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.
Petro.ai | |
---|---|
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.
Petro.ai | |
---|---|
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.