Skip to main content

This is for internal use by the PaaS team. Public-facing documentation is located at docs.cloud.service.gov.uk.

Orientation

Some key information to help new starters to find their way.

Product

The following blog posts and videos give an overview of why PaaS was built and what it was used for:

Decomission Decision

The Government Digital Service (GDS) provided GOV.UK PaaS since 2015, supporting and providing a public cloud platform for departments using a shared hosting and responsibility model. Following an extensive analysis period, GDS has concluded that, while the platform has been successful in its aims, the underlying technology would now require investment before it could meet its goals in the long term. Faced with this need for re-investment GDS has decided to decommission the platform, in order to focus its budget and energy on other GDS products for common use by Government. GDS will not be providing a replacement hosting service.

Repos

These are the key repos that we use. There will be many others, which these depend on, but this list should be enough to get you started.

Accounts

You will need accounts to a number of tools/services that we use such as GitHub and Pivotal Tracker. Government Digital Service staff can see a full list and their respective URLs in the following spreadsheet:

Buddys for new engineers

If you’re a new developer or SRE you’ll be paired with a buddy for the first few days. They’ll help you get set up, explain the GOV.UK PaaS product in more detail and help you get started implementing your first stories.

Events

These are key events that happen each fortnightly sprint. You’ll get calendar invites that detail the actual times and locations.

  • Stand-up is at 10:00 every morning. We’ll talk briefly about progress, blockers, and pair rotation. Please be on time and keep it succinct. There is time for more detailed conversations immediately afterwards.
  • Planning is at the beginning of a sprint. Most of the stories will already be prioritised in the backlog and we don’t do sizing. We’ll talk about what’s coming up and anything that we’ve missed.
  • Retrospective is at the end of a sprint. It’s an opportunity to talk about what went well and what we can improve as a team. We use this trello board to suggest things to talk about and record actions.
  • Knowledge share is at the end of a sprint. It is to share what we’ve learned during the sprint, including technical detail. During the sprint, try to record things you want to hear more about or talk about in this trello board and one or two people present each, preferably with a demo.

Late for Standup

Scary. Turning up late for the standup? How could such a thing happen.

Missing standup, or being late, means you will miss out on updates on:

  • Team News (who is where today)
  • Product News (any significant developments worth knowing about)
  • Context on Work in Progress

The last one is especially important, as the standup is a valuable way to crowdsource ideas on problems that people may be having with a story, and if you are not there, you can’t help.

Absences

It’s important that we have cover within the team to mitigate issues during work hours within the agreed SLAs (20 minutes response time for P1s; which means any new alert must be acknowledged and ideally triaged within 20 minutes. Therefore, there must always be someone covering support. Due to the size of the team, this needs active coordination from the team. To ensure this, the team have adopted the following team norms:

  • Only one PaaS SRE can be on annual leave at a time
  • Another PaaS SRE can be on learning time, but must still be available for support (so self-learning is fine, but a conference would not be)
  • Lunch breaks should be staggered

The managed service pool provide additional capacity for support cover when the PaaS SREs are unavailable, for example due to an unplanned absence coinciding with some annual leave. The Managed Service Delivery Manager is responsible for ensuring there is appropriate cover in place at all times, and so all Leave requests must be approved by them.

  • This is the level of notice we expect when you take leave:
  • For 1 day – you must give at least 3 days notice
  • For 2 days – you must give at least 1 week notice
  • For between 3 days - 4 days – you must give at least 2 weeks notice
  • For between 1 week - 2 weeks – you must give at least 4 weeks notice
  • For greater than 2 weeks – you must give 3 months notice

Learning our technologies

We use a number of technologies and you may find it easier to learn about each one on its own, rather than in our environment, where they all interact with each other.

Here are some recommended exercises and documentation that will help you become familiar with each one.

What Get started Learn the concepts
Cloud Foundry, as a user Our getting started guide Considerations for application developers
Concourse, the CI server we use for deployment Concourse tutorials Concepts
BOSH. It deploys Cloud Foundry and other things. A guide to using BOSH What problems does BOSH solve?
Cloud Foundry, for those managing it Cloud Foundry presentation, written by the team, an older presentation from before the move to Diego archecture
Terraform The terraform intro The intro also covers key concepts.

Inclusive language

Diversity is important to us, as is inclusivity. To help create such an atmosphere we avoid the use of certain words.

Avoid gender-specific words

Gender-specific words like these can act to exclude other groups of people:

  • guys
  • gents
  • chap
  • man
  • he
  • girls

There is a great write up on the word guys by Julia Evans that helps explain why it isn’t quite gender neutral.

Words such as everyone, folks or team can be more inclusive. The first rule of devops club by Bridget Kromhout is a great reference.

Avoid assuming expertise

Some words assume expertise and can belittle others contributions:

  • just
  • obviously
  • trivial

For example, using the word obviously can be a form of Hindsight Bias: some people reading this may know it, but others may not. Not so obvious right?

If this language is used widely it can stop people contributing to discussions. It can make asking questions scary. This is bad.

Another problem with these set of words is that it can lead to underestimation of effort by the team when effort is played down.

Avoid treating people as resources

Anti People
Resource(s)

Classic Management 1.0 speak, reducing people to Resources. We should not be doing this.

Our thoughts shape our language, but our language also shapes our thoughts. The zeroth step in creating humane workplaces is to start talking about the people not resources.

Esther Derby