diff --git a/cli/cmd/lib_cluster_config.go b/cli/cmd/lib_cluster_config.go index 669deb253c..5beb98e689 100644 --- a/cli/cmd/lib_cluster_config.go +++ b/cli/cmd/lib_cluster_config.go @@ -284,21 +284,21 @@ func confirmInstallClusterConfig(clusterConfig *clusterconfig.Config, awsCreds * if clusterConfig.Spot != nil && *clusterConfig.Spot { if *clusterConfig.SpotConfig.OnDemandBaseCapacity == 0 && *clusterConfig.SpotConfig.OnDemandPercentageAboveBaseCapacity == 0 { - fmt.Println(fmt.Sprintf("WARNING: you've disabled on-demand instances (%s=0 and %s=0); spot instances are not guaranteed to be available so please take that into account for production clusters", clusterconfig.OnDemandBaseCapacityKey, clusterconfig.OnDemandPercentageAboveBaseCapacityKey)) + fmt.Printf("WARNING: you've disabled on-demand instances (%s=0 and %s=0); spot instances are not guaranteed to be available so please take that into account for production clusters; see https://www.cortex.dev/v/%s/cluster-management/spot-instances for more information\n", clusterconfig.OnDemandBaseCapacityKey, clusterconfig.OnDemandPercentageAboveBaseCapacityKey, consts.CortexVersionMinor) } else { - fmt.Println("WARNING: you've enabled spot instances; spot instances are not guaranteed to be available so please take that into account for production clusters") + fmt.Printf("WARNING: you've enabled spot instances; spot instances are not guaranteed to be available so please take that into account for production clusters; see https://www.cortex.dev/v/%s/cluster-management/spot-instances for more information\n", consts.CortexVersionMinor) } fmt.Println() } - exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config", consts.CortexVersionMinor) + exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config for more information", consts.CortexVersionMinor) prompt.YesOrExit("would you like to continue with this installation?", exitMessage) } func confirmUpdateClusterConfig(clusterConfig *clusterconfig.Config, awsCreds *AWSCredentials) { fmt.Println(clusterConfigConfirmaionStr(clusterConfig, awsCreds) + "\n") - exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config", consts.CortexVersionMinor) + exitMessage := fmt.Sprintf("cluster configuration can be modified via the cluster config file; see https://www.cortex.dev/v/%s/cluster-management/config for more information", consts.CortexVersionMinor) prompt.YesOrExit(fmt.Sprintf("your cluster (%s in %s) will be updated according to the configuration above, are you sure you want to continue?", clusterConfig.ClusterName, *clusterConfig.Region), exitMessage) } diff --git a/docs/cluster-management/aws.md b/docs/cluster-management/aws-credentials.md similarity index 100% rename from docs/cluster-management/aws.md rename to docs/cluster-management/aws-credentials.md diff --git a/docs/cluster-management/ec2-instances.md b/docs/cluster-management/ec2-instances.md new file mode 100644 index 0000000000..4461564268 --- /dev/null +++ b/docs/cluster-management/ec2-instances.md @@ -0,0 +1,59 @@ +# EC2 instances + +_WARNING: you are on the master branch, please refer to the docs on the branch that matches your `cortex version`_ + +You can spin up a Cortex cluster on a variety of AWS instance types. If you are unsure about which instance to pick, review these options as a starting point. This is not a comprehensive guide so please refer to the [full documentation](https://aws.amazon.com/ec2/instance-types/) on AWS for more information. + +## T3 instances + +[T3 instances](https://aws.amazon.com/ec2/instance-types/t3/) are useful for **development** clusters that primarily run model inferences with low compute and memory resource utilization. + +* Example: [iris classification](../../examples/sklearn/iris-classifier) +* Compute: low +* Memory: low +* GPU: no +* AWS cost: starts at $0.0052 per hour* + +## C5 instances + +[C5 instances](https://aws.amazon.com/ec2/instance-types/c5/) are useful for clusters that primarily run model inferences with medium compute and low memory resource utilization. + +* Example: [language identification](../../examples/pytorch/language-identifier) +* Compute: medium +* Memory: low +* GPU: no +* AWS cost: starts at $0.085 per hour* + +## M5 instances + +[M5 instances](https://aws.amazon.com/ec2/instance-types/m5/) are useful for clusters that primarily run model inferences with low compute and memory resource utilization. + +* Example: [MPG estimation](../../examples/sklearn/mpg-estimator) +* Compute: low +* Memory: medium +* GPU: no +* AWS cost: starts at $0.096 per hour* + +## G4 instances + +[G4 instances](https://aws.amazon.com/ec2/instance-types/g4/) are useful for clusters that primarily run model inferences with high compute and low memory resource utilization that can run on GPUs. + +* Example: [image classification](../../examples/tensorflow/image-classifier) +* Compute: high +* Memory: medium +* GPU: yes +* AWS cost: starts at $0.526 per hour* + +## P2 instances + +[P2 instances](https://aws.amazon.com/ec2/instance-types/p2/) are useful for clusters that primarily run model inferences with high compute and high memory resource utilization that can run on GPUs. + +* Example: [text generation](../../examples/tensorflow/text-generator) +* Compute: high +* Memory: high +* GPU: yes +* AWS cost: starts at $0.900 per hour* + +
+ +* On-demand pricing for the US West (Oregon) AWS region. diff --git a/docs/cluster-management/install.md b/docs/cluster-management/install.md index a7dfbb32ee..7d7ca040b2 100644 --- a/docs/cluster-management/install.md +++ b/docs/cluster-management/install.md @@ -5,11 +5,11 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t ## Prerequisites 1. [Docker](https://docs.docker.com/install) -2. [AWS credentials](aws.md) +2. [AWS credentials](aws-credentials.md) ## Installation -See [cluster configuration](config.md) to learn how you can customize your cluster. +See [cluster configuration](config.md) to learn how you can customize your installation and [EC2 instances](ec2-instances.md) for an overview of how to pick an appropriate EC2 instance type for your cluster. ```bash diff --git a/docs/cluster-management/uninstall.md b/docs/cluster-management/uninstall.md index 1701ee2a36..8adbaadbf0 100644 --- a/docs/cluster-management/uninstall.md +++ b/docs/cluster-management/uninstall.md @@ -4,7 +4,7 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t ## Prerequisites -1. [AWS credentials](aws.md) +1. [AWS credentials](aws-credentials.md) 2. [Docker](https://docs.docker.com/install) 3. [Cortex CLI](install.md) 4. [AWS CLI](https://aws.amazon.com/cli) diff --git a/docs/cluster-management/update.md b/docs/cluster-management/update.md index cd0c1a6e65..91c970c973 100644 --- a/docs/cluster-management/update.md +++ b/docs/cluster-management/update.md @@ -5,7 +5,7 @@ _WARNING: you are on the master branch, please refer to the docs on the branch t ## Prerequisites 1. [Docker](https://docs.docker.com/install) -2. [AWS credentials](aws.md) +2. [AWS credentials](aws-credentials.md) ## Updating your cluster configuration diff --git a/docs/summary.md b/docs/summary.md index 71ae3bdca7..e3cd8d81a4 100644 --- a/docs/summary.md +++ b/docs/summary.md @@ -34,9 +34,10 @@ * [CLI commands](cluster-management/cli.md) * [Cluster configuration](cluster-management/config.md) -* [Spot instances](cluster-management/spot-instances.md) -* [AWS credentials](cluster-management/aws.md) +* [AWS credentials](cluster-management/aws-credentials.md) * [Security](cluster-management/security.md) +* [AWS instances](cluster-management/ec2-instances.md) +* [Spot instances](cluster-management/spot-instances.md) * [Update](cluster-management/update.md) * [Uninstall](cluster-management/uninstall.md) * [Telemetry](cluster-management/telemetry.md)