Operationele veerkracht, één verwijderde beveiliging per keer.
DORA's Art. 11 (response en herstel) gaat over het draaiend houden van kritieke functies tijdens een verstoring en het herstellen daarvan: maatregelen voor bedrijfscontinuïteit en incidentrespons bij ICT-gerelateerde incidenten. Voor een financiële entiteit wordt een groot deel van die veerkracht in code opgebouwd, zoals retries, circuit breakers, failovers en timeouts die voorkomen dat het falen van één component een kritieke dienst platlegt. Elke van die keuzes wordt in een pull request gemaakt.
The shapes the same control failure takes.
Veerkracht gaat zelden verloren door één dramatische wijziging. Het erodeert wanneer een beveiliging die falen beperkte, wordt verwijderd omdat deze overbodig leek. De terugkerende patronen:
Een circuit breaker is verwijderd
Een breaker die een falende afhankelijkheid isoleerde, wordt geschrapt, waardoor een downstream-falen nu doorstroomt naar de kritieke dienst in plaats van geïsoleerd te blijven.
Een retry of backoff is verwijderd
Een retry-met-backoff rond een onbetrouwbare oproep wordt verwijderd, waardoor een tijdelijke storing een harde fout wordt die de gebruiker bereikt.
Een failover- of redundantiepaden is verwijderd
Een terugval naar een secundaire instantie, regio of provider wordt geschrapt, waardoor er geen pad meer is wanneer de primaire uitvalt.
Graceful degradation is verwijderd
Een pad dat de dienst liet degraderen (bijv. gecachte of beperkte functionaliteit) wordt vervangen door een harde fout van de hele functie.
Een timeout is verwijderd
Een timeout op een oproep naar een afhankelijkheid wordt verwijderd, waardoor een vastgelopen afhankelijkheid threads kan blokkeren en de hele dienst kan vertragen.
Een circuit breaker verwijderd uit een kritieke oproep.
Een betalingsstatusdienst roept een downstream-provider aan. Een circuit breaker rond die oproep hield de dienst responsief wanneer de provider traag was. Een refactor verwijdert de breaker omdat deze 'nooit activeert'. Nu, wanneer de provider degradeert, hopen de oproepen zich op en loopt de kritieke dienst vast.
- const provider = withCircuitBreaker(rawProvider, { failureThreshold: 5 })+ const provider = rawProviderconst status = await provider.getStatus(paymentId)Het verwijderen van de circuit breaker betekent dat een trage of falende provider de kritieke betalingsstatusfunctie kan vertragen in plaats van geïsoleerd te worden. Art. 11 (response en herstel) verwacht maatregelen die kritieke functies veerkrachtig houden tijdens een verstoring. Houd de breaker (en de fallback) aan, en als deze nooit activeert, doet de breaker zijn werk, niet dat deze verwijderd moet worden.
Veerkracht is iets dat je moet kunnen aantonen.
DORA verwacht dat een financiële entiteit haar operationele veerkracht kan aantonen: continuïteitsmaatregelen, het vermogen om te reageren op en te herstellen van ICT-incidenten, en het testen van al deze aspecten. Een wijziging die stilletjes een circuit breaker, een failover of een timeout verwijdert, verzwakt die veerkracht, en dat is zichtbaar in de diff. Het opvangen tijdens de review zorgt ervoor dat de veerkracht die je kunt aantonen, overeenkomt met de veerkracht die je daadwerkelijk hebt.
Een review, geen veerkrachtprogramma.
heygrc markeert wijzigingen die een DORA-verplichting raken en citeert het artikel, zodat de correctie in de pull request plaatsvindt. Het voert niet je ICT-risicobeheerraamwerk of je veerkrachttesten uit. Het vangt het moment op waarop een beveiliging die een kritieke functie veerkrachtig hield, wordt verwijderd, in de diff.