Deployment templates are a collection of Services that are cloud or environment agnostic. Templates are version controlled to support sophisticated Blue/Green and canary updates.
Deploying a Template
A specific version of the deployment template can be deployed on a cluster with a set of run time configurations to create an application. The run time configurations include Load Balancers, Domains, Routes and Persistent Volumes that are specific to the environment where the template is launched.
Template based application updates
Once an application is launched with a specific version of the template, the application can be updated with a newer or an older version of the template. Right update strategies will be available based on the type of updates within the template.
Environment Variables, Configuration Resource (except the mount point defined in the Container) and all the Policies within the Services are considered as default values. These values can be changed at the time of initial deployment.
Order of Service Deployments
Deployment of Services within a template are sequenced based on the hierarchy of dependencies set within the containers in a Service. The leaf level Services with no dependencies are deployed first before deploying the Services that have dependencies. When there are no dependencies for a Service, it is deployed in the sequence in which it is added to the deployment template.