Che cos’è una sandbox in informatica

Argomenti: ,
Pubblicato il: 24-11-2021 11:39

 

Una sandbox consiste, nell’ambito dello sviluppo software, in un ambiente test che è in grado di isolare le modifiche al codice non ancora testate, e da’ la possibilità di sperimentarle in modo sicuro senza compromettere il sistema su cui le stiamo facendo funzionare. Viene usata in ambito del software collaborativo (GIT), dello sviluppo web e del software per la controllistica.

Il sandboxing è in grado di proteggere i server che fanno funzionare i siti in produzione, preservando che si possano effettuare o commettere “danni” anche involontari ad altre funzioni o dati. Le sandbox sono infatti in grado di replicare quantomeno le funzionalità minime necessarie per testare con accuratezza i programmi o altro codice in fase di sviluppo (ad esempio l’utilizzo delle variabili di ambiente o l’accesso a un database usato per lo sviluppo).

Un esempio classico è la sandbox di PayPal: se stiamo implementando delle funzionalità di pagamento, ad esempio, è chiaro che non possiamo fare i test su soldi reali, e potrebbe sicuramente essere limitante effettuare queste operazioni che, peraltro, espongono a potenziali rischi e sottrazione di denaro. La sandbox viene incontro esattamente a questo genere di necessità: ci permette di lavorare su soldi virtuali, senza nessuna differenza rispetto a quello che sarà il funzionamento standard del software una volta messo in produzione.

Il concetto di sandbox è anche integrato nei software di controllo delle revisioni come GIT, CVS e Subversion (SVN), in cui gli sviluppatori “verificano” una copia del codice sorgente specifica. Solo dopo che lo sviluppatore ha completamente testato le modifiche al codice nella propria sandbox, le modifiche verranno archiviate e unite al repository e quindi rese disponibili ad altri sviluppatori o utenti finali del software.

La sandbox è utilizzata anche nei sistemi operativi, dove definisce delle aree specifiche di memoria e di ambiente per poter impedire, ad esempio, che un software pensato per delle semplici interazioni lato server o lato client possa, ad esempio, a partire da un browser invadere l’area di memoria di sistema e “prendersi il lusso” di alterare o cancellare file, ad esempio.

In senso più esteso esistono anche delle sandbox PHP (come questa), infine, che sono dei veri e propri siti con interfacce web in grado di emulare il comportamento di PHP, senza doverlo installare nè in locale nè in remoto. Micro ambienti di sviluppo essenziali e pronti all’uso, se vogliamo. In questo modo possiamo, ad esempio, testare il codice prima di caricarlo nel nostro sito, app o web service, evitando di compromettere l’intero funzionamento dello stesso anche per via di banali o involontari errori di sintassi.

Questi servizi fanno anche debug, segnalano errori o warning e sono l’ideale per chi sta imparando a programmare, per molti versi.

Le sandbox in questa veste hanno comunque dei limiti, perchè non vanno bene per testare codice con dipendenze (import di librerie esterne, ad esempio) per cui sarà necessario comunque ricorrere a forme di staging.

Photo by Markus Spiske on Unsplash

Nessun voto disponibile

Che te ne pare?

Grazie per aver letto Che cos’è una sandbox in informatica di Salvatore Capolupo su Trovalost.it
Che cos’è una sandbox in informatica (Guide, Assistenza Tecnica, Guide PHP)

Articoli più letti su questi argomenti:

Seguici su Telegram: @trovalost