Every service should have a killswitch
The more time you spend designing systems, the more paranoid you get about things going wrong. The most experienced and paranoid engineers I know build a killswitch into every single piece of automation. If your company has a feature flagging system - which it should - this can be as simple as adding a return if feature_enabled?(pdf_converter_job_killswitch) to the top of your scheduled job. If the job ever goes out of control (running way too often, or using too many resources) you can turn it off by creating or enabling that feature. Enabling a feature flag is usually many minutes quicker than a code deploy. During an incident, when deploying is difficult, it can be hours quicker. A recent example I noticed of this was this Google incident report, which describes: It doesn’t always have to be a feature flag. I’ve seen “safety files” that automation won’t run without - so you can stop the automation by deleting the file. I’ve also heard of packaged software that needs to “phone home”
The more time you spend designing systems, the more paranoid you get about things going wrong. The most experienced and paranoid engineers I know build a killswitch into every single piece of automation. What a killswitch looks like If your company has a feature flagging system - which it should - this can be as simple as adding a return if feature_enabled?(pdf_converter_job_killswitch) to the top of your scheduled job. If the job ever goes out of control (running way too often, or using too many resources) you can turn it off by creating or enabling that feature. Enabling a feature flag is us
Explore this link on the map →saved by
related reading
- Everything I know about good system designseangoedecke.com
- Always Be Shipping - Adam Drakeadamdrake.com
- How Complex Systems Failhow.complexsystems.fail
- Karri Saarinen on X: "Every feature should earn its place" / Xx.com
- On rebooting: the unreasonable effectiveness of turning computers off and on again - Keunwoo Lee's Minimum Viable Homepagekeunwoo.com
- Scaling with common sense #2: Being future ready. - Zerodha Tech Blogzerodha.tech
- The unwritten laws of software engineeringnewsletter.manager.dev
- How to handle fault tolerance in microservices | Temporaltemporal.io
- Google SRE - IT Service Management: Automate Operationssre.google
- fast | catherine juecatherinejue.com
- Death by a Thousand Buttons — from the Desk of van Schneider — Edition №268vanschneider.com
- Would you fly on an AI-coded plane | Hackle's bloghacklewayne.com