Che cos’è una sandbox in informatica

Aggiornato il: 27-06-2022 00:00
 

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.

Keliweb : il servizio di hosting italiano

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

Schermata 2021 11 24 alle 11.35.51

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



Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti piace questo articolo? Vota e fammelo sapere.

Che cos’è una sandbox in informatica
Keliweb : il servizio di hosting italiano
markus spiske KU3lOAiP tQ unsplash
Torna su