Mi dispiace in anticipo se questo non è un buon compromesso qui, in quanto è una domanda abbastanza aperta.
In poche parole: dove / come / quando si impara a conoscere l'architettura delle applicazioni?
Normalmente per le applicazioni web ci sono diversi livelli nello stack, generalmente a partire da un proxy inverso o un bilanciamento del carico e "termina" con un DB di qualche tipo. A seconda delle esigenze, potrebbero esserci vari livelli di memorizzazione nella cache coinvolti.
Sembra che ci sia un'ampia varietà di tecniche / strumenti che è possibile configurare per le applicazioni Web, molte delle decisioni di progettazione arrivano ai requisiti tecnici. Molte volte, quando ho letto delle decisioni sull'architettura di un'azienda specifica, non c'è molta spiegazione su come sono arrivati a quella decisione, lasciandolo a spese del lettore.
In che modo le persone normalmente impostano un'impostazione dell'architettura sensata per il loro caso d'uso specifico (oltre al lavoro con i requisiti tecnici)? Queste decisioni sono più facili da rendere più esperti sul campo?