The GDS Way
The GDS Way documents the specific technology, tools and processes that GDS teams use to build and operate services.
It’s not intended as guidance for anyone working outside GDS - you’ll find that in the Service Manual.
About The GDS Way
The GDS Way shares agreed ways of working so service teams benefit from:
- using similar tools
- central procurement
- costs savings as new teams will be cheaper to spin up
The GDS Way makes it easier for projects to get started while still giving teams flexibility to do something different if their project needs it.
The GDS Way includes consistent:
- ways of working
- technology and tools
All decisions are made in alignment with Service Manual which covers service design more broadly.
Products at GDS in discovery or alpha development phases must follow instructions set out in the Service Manual and also have the option to follow the standards in this repository.
Products in beta and live phases must follow both the instructions set out in the Service Manual and the standards in this repository.
Standards are based on formal decisions made by the GDS Way Forum and have an expiry date. Expiry dates ensure decisions are reviewed to check their continued relevance for GDS.
How to build software
The following standards help you build your service, for example choosing consistent names or an appropriate programming language. Find out how to:
- use continuous delivery
- name software products
- choosing programming languages
- store source code
- manage third party software dependencies
- optimise frontend performance
- track technical debt
- Check if your service is ready for production
- understand the risks to your service
- document architecture decisions
How to operate services
These standards enable us to maintain a consistent operating environment across our services. Find out how to:
- host a service
- manage DNS records for your service
- monitor your service
- configure operating systems for virtual machines
- manage alerts
- set Service Level Indicators
- send email notifications
- store and query logs
- do penetration tests
- manage access to your third-party service accounts
- publish open source code
- use configuration management
- run performance tests
You can also contact:
- Reliability Engineering about their shared platform to distribute tools and services
- Support Operations for technical incident management
Manuals are informative guides, not necessarily based on any formal decision or standard:
How to add new guidance
Contribute to this repository by making a pull request in GitHub for discussion at the GDS Way Forum.
You can also read the service manual to find out about learning about and writing user needs.
Thank you for your contributions as we develop this repository.
When you create a new Markdown file follow this pattern and then make a pull request:
--- title: Thing you're writing a standard about last_reviewed_on: yyyy-mm-dd review_in: 6 months --- # <%= current_page.data.title %> Introduction of a couple of paragraphs to explain why the thing you're writing a standard about is important. ## User needs Why do we do this thing? Who is it helping? ## Principles What broad approaches do we follow when we do this thing? ## Tools What specific bits of software (commercial or open source) do we use to help us do this thing?
The GDS Way Forum
This site documents some of the decisions agreed at the GDS Way Forum about the products we operate.
The GDS Forum meets once a month. The Forum is lead developers and technical architects representing GDS programmes who are responsible for communicating and implementing the GDS Way.
The Forum reviews:
- all GDS Way open and closed PRs
- expired guidance and if it should be continued
- possible subject areas and ownership of new content