Caching in Small Teams

Abstract code gradient artwork

Latency percentiles tell a story that averages politely hide. We wrote the migration twice: once to learn, once to ship. Caches are easy to add and surprisingly hard to remove.

Details

The rollback plan should exist before the rollout plan is approved. A boring deploy pipeline is a feature, not a lack of ambition. If the error message does not say what to do next, it is half an error message.

The rollback plan should exist before the rollout plan is approved. Every retry needs a budget, otherwise it is just a slower outage.

Going further

Naming things well saved us more time than any framework migration. The fastest query is the one you never send, but the second fastest has a good index. If the error message does not say what to do next, it is half an error message.

  • Alert on symptoms, not causes
  • Keep migrations reversible
  • Pin versions, update on purpose
  • Write the failure mode down before writing code

The fastest query is the one you never send, but the second fastest has a good index. Caches are easy to add and surprisingly hard to remove.

A small example

The fastest query is the one you never send, but the second fastest has a good index. Naming things well saved us more time than any framework migration. Our on-call rotation improved the day we deleted half of the alerts. The rollback plan should exist before the rollout plan is approved.

Naming things well saved us more time than any framework migration.

Logs answer questions you knew to ask; traces answer the ones you did not. The best architecture diagram is the one the new hire can redraw from memory.

Naming things well saved us more time than any framework migration. A boring deploy pipeline is a feature, not a lack of ambition.

Comments

2 responses to “Caching in Small Teams”

  1. Small tip: the list at the end makes a great checklist.

  2. Hugo B. Avatar
    Hugo B.

    Interesting perspective. I had the opposite experience, but I see your point.

Leave a Reply

Your email address will not be published. Required fields are marked *