Robustesse

Garantir le bon fonctionnement d'ensemble en conditions réelles

"Anything that can possibly go wrong does"

0. Be paranoïd

Le service est down
L'input est invalide
Le code est buggé

L'utilisateur est stupide
Le parcours est détourné

Happy path is not done

You're allowed to fail, just don't ignore it

1. Be disciplined

Data

Contraintes & Transactions
Types & schemas
Guards & Asserts

Code

Abstractions

Linter / Coverage
Simplicité

2. Be retryable

Idempotence

Atomicity
Reload
Explain the out

Self-healing

3. Be prepared

Monitoring

Rollbacks & Backups
Keep the data
Contingency plans

Investissement rentable

  • Moins de maintenance
  • Plus de sereinité
  • Bases solides
  • Meilleure UX 
  • Confiance

Robustesse

By David Ruyer

Robustesse

  • 88