4digital.cloud4digital.cloud
← All work

Time and independence

Shared deployment logic for multiple applications

Outcome: A change to how many applications are deployed is made in one place, while each team keeps control of its own settings.

01 / The problem

A deployment error showed that application configuration, the shared deployment logic and the parameters of an individual run were not separated.

Deployment logic and environment configuration were duplicated across many pipelines, some environment parameters were hard-coded, and templates were used inconsistently. Every change meant editing several places, and inconsistent parameters caused errors.

02 / Methodology

I organised the deployments around three principles:

  • Separating configuration, logic and parameters — application-specific configuration, the shared deployment logic and the parameters of an individual run are kept apart.
  • Shared operations in one place — operations common to many applications are maintained centrally in a hierarchy of shared templates, while configuration stays in the application’s own repository.
  • One mechanism for different ways of running — the same process can be run by an application team on its own or by a central process coordinating the deployment of many services.

03 / The solution I built and its outcome

I designed and deployed a hierarchy of shared deployment templates that implements these principles. It accounts for secrets management and dependencies between stages.

In this way I removed the cause of the error that exposed the problem and clarified ownership of configuration and the shared deployment logic.

Value: a change to the shared process is made in one place, and application teams keep control of their own configuration.

Technology areas
CI/CD · Deployment templates · Secrets management · Deployment orchestration