Un sandbox es un entorno de prueba que aísla los cambios de código no probados y la experimentación directa del entorno de producción o repositorio [1] en el contexto del desarrollo de software , incluido el desarrollo web , la automatización , el control de revisiones , la gestión de la configuración (ver también gestión de cambios ) y la gestión de parches .
Los entornos aislados protegen a los servidores "activos" y sus datos, las distribuciones de código fuente verificadas y otras colecciones de código, datos y/o contenido, de propiedad privada o pública, de cambios que podrían dañar un sistema de misión crítica o que podrían ser simplemente difíciles de revertir , independientemente de la intención del autor de esos cambios. Los entornos aislados replican al menos la funcionalidad mínima necesaria para probar con precisión los programas u otro código en desarrollo (por ejemplo, el uso de las mismas variables de entorno que la implementación previa estable que se pretende modificar o el acceso a una base de datos idéntica a la utilizada por ella; existen muchas otras posibilidades, ya que las necesidades de funcionalidad específicas varían ampliamente con la naturaleza del código y la aplicación[es] para la que está destinado).
El concepto de sandbox está integrado en software de control de revisión como Git , CVS y Subversion (SVN) , en el que los desarrolladores "extraen" una copia del árbol de código fuente, o una rama del mismo, para examinarlo y trabajar en él. Una vez que el desarrollador ha probado completamente los cambios del código en su propio sandbox, los cambios se volverían a incorporar y se fusionarían con el repositorio y, por lo tanto, se pondrían a disposición de otros desarrolladores o usuarios finales del software. [2]
Por analogía adicional, el término "sandbox" también se puede aplicar en informática y redes a otras áreas de aislamiento temporales o indefinidos, como los sandboxes de seguridad y los sandboxes de motores de búsqueda (ambos con significados muy específicos), que impiden que los datos entrantes afecten a un sistema "activo" (o aspectos del mismo) a menos que/hasta que se hayan cumplido requisitos o criterios definidos.
El uso de un entorno aislado (véase también " lanzamiento suave ") suele considerarse una buena práctica a la hora de realizar cambios en un sistema, independientemente de si ese cambio se considera "desarrollo", una modificación del estado de configuración o una actualización del sistema. [3]
En servicios web
El término sandbox se utiliza comúnmente para el desarrollo de servicios web para referirse a un entorno de producción reflejado para su uso por parte de desarrolladores externos. Normalmente, un desarrollador externo desarrollará y creará una aplicación que utilizará un servicio web del sandbox, que se utiliza para permitir que un equipo externo valide su código antes de migrarlo al entorno de producción. Microsoft , [4] Google , Amazon , [5] Salesforce , [6] PayPal , [7] eBay , [8] y Yahoo , [9] entre otros, brindan dichos servicios.
En wikis
Los wikis también suelen emplear un modelo de prueba de sandbox compartido, aunque su finalidad principal es el aprendizaje y la experimentación directa con las características, más que la prueba de modificaciones del contenido existente (el análogo wiki del código fuente). En cambio, suele utilizarse un modo de vista previa de edición para probar cambios específicos realizados en los textos o el diseño de las páginas wiki.
Véase también
- Comparación de los patios de juegos de código fuente en línea
- Virtualización a nivel de sistema operativo
- Pastebin
- Sandbox (seguridad informática)
- Efecto sandbox (motores de búsqueda)
- Sandbox (editor de videojuegos)
- Juego sandbox
Referencias
- ^ "Sandbox". TechTarget . Consultado el 15 de julio de 2024 .
- ^ Vivek Venugopalan, "Developer Sandbox", capítulo 4, Mejores prácticas de CVS , The Linux Documentation Project, 2005.
- ^ "¿Qué es la gestión de parches?" . Consultado el 15 de julio de 2024 .
- ^ "Nodo Microsoft UDDI Business Registry (UBR)". Archivado desde el original el 7 de noviembre de 2005. Consultado el 27 de julio de 2012 .
- ^ "Amazon Mechanical Turk Developer Sandbox" . Consultado el 27 de julio de 2012 .
- ^ "Salesforce Sandboxes". salesforce.com . Consultado el 29 de agosto de 2016 .
- ^ "Guía del usuario de PayPal Sandbox" (PDF) . paypal.com. Archivado desde el original (PDF) el 28 de enero de 2007 . Consultado el 27 de julio de 2012 .
- ^ "Sandbox para desarrolladores de eBay". ebay.com . Consultado el 27 de julio de 2012 .
- ^ "Enterprise Web Services: Sandbox". yahoo.com. Archivado desde el original el 19 de enero de 2008. Consultado el 27 de julio de 2012 .