La situazione
Globalfinanz gestisce piensin.com, un comparatore di assicurazioni sanitarie con accesso a sette compagnie diverse. Ogni richiesta prevedeva chiamate API sequenziali a ciascun assicuratore: la prima rispondeva, veniva elaborata, poi si passava alla seconda, e così via fino alla settima. L'utente aspettava tra i 35 e i 40 secondi davanti allo schermo prima di vedere qualsiasi risultato. In un settore dove la decisione d'acquisto si prende in pochi secondi, quell'attesa era inaccettabile.
La decisione
Il problema non era il server né la banda — era l'architettura. Le sette chiamate venivano fatte in serie quando potevano essere fatte in parallelo. La decisione fu riscrivere il sistema di interrogazione usando curl_multi e Workers PHP per lanciare tutte le richieste simultaneamente, elaborare ogni risposta non appena arrivava, e restituire risultati progressivi al frontend senza aspettare che la più lenta terminasse. Nessun cambio di fornitore, nessuna nuova infrastruttura, nessuna migrazione.
L'esecuzione
È stato sviluppato un plugin PHP personalizzato che sostituiva il sistema di interrogazione esistente. Il nuovo motore lanciava le sette richieste in parallelo con curl_multi_exec e Workers PHP, gestiva timeout individuali per assicuratore in modo che un fornitore lento non bloccasse gli altri, e inviava i risultati al frontend man mano che arrivavano. La sincronizzazione con il CRM esterno è rimasta intatta — i dati di ogni interrogazione continuavano a essere registrati correttamente indipendentemente dall'ordine di risposta. Il deploy è stato effettuato senza downtime sul sistema in produzione, con rollback documentato al sistema precedente.
Il risultato
In produzione, il tempo di confronto è sceso da 40 secondi a tra i 10 e i 12 — una riduzione del 73%. L'utente vede i risultati in meno di un terzo del tempo precedente, con la stessa copertura di compagnie e senza alcuna modifica visibile all'interfaccia. La sincronizzazione con il CRM ha continuato a funzionare senza modifiche. Il sistema è in produzione da allora senza incidenti attribuibili alla modifica.