Vortrag 7 Notizen - Archi-Lab/fae-team-3 GitHub Wiki

Vortrag 7 Notizen

resilience monitoring logging disaster recovery

what is resilience?

fighting all failures is not so good, unproductive

possible problems:

  • service is down
  • high load causing latency
  • consumers of services don't wait or time out
  • network failures
  • hard disk dies
  • a change in communication style

you can't know everything

CI Pipeline can make it easier, restarting services and testing it, automation

Scaling:

can it even scale:

  • concurrent database access or file or storage

are there many data centres

ask:what provides business value.

Feature toggle overwiev

toggle release features, so it is easier to deactivate them. to quickly react to problems

keep the system resilient

toggles can be applied fast and during runtime or deployment or upon request

but it also adds complexity

circuit breaker:

timeout fallback

in case some connection fails. stopping connection tries. using fallback. later retry. open close half open

isolation:

queue asynchron

test your backups, they might not work, also use a pre produktion environment

automate as much as possible

observability

logging: clear format

see the errors

have a team dashboard visualiseit

save to db first

monitoring systems:

health check endpoints: but with useful info not just is alive but also are subsystems working

metrics

system metriks are important

push data to agent then to monitoring system and db

instrumentation:

alerting: define treshold send messages and such. give alert to people that something bad is going on but priorities.

disaster recovery:

meantime to rcover

monitoring alerting

have a dashboard with useful information

taking actions:

rollback: best with one click also blue green strategy

fix forward: can take a long time and no guarantee

escalate: inform people have someone set up to be informed

rchestration

failure is inevitable monitor and do logging automate have metrics

have a good execution environment

⚠️ **GitHub.com Fallback** ⚠️