Capitolo 10. Gestibilità
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Tutti sanno che il debug è due volte più difficile della scrittura di un programma. Quindi, se sei il più intelligente possibile quando lo scrivi, come potrai mai eseguire il debug?1
Brian Kernighan, Gli elementi dello stile di programmazione (1978)
In un mondo perfetto, non dovresti mai distribuire una nuova versione del tuo servizio o (non sia mai!) spegnere l'intero sistema per correggerlo o modificarlo per soddisfare nuovi requisiti.
D'altra parte, in un mondo perfetto, esisterebbero gli unicorni e quattro dentisti su cinque ci consiglierebbero di mangiare la torta a colazione.2
Chiaramente non viviamo in un mondo perfetto. Ma anche se gli unicorni potrebbero non esistere mai,3 non devi rassegnarti a un mondo in cui devi aggiornare il tuo codice ogni volta che devi modificare il comportamento del tuo sistema.
Anche se probabilmente dovrai sempre apportare modifiche al codice per aggiornare la logica di base, è possibile costruire i tuoi sistemi in modo che tu - o, cosa fondamentale, qualcun altro - possa modificare una sorprendente varietà di comportamenti senza dover ricodificare e distribuire nuovamente.
Forse ricorderai che abbiamo introdotto questo importante attributo dei sistemi cloud native già in "Gestibilità", dove lo abbiamo definito come la facilità con cui il comportamento di un sistema può essere ...