Table of contents

The GDS Way and its content is intended for internal use by the GDS community.

Use configuration management

Use configuration management to manage, automate and standardise your infrastructure. When using configuration management you store your infrastructure as code and put that code in a version control system such as Git.


Use Puppet to configure servers and virtual machines. Puppet is widely used within GDS. It is suitable for most systems and scaleable from the simplest to more complex systems.

If your environment consists of a simple deployment artefact like an Amazon Machine Image (AMI), Puppet may not be necessary, but the process for building that artefact must still be codified and version controlled.


Use Terraform to configure third party cloud infrastructure like Amazon Web Services (AWS) or Fastly.

Terraform supports a large number of providers, and you can configure it to support multiple environments with different parameters. See the govuk-aws repository as an example.

Further reading

Find out more about configuration management in the Service Manual.

This page was last reviewed on 18 June 2019. It needs to be reviewed again on 18 September 2019 by the page owner #gds-way .
This page was set to be reviewed before 18 September 2019 by the page owner #gds-way. This might mean the content is out of date.