Deployment Targets
- Each deployment is associated with a deployment target, which is a Kubernetes cluster where the service is hosted.
- The default deployment target is Valohai’s shared Kubernetes cluster, but you can also use your own cluster.
- Multiple deployment targets are useful when you need to run your service in different geographical locations.
- If you want to set up additional deployment targets, contact your Valohai representative.
- Deployment URLs follow this format:
https://<deployment-target>/<owner>/<project>/<deployment>/
- On the shared Kubernetes cluster, it translates to:
https://valohai.cloud/<owner>/<project>/<deployment>/
Deployment Version
- A deployment version is a Docker image built by Valohai based on your specified Docker image and YAML file.
- It includes your code repository and files defined in the YAML file.
- The deployment version is the actual artifact served on the target Kubernetes cluster.
- Each deployment can have multiple versions simultaneously.
- Running deployment versions are accessible through URLs like:
https://valohai.cloud/<owner>/<project>/<deployment>/<version>
Deployment Endpoint
- A deployment endpoint consists of one or more Docker containers running HTTP servers in an auto-scaling Kubernetes cluster.
- You define endpoints in the valohai.yaml file.
- Multiple endpoints per deployment version are possible to cater to various inference needs in different contexts.
- Each endpoint receives a unique URL like:
https://valohai.cloud/<owner>/<project>/<deployment>/<version>/<endpoint>
Deployment Alias
- Deployment aliases are names like “staging” or “production” that point to specific deployment versions.
- Aliases create canonical URLs, enabling you to control which version is served in different contexts.
- This allows for easy updates or rollbacks to previous versions if needed.
- Changing alias routing is instantaneous.
- For instance, an alias like
https://valohai.cloud/ruksi/mnist/americas/production/predict-digit
remains consistent, even when you release new endpoint versions.
This structure ensures clarity and flexibility in managing your deployments.