Todocoleccion_Case Study_header_web_OVHcloud
30 milioni di lotti - Todocoleccion

30 milioni
di lotti

immagini salvate - todocoleccion

200 milioni
di immagini salvate

visitatori - todocoleccion

625.000
visitatori / giorno

Executive Summary

Todocoleccion è la più grande community online di acquisti e vendite all'asta di pezzi di antiquariato, arte, libri e ogni tipo di oggetti da collezione.
Da 25 anni Todocoleccion offre agli utenti una vetrina sulla quale possono vendere o acquistare prodotti.
Con oltre 30 milioni di lotti in vendita, suddivisi in più di 2.000 categorie, l'azienda propone un catalogo "ricco di emozioni, sentimenti e ricordi colmi di storie. Storie che appartengono a una community composta da piccoli gruppi con interessi culturali diversi, che rendono il mondo del collezionismo così speciale".
Per permettere loro di vendere e acquistare questi oggetti, Todocoleccion mette a disposizione tutti gli strumenti necessari alla gestione del ciclo di vita di un lotto, secondo le necessità degli acquirenti o dei venditori. I venditori dispongono di strumenti per la gestione massiva dei lotti, per l’importazione in grandi quantità e per la gestione del supporto post-vendita, mentre gli acquirenti hanno accesso a strumenti per comunicare con i venditori, rilanciare e fare offerte sui lotti di loro interesse.

Pionieri del commercio online

Todocoleccion, pioniere delle vendite online, ha affrontato numerose sfide negli ultimi 25 anni, crescendo ed espandendosi. Nella sua prima versione, il sito Internet era statico e i lotti in vendita venivano modificati direttamente in HTML. La società si è presto riorganizzata scegliendo un nuovo partner, per rivoluzionare il settore del collezionismo e delle aste. Attualmente l'azienda conta più di 50 dipendenti nel mondo e possiede un'infrastruttura ibrida costituita da server dedicati Bare Metal, Hosted Private Cloud e Public Cloud. Grazie al sito Internet e all’applicazione mobile, Todocoleccion permette a oltre 10 milioni di visitatori di consultare 100 milioni di pagine ogni mese, per un totale di transazioni che ammonta a più di 65 milioni di euro all’anno, di cui l’80% in Spagna.

La Sfida

Un'infrastruttura per le transazioni B2B, B2C e C2C

Todocoleccion è costituita da numerose community con interessi culturali specifici e peculiari, ma di dimensioni molto diverse. Per offrire a ognuno di questi gruppi la sicurezza e la visibilità necessarie per la vendita online, l'azienda deve disporre di un'infrastruttura high availability e affidabile. Todocoleccion dispone inoltre di uno stack complesso composto da numerosi strumenti OpenSource. Una delle sfide più importanti è quella di avere un uptime il più vicino possibile al 100%.

"La gamma di soluzioni fisiche e virtuali di OVHcloud ci ha portato a rivolgerci a questo provider per migliorare le prestazioni e la scalabilità della nostra infrastruttura, senza doverci occupare della manutenzione del datacenter o di utilizzare una quantità di risorse troppo elevata".

Joaquín Valdés, CEO di Todocolección

Una grande quantità di immagini da ridimensionare

Al momento, la società dispone di un database di oltre 200 milioni di immagini di prodotti, in vendita e già venduti, e ognuna di queste immagini può essere visualizzata in diverse risoluzioni, dimensioni e orientamenti o con diversi filtri. Queste immagini occupano 14 TB nell'Object Storage. Todocoleccion ha quindi bisogno di uno strumento per creare thumbnail con disponibilità elevata e costi contenuti. Per soddisfare i propri clienti, Todocoleccion ha sempre puntato sulla velocità e su un tempo di latenza il più basso possibile. L'azienda voleva quindi permettere agli utenti di accedere al sito Web con un tempo di risposta delle pagine sotto i 200 ms, per quanto possibile, tenendo conto che il tempo di latenza ottimale di un sito è di 100 ms.

Esigenze di sicurezza e conformità

La scena delle startup a Malaga è molto variegata. OVHcloud è fortemente legata a questo ecosistema, perché propone offerte scalabili a tariffe accessibili, ideali per startup e progetti in fase di avviamento. Dal momento che ha sede in Europa e vende prodotti online, Todocoleccion ha bisogno di un fornitore che soddisfi i requisiti europei in materia di sicurezza e di protezione dei dati degli utenti.

"Una delle ragioni, più culturale, è che OVHcloud è un progetto europeo, con sede in Francia e numerose filiali in tutto il mondo. OVHcloud genera occupazione, ricchezza e, soprattutto, è conforme alle normative e alle leggi in vigore".

Joaquín Valdés, CEO di Todocolección

In questo modo, per rispondere alle esigenze di scalabilità, disponibilità elevata e sicurezza mantenendo sotto controllo i costi, l’azienda ha scelto di migrare verso OVHcloud.

Che cos'è un Thumbnailer?

Un Thumbnailer è uno strumento/programma che permette di generare dei thumbnail, ovvero delle miniature di immagini, per un sito Internet. Utilizzare correttamente uno strumento per creare miniature di immagini permette, tra le altre cose, di ridurre i tempi di latenza di un sito Web e di ottimizzare l'esperienza dei visitatori. 
L’utente fornisce al Thumbnailer un file e una dimensione finale espressa in pixel, in modo che il programma possa creare un thumbnail con queste impostazioni. 

Qual è la differenza tra Kubernetes e Docker?

Kubernetes e Docker sono tecnologie complementari. Per comprendere questa complementarità, bisogna capire il concetto di containerizzazione. Si tratta di un sistema di suddivisione a livello del sistema operativo (OS), che permette di far funzionare ambienti totalmente isolati gli uni dagli altri, ma che condividono lo stesso "nucleo” della macchina host.

Docker è una tecnologia di containerizzazione. I file binari, le librerie e, in generale, tutte le dipendenze di cui un'applicazione ha bisogno per funzionare, sono inseriti in una "scatola", un container, totalmente indipendente dagli altri container che condividono lo stesso "nucleo" e dall'infrastruttura sottostante. I container possono essere duplicati all'infinito e in breve tempo possono diventare complessi da gestire. È qui che entra in gioco Kubernetes, un orchestratore di container. Questa soluzione permette di gestire l'intero ciclo di vita dei container Docker sin dalla creazione. La creazione e la duplicazione di questi container Docker sono semplificate, così come la loro ripartizione su diverse infrastrutture, per gestirle in semplicità in modo automatizzato. Grazie a Kubernetes, gli sviluppatori possono concentrarsi sul codice, senza preoccuparsi dei livelli sottostanti e della gestione delle macchine virtuali (VM).

La Soluzione

Migrare l'infrastruttura verso OVHcloud

Nel luglio 2019 Todocoleccion ha quindi deciso di migrare una parte della propria infrastruttura verso OVHcloud, con l’obiettivo di ridurre i costi mantenendo una disponibilità vicina al 100% anche durante la migrazione. L’azienda ha scelto OVHcloud come nuovo provider per la sua ampia gamma di soluzioni fisiche e virtuali, che permettono di migliorare le performance e la scalabilità dell'infrastruttura senza dover gestire il proprio datacenter on premiseed evitando lo spreco di risorse. Dato che la complessità dello stack richiede un'offerta adatta alle sue esigenze tecniche, Todocoleccion ha optato per una soluzione di Cloud ibrido, in cui i server dedicati Bare Metal, Hosted Private Cloud e Public Cloud rispondono alle diverse necessità tecniche e specifiche.

"Oltre al controllo dei costi, avevamo bisogno di una disponibilità elevata, tempi di risposta brevi e buone misure di sicurezza che ci permettessero di offrire i nostri servizi senza interruzioni e di avere una risposta e una risoluzione rapida degli incidenti in caso di interruzione".

Joaquín Valdés, CEO di Todocolección

Managed Kubernetes per il Thumbnailer

Con oltre 30 milioni di lotti da salvare e presentare, Todocoleccion ha bisogno di un'infrastruttura in grado di generare, conservare e gestire i thumbnail associati ai diversi prodotti messi in vendita e all'asta sul suo sito Internet. Per questo motivo, a ottobre 2020 l'azienda ha deciso di mettere in produzione uno strumento di creazione di miniature di immagini per la visualizzazione dei lotti sul suo sito Web. Todocoleccion utilizza il cluster Managed Kubernetes per il Thumbnailer, in modo da ottimizzare le risorse legate alla creazione di thumbnail per i numerosi lotti disponibili online con tempi di latenza ridotti. Nonostante il fatto che i team di Todocoleccion non conoscessero il mondo di Docker, i membri del suo servizio IT si sono resi conto che Managed Kubernetes era la soluzione perfetta per ospitare il Thumbnailer.

"Sebbene all'inizio sembrasse complicato realizzare questo progetto, siamo lieti di aver potuto contare su Adrian, che è stato un promotore eccellente di OVHcloud, accompagnandoci nell'utilizzo del cluster Kubernetes gestito.
Il supporto che abbiamo ricevuto è stato all'altezza delle aspettative!"

Joaquín Valdés, CEO di Todocolección

Automatizzare per aumentare l'affidabilità dell'infrastruttura

Todocoleccion voleva anche automatizzare il più possibile il ciclo di vita del codice implementato su Kubernetes. Automatizzando il modo in cui vengono generate le immagini Docker e la loro pubblicazione nel "Docker Registry", l’azienda riduce le aree in cui è necessario l’intervento umano durante il deploy, in modo da ridurre i punti di latenza.

Questo strumento per la creazione di thumbnail è composto da N pod che ridimensionano e filtrano le immagini importate sul sito Internet di Todocoleccion.

L’implementazione del Thumbnailer su Kubernetes consiste in 8-50 pod creati ed eliminati secondo una politica di scaling orizzontale (H.P.A) che aggiunge automaticamente dei pod quando la CPU raggiunge l'80% della sua capacità e li cancella quando la quota CPU scende al 50%. Ogni pod esegue il codice del Thumbnailer, costituito da un'applicazione NodeJS, che comunica con Object Storage di OVHcloud, trasforma l'immagine originale e la invia come contenuto statico alla CDN attraverso una libreria C.

infrastructure_todocoleccion_OVHcloud

 

Infine, l'utilizzo di Kubernetes rende più semplice per Todocolleccion la gestione di un ciclo di vita del software ben definito. La società utilizza una pipeline CI/CD basata su GitLab, che testa il codice JavaScript, lo compila e genera un'immagine Docker. Questa immagine viene in seguito applicata su un cluster Managed Kubernetes per essere pubblicata online. Oltre a questa pipeline CI/CD per gestire il ciclo del codice, Todocoleccion implementa anche strumenti per il monitoraggio delle applicazioni direttamente nel cluster Managed Kubernetes, con strumenti come Prometheus e Grafana. Grazie a queste misure, Todocoleccion osserva ogni aggiornamento del codice del Thumbnailer e si assicura che si svolga senza intoppi. In caso di malfunzionamenti, il team IT può intervenire dalla preparazione alla produzione. Il Thumbnailer di Todocoleccion permette di gestire più di 46 milioni di richieste di immagini per più di 625.000 utenti al giorno. Il perfetto esempio di utilizzo di un Cluster Managed Kubernetes per la scalabilità!

I Risultati

Dopo la migrazione dell’infrastruttura sulle istanze Public Cloud di OVHcloud nel luglio 2019, Todocoleccion ha ridotto di circa 80 ms i tempi di risposta del proprio sito Internet. Lo strumento Thumbnailer, entrato in produzione nell'ottobre 2020, permette di gestire da 120 a 250 richieste al secondo. In condizioni normali, l’utilizzo delle risorse è simile all’implementazione precedente. Tuttavia, uno degli aspetti più importanti è che Todocoleccion può ridimensionare il cluster aumentando il numero di nodi di lavoro in base alla necessità. In questo modo, l’azienda può garantire una disponibilità continua anche in caso di forte affluenza, attivando l'auto-scaling dei pool di nodi Kubernetes.

"OVHcloud ci permette di ottenere risultati equivalenti, se non migliori, del nostro precedente provider ad una frazione del costo".

Joaquín Valdés, CEO di Todocolección

Todocoleccion intende inoltre sviluppare l’utilizzo dei dispositivi mobili, che rappresentano già il 55% del traffico attuale e del fatturato della società, e continuare a estendere la propria presenza a livello internazionale.