Tasks
An intent, a configuration, and a running service. Write the change, read the plan it produces, apply it, and be graded on the graph you end up holding — and on which resources were destroyed to get there.
- Give the database more storagewarm-up · 4 min
The orders database is running out of room. Take it from 100 GB to 500 GB. It serves live traffic, so nothing may be destroyed on the way.
The plan as a document
- Rename a security group without an outageroutine · 8 min
orders-webshould be calledorders-frontend, to match the service that uses it. The instances behind it must stay reachable throughout.The plan as a document
- Change the database engine version, and nothing elseroutine · 6 min
Security have asked for PostgreSQL 16.6. Apply it. The workers and the load balancer are serving traffic and must not be touched.
The plan as a document
- Add a fourth subnetroutine · 7 min
A fourth availability zone is being brought into use. Add a private subnet in it. The three that exist are full of running workers and must not move.
The plan as a document
- Say what this does before it runshard · 8 min
An agent has opened a pull request moving the load balancer inside the network. Read the plan and say which resources it destroys and recreates — then apply it and see.
The plan as a document
- Make the database impossible to destroy by accidentroutine · 6 min
The orders database has no protection against a careless edit. Add one, and then prove it works by trying the credential rotation that would otherwise have destroyed it.
Replacement
- Rename the uploads buckethard · 9 min
orders-uploads-eu-west-1should beorders-uploads-prod. A bucket name is globally unique, which makes this harder than it looks — work out what the plan actually does before you apply it.Replacement
- Bring an existing record under managementroutine · 7 min
There is a DNS record called
status.orders.example.comthat somebody created by hand. It already points where it should. Put it in the configuration without touching what is live.State