Tutti ormai abbiamo una calcolatrice in tasca. Quando però serve fare conti statistici, con un programma decisamente più elaborato rispetto le funzioni di una calcolatrice scientifica, per prevedere un fenomeno o la probabilità di un fenomeno aziendale, come la probabilità di convertire un potenziale cliente in cliente, serve una sorta di calcolatrice statistica accessibile da internet. Serve ad aumentare, ad esempio, la resa dei venditori.
Qualcuno considera passare al cloud, ossia un computer o calcolatore o server di qualcun altro, un pilastro della trasformazione digitale per le PMI. Personalmente non mi trovo molto d’accordo nel contesto delle piccole e medie aziende, perché hanno dei vantaggi se si gestiscono “in casa” certi servizi, anche se possono comportare dei rischi in più e dei costi.
Darò per assodato che hai letto quando può servire un modello statistico. E se hai anche ascoltato l’episodio del podcast sul tema ciò che segue risulterà più comprensibile.
Un calcolatore di terzi accessibile da internet costa non meno di 2,5$/mese. Qualche esempio con numeri relativi alla data in cui ho scritto l’articolo
Render: andando su servizi, servizi web (la nostra calcolatrice web) troviamo minimo 7$/mese. In passato li ho visti anche a 4.
DigitalOcean: andando su droplet, parte da 4$/mese. Qualche addetto ai lavori potrebbe dirti di utilizzare Lambda di AWS (servizi web di amazon), ma lì esiste un cavillo decisamente costoso. Uno dei motivi per cui non mi piacciono tante grosse aziende.
HuggingFace: andando su inference points, termine già discusso, trovi 0,032$ per ora di computazione. Generoso considerando che da micro, piccola azienda difficilmente avrai calcolatrici statistiche che elaborano il risultato in più di un minuto. Ovviamente moltiplicato per il numero di volte che fai partire quel conto.
Github permette di ospitare gratuitamente la calcolatrice solo tramite pagine statiche, si può utilizzare in casi particolari e conviene col linguaggio Python anziché R.
Le soluzioni presentate fino ad ora si occupano sia della calcolatrice che dell’accessibilità di questa tramite internet.
Supponiamo che come calcolatore vuoi utilizzare un PC aziendale, scelta più sensata da due punti di vista. In questo caso potrai accedere alla calcolatrice in maniera limitata, ossia internamente. Ammesso che serva, puoi esporla su internet, ad esempio per i dipendenti che lavorano da remoto, utilizzando ngrok. Puoi accedere al calcolatore utilizzando il collegamento (link, URL) statistico che offrono gratuitamente. Molti altri servizi (localtunnel, pinngy, etc.) lo hanno dinamico, a meno che non paghi un prezzo che reputo eccessivo, che porterebbero la scelta ai servizi di sopra, in quanto più completi. Se vuoi un collegamento brandizzato, col nome della tua azienda, serve pagare ngrok.
Se invece ospiti il tuo sito aziendale su un fornitore che ti permette di usare Cloudflare, ti basterà fare poche operazioni a costo zero ed avere il collegamento personalizzato, ad esempio, calcolatorestatistico.nomeazienda.it. In altre parole Cloudflare ti permette di creare sottodomini, in questo caso calcolatorestatistico, per il tuo dominio, ossia il nome del sito della tua azienda.
Facciamo però un passo indietro: come avere sul computer aziendale la calcolatrice? Prendiamo il caso più semplice, un calcolatore statistico con interfaccia grafica, anziché programmatica, basata sulla libreria shiny di R, che serve per fare cruscotti dati. Partiamo dal presupposto che svilupparla su Python dà meno problemi. Su R, il linguaggio statistico “più da accademici che da aziende”, dopo aver creato l’app shiny tramite Rstudio (di nome app.R), serve eseguire il file da linea di comando (cmd su Windows). Se eseguito tramite RStudio (il banco di lavoro più usato per R) come background job e viewer pane, consuma più risorse computazionali.
Invece, se da linea di comando (cmd) eseguiamo
C:\Program Files\R\R-4.0.3\bin\Rscript.exe
C:\Users\[NomeUtente]\Documents\ShinyAppLocal\app.R

il consumo, su RAM (seconda colonna), si abbassa in quanto non si passa da Rstudio.
Avremo una finestra di linea di comando aperta con il nostro microservizio eseguito. Cosa fastidiosa, specie se quel PC aziendale viene utilizzato attivamente da qualche dipendente. La seccatura si potrebbe evitare sulle distribuzioni Linux anziché fare il tutto su Windows.
In ogni caso, il microservizio risulta accessibile solo localmente. Serve utilizzare Cloudflare per completare l’opera. Puoi vedere un esempio di un non-calcolatore andando su https://shinytest.staticalmo.com/, che tenevo in piedi 8 ore al giorno, in quanto possiamo anche programmare quando eseguire quel codice da cmd, utilizzando il programma di Windows “Utilità pianificazione” e/o altre librerie di R.
Ad esagerare un servizio del genere ti costa, in corrente 0,15€/mese.
Nel caso, più classico, volessi un calcolatore utilizzabile programmaticamente anziché graficamente, quindi tramite API, il costo energetico ovviamente si abbasserebbe.
Esistono altre soluzioni per fare eseguire il microservizio ad un PC aziendale che non ha installato R. Ad esempio standardizzando il codice in un container.
Attenzione: esporre in pubblico un modello statistico non ha potenziali conseguenze come esporre un cruscotto dati o una base di dati. Soprattutto nell’ultimo caso si rischia grosso, a meno che non si adottano delle accortezze che rientrano nelle buone pratiche.
Ribadisco: dalle medie aziende in su questo approccio risulta limitante e/o non convienente sotto vari punti di vista.
Sai che alla tua azienda serve un modello statistico? Discutiamo in una chiamata gratuita in che modalità renderlo operativo. Perché in alcuni casi basta la conoscenza che deriva dall’avere un modello, non serve tirar su tutto sto circo.
