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.