Environment defines the hardware and the location where to run your code.
Environments encapsulate the following information:
Who owns the environment instances?
Are you running on Azure, Amazon, Google, OpenStack or on-premises?
Are you running in USA, Asia, Europe, etc.
How much memory and CPU is available?
Does it have GPUs?
Environment defined in the YAML is the default value for executions of that particular step type. In other words, it can overwritten by selecting a separate environment in the web interface dropdown or with
vh exec run -e <SLUG> <STEP_NAME> command-line parameter.
You can use
vh environments command to see available environments after logging in.
The most common environment slug syntax is
<OWNER_IF_NOT_VALOHAI>-<CLOUD_PROVIDER>-<LOCATION>-<HARDWARE_TYPE>. For example:
It is wise to use an environment in the same data center or geographical location as your data store to minimize the data transfer durations.