Case Study: Leboncoin: ottimizzazione del traffico API per garantire sostenibilità e prestazioni
La sfida
(link: https://www.leboncoin.fr/ class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipedia text: Leboncoin), il principale marketplace online francese, doveva affrontare una sfida importante: il traffico API era troppo intenso, consumava risorse e faceva lievitare i costi. Il team Promote, che si occupa di inviare messaggi dinamici agli utenti tramite pop-in, banner e notifiche, generava 522 milioni di chiamate API a settimana, l'85% delle quali causava errori 404.
Questa inefficienza richiedeva fino a 120 repliche del server e portava l'utilizzo della CPU del database al 60%, aumentando in modo significativo l'impronta di carbonio e i costi operativi. Con la crescita della loro impronta digitale, hanno riconosciuto l'urgente necessità di una soluzione scalabile ed eco-consapevole che mantenesse la funzionalità della piattaforma riducendo gli sprechi.
Obiettivi
Leboncoin mirava a eliminare le richieste API ridondanti per:
- Ridurre il traffico API complessivo
- Diminuire i requisiti infrastrutturali
- Ridurre il consumo energetico e le emissioni di carbonio
- Tagliare i costi infrastrutturali
- Migliorare le prestazioni del sistema
Approccio
Nell'ambito dell'(link: https://www.apidays.global/sustainable-digital-challenge/ class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipedia text: Apidays Sfida digitale sostenibile), Leboncoin ha implementato una soluzione su tre fronti in un unico sprint di due settimane nel dicembre 2023:
- Architettura dell'endpoint intelligente: creazione di un nuovo endpoint API per verificare la disponibilità dei contenuti prima di avviare ulteriori richieste, evitando elaborazioni inutili in assenza di contenuti rilevanti.
- Caching strategico: implementazione di meccanismi di caching per evitare richieste ripetute e non necessarie durante il caricamento delle pagine, riducendo le chiamate ridondanti e le risorse consumate.
- Gestione dinamica delle funzionalità: implementazione di flag di funzionalità per disattivare i posizionamenti dei messaggi inutilizzati, riducendo automaticamente il carico del sistema per le funzionalità con basso utilizzo.
Impatto
La strategia di ottimizzazione ha portato benefici immediati e sostanziali:
- Esperienza del cliente/UX: miglioramento dell'esperienza utente con tempi di caricamento più rapidi e riduzione del consumo di banda.
- Miglioramenti tecnici: significativi miglioramenti tecnici e prestazionali, tra cui:
- Eliminazione di 3,62 miliardi di chiamate API nella prima settimana.
- Riduzione delle risposte di errore 404 del 71,93%.
- Riduzione delle repliche del server da 120 a 40.
- Riduzione dell'utilizzo CPU del database dal 60% al 20%.
- Riduzione delle connessioni al database del 25%.
- Impatto sul business: riduzione dei costi di Kubernetes a un terzo rispetto alle spese precedenti e notevole miglioramento della scalabilità della piattaforma.
- Vantaggi in termini di sostenibilità: risparmio di 49,66 core CPU (equivalente allo spegnimento di un'istanza AWS c6g.12xlarge) e riduzione delle emissioni di carbonio di circa 24 kg di CO₂ (in base a un calcolatore dell'impronta di carbonio dell'(link: https://engineering.teads.com/sustainability/carbon-footprint-estimator-for-aws-instances/ class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipedia text: Teads Ingegneria)).
Punti chiave
- L'efficienza digitale equivale alla sostenibilità: ridurre gli sprechi digitali è fondamentale quanto ottimizzare le risorse fisiche.
- Piccoli cambiamenti, grande impatto: ottimizzazioni tecniche mirate possono portare a miliardi di richieste risparmiate e vantaggi sostanziali.
- Il debito tecnico comporta costi ambientali: le architetture obsolete sprecano energia e risorse.
- L'ingegneria verde beneficia di tutti: i miglioramenti in termini di sostenibilità migliorano l'esperienza dell'utente, riducono i costi e aumentano le prestazioni.
Passi futuri
Leboncoin intende ottimizzare ulteriormente la propria architettura API estendendo questi principi ad altri sistemi della propria piattaforma. L'obiettivo è continuare a monitorare e misurare l'impatto ambientale delle proprie operazioni digitali, stabilendo nuovi parametri di riferimento per lo sviluppo sostenibile nel settore tecnologico.
Conclusione
L'approccio proattivo di Leboncoin dimostra come ripensare gli aspetti fondamentali della progettazione delle API possa generare vantaggi tecnici, finanziari e ambientali. Integrando i principi dell'eco-design nella propria strategia di prodotto, l'azienda ha dimostrato che l'eliminazione dei rifiuti digitali apporta benefici sia alle operazioni aziendali sia alla sostenibilità ambientale.