In your machine learning workspace, you have a Compute Cluster of typeStandard_D2s_v3 with 0/2 nodes, and a Compute Instance of type Standard_D2s_v3
You want to use these computes in the most cost-effective manner, i.
e.
you want to avoid being charged for unwanted costs.
Which best practice should you follow?
Click on the arrows to vote for the correct answer
A. B. C. D.Answer: A.
Option A is CORRECT because the compute instances are single VMs which must be managed manually.
Once you start them, they remain in “Running” state until stopped (or deleted) manually.
In order to save costs, stop them when they are not in use.
Option B is incorrect because if the minimum number of nodes for the compute cluster is set to 0, the compute is automatically scales down to 0 nodes when running idle.
Option C is incorrect because the compute cluster are spinning and scaling up when they are in use, depending on the workload.
If the minimum number of nodes is set to 0, the cluster scales down to 0 nodes when not in use.
The maximum number of nodes has no effect on costs.
Option D is incorrect because while the compute cluster scales down automatically the minimum number of nodes, the compute instance is running generating cost even if it is idle.
Diagram - Managing compute instances.
Reference:
To use the computes in the most cost-effective manner and avoid being charged for unwanted costs, the best practice to follow depends on the type of compute resources you are using. In this case, you have a Compute Cluster of type Standard_D2s_v3 with 0/2 nodes and a Compute Instance of type Standard_D2s_v3.
Option A: Stop the Compute Instance while it is unused Stopping the Compute Instance while it is unused is a good cost-saving practice because you are only charged for the time the instance is running. When the instance is stopped, you are not charged for compute resources, but you will still be charged for storage.
Option B: Stop the Compute Cluster while it is unused Stopping the Compute Cluster while it is unused can also be a good cost-saving practice because you are only charged for the time the cluster is running. However, when the cluster is stopped, any jobs that were running or scheduled to run are canceled, and the state of the nodes is lost.
Option C: For the Compute Cluster, set the number of max nodes to 0 Setting the maximum number of nodes for the Compute Cluster to 0 can be an effective cost-saving practice because it prevents any compute nodes from being provisioned, and therefore you are not charged for any compute resources. However, this can impact the performance of your jobs, and it may not be the best option if you need to scale up quickly.
Option D: Do nothing - your computes are stopped automatically when not used. This option is not valid because Azure does not automatically stop Compute Clusters or Compute Instances when they are not used. You will be charged for any compute resources used, regardless of whether you are actively running jobs or not.
Therefore, the best option for this scenario is Option A: Stop the Compute Instance while it is unused. This will ensure that you are only charged for the time the instance is running, and it allows you to easily start the instance again when you need it. If you have any running jobs on the Compute Cluster, you may need to consider a different approach, such as stopping the Compute Cluster when it is unused or scaling down the number of nodes to a minimum to reduce costs.