Compute Resource Planning
This section provides guidance on choosing the instance types for the nodes in your node pools.
Operator Nodes
The operator pods are very small. Each operator requires 0.5 CPU. The table below lists the recommended instance types and sizes for a single operator. If you plan to co-locate operators on a single instance, increase CPU accordingly. For example, an instance with 4 CPU can run up to 7 operators (3.5 CPU for operator pods and 0.5 CPU for the auxiliary service).
CSP | Suggested Type | vCPU | RAM | Disk |
---|---|---|---|---|
AWS | m5.large | 2 | 8 GiB | 50 GB |
GCP | n1-standard-1 | 1 | 3.75 GiB | 50 GB |
Azure | Standard_DS2_v2 | 2 | 7 GiB | 50 GB |
For Amazon EKS deployments, the suggested instance type for Operator nodes is also recommended for nodes in the Common node group. The Common group runs K8s service pods, such as Cluster Autoscalers and Load Balancers, which are very small and require few resources.
AnzoGraph Nodes
Since AnzoGraph is a high-performance, in-memory database, RAM is the most critical resource to consider when determining the overall size and number of nodes to use for AnzoGraph environments. Consider the size of the data that you plan to load and then multiply that size by 3 or 4 to determine the total memory requirement. Query processing and intermediate results can temporarily consume a very large amount of memory. For more information about AnzoGraph sizing guidelines, see Sizing Guidelines for In-Memory Storage.
Also, unlike Distributed Unstructured, for example, where leader and worker pods can be colocated on the same node, only one AnzoGraph pod should be run per node. The table below shows a range of cloud instances to choose from that are ideal for running AnzoGraph pods.
CSP | Suggested Range | vCPU Range | RAM Range | Disk |
---|---|---|---|---|
AWS | m5.4xlarge – m5.16xlarge | 8 – 64 | 32 GiB – 256 GiB | 100 GB |
GCP | n1-standard-8 – n1-standard-64 | 8 – 64 | 30 GiB – 240 GiB | 100 GB |
Azure | DSv2 and DSv3 series | 8 – 64 | 28 GiB – 256 GiB | 100 GB |
Dynamic Nodes
Nodes in the Dynamic node pool need to be sized to run Anzo Agent pods. An Anzo Agent is a scaled down version of the Anzo Server that coordinates the sending of documents to the Distributed Unstructured (DU) worker nodes. Anzo Agent pods require more resources than DU leader, worker, and Elasticsearch pods. Each unstructured pipeline deploys a single Anzo Agent pod, and the pod needs to have enough resources to coordinate the pipeline. Anzo Agent pods are typically deployed as one pod per node, while the DU worker and Elasticsearch nodes run multiple pods per node. The table below lists the recommended instance types and sizes for running the Anzo Agent pods. The recommended instances are also sufficient for running multiple DU and Elasticsearch pods.
CSP | Suggested Type | vCPU | RAM | Disk |
---|---|---|---|---|
AWS | m5.2xlarge | 8 | 32 GiB | 100 GB |
GCP | n1-standard-8 | 8 | 30 GiB | 100 GB |
Azure | Standard_D8s_v3 | 8 | 32 GiB | 100 GB |
For instructions on setting up the K8s infrastructure, see Setting up K8s Infrastructure for Dynamic Deployments.