Provisioning
Operating System
All current services are built on Ubuntu LTS releases. Operating systems in all environments should be fully automated.
User invoked installation of operating systems is forbidden.
All projects use a base image, at which point configuration management should take over.
Baked images
Baked images for use in virtualised environments should only be an option where configuration management is not possible.
The requirement of such should be discussed by the team prior to use.
Containers
Containerised images should be built from known sources using configuration management. They should be fully reproducible and with all build configuration in source control.
Provision
Services should be automatically configured both at high and low levels. Compute, network, and storage resources are defined within the provisioning and configuration management in building complete reproducible services.
Roles
All Talis applications and services specify a role tag. The role tag along with an environment tag dictate how, what, and where the application will be provisioned.
Auto scaling
If viable, the service should be auto scaling compliant. Defined service metrics should determine the elasticity of the service.