~/talk

Do the holes in Swiss cheese leak abstractions?

Talkat DjangoCon Europe 2023 · on Tuesday, 2023-05-30· at 14:35· Music Hall· [software-architecture, devops-and-delivery]
slides:none on file

A cron-run Django management command opens an atomic transaction that forces routing to the primary, reads users, then makes slow external API calls; an ungraceful deployment kills the process leaving a half-open TCP connection and held read locks, a subsequent migration needs an access exclusive lock and queues behind those reads, web requests time out and the site outages. Remediations include removing the dry-run that routed to primary, adding a row-limit flag and tightening RDS TCP keepalive to two minutes.

AI-written summary · about

  1. 0:00Intro
  2. 1:04Octopus Energy and Kraken
  3. 1:45Kraken support site
  4. 4:53Leaky abstraction examples
  5. 7:23Swiss cheese model & software development
  6. 8:44Kraken architecture overview
  7. 10:23Kraken outage case study
  8. 15:07Swiss cheese view of outage
  9. 15:52Leaky abstractions and Swiss cheese
  10. 18:15Dry run management command
  11. 19:21Cheese slices of the outage
  12. 20:40Process termination
  13. 22:55TCP network connection
  14. 24:54Database migrations
  15. 27:09Post-outage remediation
  16. 29:16Filling in the holes
  17. 32:34Conclusions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.