Categoria

Pagina 2 di 2

Architettura Software: le scelte che farai all'inizio pagherai per anni

L'architettura software è il livello di decisione che ha l'impatto più lungo sulla vita di un progetto. Una scelta architetturale sbagliata produce debito tecnico per anni; una scelta giusta permette al sistema di crescere senza riscritture traumatiche. Lavoro sull'architettura applicativa da due decenni: dai monoliti modulari ben progettati ai sistemi a microservizi, sempre con pragmatismo.

In questa categoria scrivo di architettura software applicata: quando scegliere un monolite e quando i microservizi, layering applicativo, separazione tra dominio e infrastruttura, event-driven design, strangler-fig per migrazioni incrementali, multi-tenancy. Tutto calato su progetti PHP/Laravel/Symfony reali, con attenzione al cliente PMI che non può permettersi over-engineering.

Se stai per avviare un progetto nuovo o stai valutando un'evoluzione architetturale su un progetto esistente, confrontiamoci prima di scrivere la prima riga. Oppure scopri il mio approccio architetturale.

La migliore architettura è quella che risolve il tuo problema, non quella che impressiona su un curriculum.

Microservizi PHP con Symfony e RabbitMQ: quando vale davvero la complessità aggiunta

Microservizi PHP con Symfony e RabbitMQ: quando vale davvero la complessità aggiunta Un cliente mi ha chiesto di trasformare il suo monolite Laravel in microservizi 'perché lo fanno tutti'. Ho fatto l'analisi: 15 sviluppatori, 3 domini di business ben separati, un servizio con requisiti di scaling indipendenti. Alla fine ne abbiamo estratti due soli. Vi racconto i criteri di decisione reali. Continua a leggere
Ultima modifica:

Quando i microservizi sono la scelta sbagliata per il tuo monolite Laravel: il caso di una PMI lombarda

Quando i microservizi sono la scelta sbagliata per il tuo monolite Laravel: il caso di una PMI lombarda Una PMI lombarda con 8 sviluppatori e un monolite Laravel 10 lento aveva speso quattro mesi e 120.000 euro per migrare a microservizi. Risultato: tre servizi parzialmente funzionanti, zero in produzione, latenza raddoppiata e metà del team impegnato in infrastruttura Docker anziché in feature. La mia raccomandazione: fermare la migrazione, modularizzare il monolite con bounded context, e risolvere i veri problemi di performance. In due settimane il team era tornato produttivo. Continua a leggere
Ultima modifica:

Vendor lock-in nei progetti PHP delle PMI italiane: come ho liberato un cliente padovano da trentunmila euro l'anno di AWS e dall'unico sviluppatore che capiva il suo gestionale

Vendor lock-in nei progetti PHP delle PMI italiane: come ho liberato un cliente padovano da trentunmila euro l'anno di AWS e dall'unico sviluppatore che capiva il suo gestionale Il vendor lock-in è la condizione in cui un'azienda diventa così dipendente da un fornitore da non poter cambiare senza costi insostenibili. Nelle PMI italiane si presenta in quattro forme. Il caso del cliente padovano che pagava trentunmila euro all'anno di AWS e il decalogo anti-lock-in che applico nei miei progetti. Continua a leggere
Ultima modifica:

Event Sourcing con Laravel nel 2026: quando ha senso per una PMI e quando bastano alternative più semplici

Event Sourcing con Laravel nel 2026: quando ha senso per una PMI e quando bastano alternative più semplici Event Sourcing è uno dei pattern più potenti e più mal compresi del 2026. Per molti l'idea di "salvare ogni cambiamento come evento immutabile" sembra la soluzione naturale ai requisiti GDPR/NIS2. Ma su una PMI il costo architetturale è spesso sproporzionato. Quando vale la pena adottare Spatie laravel-event-sourcing v7 con CQRS, e quando un audit-chain leggero è la scelta tecnicamente più onesta. Continua a leggere
Ultima modifica:

Middleware Laravel 12: da Kernel.php a bootstrap/app.php con security headers, rate limiting e terminable middleware

Middleware Laravel 12: da Kernel.php a bootstrap/app.php con security headers, rate limiting e terminable middleware Il middleware HTTP implementa il Chain of Responsibility pattern (GoF, 1994) e PSR-15 (PHP-FIG, 2018) lo ha standardizzato. Laravel 11 (PR #6188) ha eliminato Http/Kernel.php spostando la registrazione in bootstrap/app.php con API fluent. OWASP Security Headers Cheat Sheet documenta gli header che un middleware deve impostare per mitigare A05:2021 (Security Misconfiguration). Il terminable middleware esegue dopo l'invio della risposta - ideale per logging e analytics senza impatto sulla latenza. Continua a leggere
Ultima modifica:

Sviluppatore Laravel e Symfony senior: quando i microservizi hanno davvero senso e quando sono un costo mascherato da modernità

Sviluppatore Laravel e Symfony senior: quando i microservizi hanno davvero senso e quando sono un costo mascherato da modernità A Novembre 2024 il CTO di una PMI italiana del settore logistico mi contattò dopo aver spezzato un monolite Laravel ben scritto in otto microservizi "per scalare meglio", ottenendo una piattaforma più lenta, più fragile e con il doppio degli incidenti di produzione. Il caso illumina la scelta architetturale sbagliata più diffusa nelle PMI italiane oggigiorno - adottare i microservizi per il motivo sbagliato - e cosa fa uno sviluppatore Laravel e Symfony senior per correggerla. Continua a leggere
Ultima modifica:

Refactoring applicazione Laravel 10: guida passo-passo per adottare la struttura snella di Laravel 12 e centralizzare la configurazione

Refactoring applicazione Laravel 10: guida passo-passo per adottare la struttura snella di Laravel 12 e centralizzare la configurazione Laravel 11 ha introdotto la struttura slim che elimina Http/Kernel, Console/Kernel e la maggior parte dei Service Provider, centralizzando tutto in bootstrap/app.php. La guida ufficiale dice che la migrazione non è obbligatoria - ma in un applicativo con logica custom sparsa tra Kernel e Provider, adottarla riduce il boilerplate e la superficie di manutenzione. Continua a leggere
Ultima modifica: