Each deployment has a deployment target, which is a Kubernetes cluster that the service will be served on. The default deployment target is a shared Kubernetes cluster managed by Valohai but you can also use your own cluster.
You would use multiple deployment targets if you wish to run your service in different geolocations.
Reach out to your Valohai contact if you wish to setup additional deployment targets.
A deployment version is a Docker image that Valohai builds on top of the Docker image you specify in the
endpoint YAML definition. The build image will include 1) your code repository and 2) all files you defined in the YAML file and specified during deployment version creation.
The deployment version is the actual artifact that is served on the target Kubernetes cluster.
Each deployment can have multiple versions at the same time.
A deployment endpoint is one or more Docker containers running HTTP servers in an auto-scaling Kubernetes cluster. You define endpoints in the valohai.yaml
You can have multiple endpoints per deployment version because a single project can have various inference needs for different contexts.
A deployment alias is a name, like
production, that points to a deployment version.
Aliases create canonical URLs so you can use Valohai to control which version is being served in each context. This allows you to update currently used version or rollback to previous version if something goes wrong. Changing alias routing is instantaneous.
For example, alias
https://valohai.cloud/ruksi/mnist/americas/production/predict-digit could be used by applications utilizing your predictions and they don’t need to change the URL when you a release new endpoint version.