← Tutti gli episodi
Copertina di Il cavallo da soma e lo sprinter: Apache e nginx, con onestà
Stagione 36 · Episodio 008

Il cavallo da soma e lo sprinter: Apache e nginx, con onestà

5 settembre 2026 5:17
0:00 5:17

Ciao, e benvenuto nell'ottava puntata della trentaseiesima stagione. Oggi affrontiamo, con tutta l'onestà di cui siamo capaci, un confronto che aleggia su questa stagione fin dall'inizio: quello tra Apache e nginx. Perché la scorsa stagione, celebrando nginx, l'abbiamo contrapposto ai vecchi web server che dedicavano un lavoratore a ogni connessione, e che crollavano sotto la scala enorme. Ebbene, quel vecchio modello era, in gran parte, proprio Apache. È giusto quindi guardarlo in faccia, questo confronto, ed essere equi: perché la verità è molto più ricca e interessante di un semplice vecchio e lento contro nuovo e veloce. Oggi mettiamo le cose in chiaro.

Partiamo dal riconoscere la parte di verità nella contrapposizione, perché l'onestà lo richiede. È vero: il modo tradizionale con cui Apache gestiva le connessioni, dedicando risorse a ciascuna, era meno efficiente, sotto una concorrenza estrema, dell'architettura a eventi di nginx. Quando il web è cresciuto fino a richiedere di reggere quantità enormi di connessioni simultanee, soprattutto nei grandi siti molto trafficati, nginx, con la sua efficienza, brillava dove Apache faticava di più. E infatti, in quella fascia, i siti a traffico enorme, nginx ha conquistato molto spazio, proprio grazie alla sua efficienza superiore. Questa parte è vera, ed è giusto riconoscerla: per la pura efficienza alla porta d'ingresso dei grandi siti, nginx aveva un vantaggio reale.

Ma ora voglio arricchire il quadro, perché la realtà è più interessante, e il primo punto è che Apache non è rimasto fermo. Sarebbe ingiusto dipingere Apache come congelato nel passato, prigioniero del suo vecchio modello. Non è così: Apache si è evoluto. Ha aggiunto, nel tempo, modi più efficienti di gestire le connessioni, avvicinandosi alle idee che rendevano nginx così efficiente. Grazie alla sua natura modulare, ha potuto integrare nuovi approcci senza stravolgersi. Quindi il divario si è ridotto: l'Apache di oggi non è il vecchio Apache di venti anni fa. Nel raccontare il confronto, va detto: entrambi sono strumenti vivi, che si sono evoluti e continuano a evolversi. Nessuno dei due è rimasto immobile.

E arriviamo al punto più importante, che voglio farti apprezzare: non sono nemici, sono spesso compagni di squadra. Questa è la cosa che la contrapposizione fa perdere di vista. Molto spesso, Apache e nginx non si escludono a vicenda: si usano insieme, nello stesso sistema, ciascuno a fare ciò in cui è più bravo. Un uso comune è mettere nginx davanti, come porta d'ingresso efficiente che accoglie il traffico, e Apache dietro, come cavallo da soma flessibile che fa girare l'applicazione vera. Lo sprinter alla porta, il cavallo da soma nel cuore del lavoro. Non è una guerra con un vincitore: è una collaborazione, in cui ognuno mette la sua forza. La forza di uno completa la forza dell'altro. Vederli come nemici significa non aver capito come lavorano davvero, insieme.

Voglio farti apprezzare il terzo punto: ciascuno eccelle in cose diverse. Per la pura efficienza nel reggere tantissime connessioni alla porta, nginx ha spesso un vantaggio. Ma per la flessibilità, l'adattabilità a esigenze particolari, il ricco ecosistema di moduli, la configurazione distribuita che dà potere a ogni angolo, Apache è spesso la scelta migliore. Sono forze diverse, per compiti diversi. La domanda giusta non è quale sia il migliore in assoluto, ma quale sia il più adatto a ciò che devi fare.

Voglio trarre la lezione generale, perché va ben oltre Apache e nginx. Questo confronto insegna una cosa che abbiamo incontrato tante volte, e che vale sempre: raramente uno strumento è semplicemente migliore di un altro in assoluto. Quasi sempre ci sono forze diverse, adatte a compiti diversi. Il modo maturo di ragionare non è cercare l'unico strumento vero, il migliore per tutto, ma chiedersi qual è lo strumento giusto per il compito che ho davanti. Chi dice questo è meglio di quello, punto, di solito non ha capito che dipende: dipende da cosa devi fare. Apache e nginx sono un esempio perfetto: due strumenti eccellenti, con forze diverse, spesso perfino usati insieme. Lo strumento giusto per il compito, non l'unico strumento vero.

Voglio chiudere rimettendo Apache al suo giusto posto, con equità. Dopo la scorsa stagione, si poteva restare con l'impressione che Apache fosse solo il vecchio server obsoleto, superato da nginx. Non è affatto così. Apache resta uno dei web server più usati e importanti al mondo, si è evoluto, eccelle nella flessibilità, è spesso compagno di nginx più che suo rivale, e porta con sé un'eredità, la comunità e la collaborazione aperta, che va ben oltre il confronto tecnico. Non il vecchio superato, ma il cavallo da soma tuttora prezioso, con le sue forze e il suo posto.

Per oggi ci fermiamo qui. Il confronto tra Apache e nginx, guardato con onestà, è più ricco del semplice vecchio contro nuovo. È vero che, per l'efficienza pura sotto scala enorme, nginx aveva un vantaggio, e ha conquistato la porta dei grandi siti. Ma Apache si è evoluto, non è rimasto fermo; e soprattutto i due non sono nemici, ma spesso compagni di squadra, nginx alla porta e Apache dietro, ciascuno a fare ciò in cui è più bravo. Ognuno eccelle in cose diverse: nginx nell'efficienza, Apache nella flessibilità. La lezione: non l'unico strumento vero, ma lo strumento giusto per il compito. Nella prossima puntata approfondiamo la forza e l'ombra della flessibilità di Apache. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.