Servizi statistici da cucina o da “4 salti in padella”?

Attenzione: questo articolo segue un filo di Arianna, ossia tutti i link presenti. Difficilmente si può quindi capire come pezzo indipendente, a meno che non si ha già la preparazione perché si fa parte degli addetti ai lavori. 

 

Come vagamente menzionato nell’articolo precedente esistono vari modi per consegnare un servizio statistico. In quel caso avevo tutti gli ingredienti su un PC locale, ma esistono altre modalità.

Container = cibo surgelato, basta buttarlo in padella, il produttore ha già pensato agli ingredienti, la ricetta, l’imballaggio per il tutto. Esempio: prodotti Rana come le lasagne già pronte, i tortellini.

Cucina = hypervisor, macchine virtuali (VM). Una cucina completamente attrezzata, dove hai accesso a tutti gli ingredienti freschi e utensili necessari per preparare il pasto da zero. In questo caso, tu fai il cuoco (o l’amministratore del sistema), e hai il controllo completo su come combinare gli ingredienti e preparare il piatto secondo le tue specifiche esigenze. La virtualizzazione basata su hypervisor ti offre flessibilità e controllo completo sulla configurazione e l’utilizzo delle risorse, ma richiede anche più lavoro e pianificazione da parte tua rispetto a semplicemente scaldare (far partire) un pasto pronto come faresti con un container. L’hypervisor consente di avere diverse cucine (sistema operativo), ad esempio chi fa sushi, chi fa messicano, chi fa kebab, chi fa la pizza. L’hypervisor permette di monitorare varie macchine virtuali, così come lo chef monitora e coordina i cuochi in cucina, che può avere varie aree operative: taglio e preparazione delle carni, trancio e preparazione dei pesci, pulitura e preparazione delle verdure, preparazione antipasti e piatti freddi, preparazione dessert, reparto pasticceria, etc. In un video su YouTube vedi che ho preparato programmaticamente una cucina, messa a disposizione da Microsoft, specificando anche gli utensili e ingredienti (programma, librerie).  

 

A livello di infrastruttura le due soluzioni differiscono, ma in questa sede questa cosa non ci interessa, entrambi però hanno in comune la virtualizzazione, o astrazione.

Il primo astrae “piatti”, il secondo astrae ciò che viene molto prima di un piatto: tegami, padelle, forno, tritatutto, etc. L’hypervisor virtualizza hardware, quindi possiamo dire che crea computer all’interno di un computer; i container di docker astraggono tutto ciò che sta sopra il sistema operativo, quindi sta ad un livello superiore.

I container consentono di avere soluzioni portatili, proprio come i piatti, un cameriere può portarne al massimo 6, in funzioni delle sue prestazioni fisico/acrobatiche. Allo stesso modo, quando i container richiedono più di un singolo computer, serve Kubernetes (una specie di caposala, direttore di sala). 

 

Chiaramente non si può fare una metafora su tutti gli aspetti di questo paragone. Questo articolo può sembrare un giro eccessivamente lungo e tecnico per capire la parte più informatica della statistica, ma ignorarlo può rendere i servizi statistici per la tua azienda meno efficienti dal punto di vista della cassa.

 

A questo punto ti domanderai quando ti serve il piatto pronto o surgelato e quando la cucina. Dipende essenzialmente dalle portate che servono alla tua azienda. Certi servizi statistici inglobano molti sotto-servizi. O meglio, certi domini della statistica, tipo l’ingegneria dei dati, hanno molti servizi. Nel caso di Airbyte, applicazione con richieste computazionali importanti, ti serve una macchina virtuale dedicata.

Per un cruscotto dati ospitato in casa (es. Shiny), o un modellino statistico che fa 20 previsioni al giorno o meno, ti bastano due container, che possibilmente girano in macchine virtuali molto economiche o in una singola economica. 

Conviene utilizzare container quando serve anche l’isolamento, cosa che meriterebbe un articolo a parte.

 

Esiste un altro approccio per scegliere cucina o piatto pronto: se l’applicazione ha già una immagine su docker, allora conviene andare lì. Esempio più classico: la base di dati postgreSQL. Anche se qualcuno argomenta che avere una base di dati containerizzata può dare più problemi.

 

Quindi nella maggior parte dei casi conviene un container per una micro e piccola azienda, perché le PMI in genere chiedono più microservizi (piatti) che infrastrutture (cucina). Dalle medie aziende in su il discorso cambia. Se vuoi banalmente mangiare, non ti serve comprare anche la cucina come nel caso degli hypervisor / macchine virtuali , anche perché costa di più in termini di risorse, puoi comprare un piatto pronto, dove qualcuno si è già occupato dello studio del piatto. 

 

Concludendo, avviso che la metafora della cucina in altri contenuti di STATiCalmo ha un altro significato.

Hai qualche dubbio su come tutto questo discorso ha a che fare con l’impianto dei dati della tua azienda? Sentiamoci in una chiamata gratuita.

Privacy Policy
en_USEnglish