Exploring Developer Sandboxes
Summarize
Summary of Exploring Developer Sandboxes
Developer Sandboxes in ServiceNow Zurich release provide isolated, on-demand development environments that allow delegated developers and admins to request, access, and manage individual sandboxes on the same underlying instance. Each sandbox contains a full copy of the base instance metadata and is fully isolated, enabling parallel development and testing without impacting others. This isolation helps teams handle urgent fixes and feature enhancements simultaneously without code conflicts or deployment delays, improving overall agility and reducing rework.
Show less
Key Features
- Isolation: Developers work independently in sandboxes, ensuring changes do not interfere with each other.
- On-demand Provisioning: Sandboxes can be quickly provisioned by admins or developers for specific tasks or experiments.
- Integration with Source Control: Sandboxes support integration with Git and merge tools, facilitating parallel development and reducing conflicts.
- Sandbox Management Dashboard: Provides visibility into total, available, and allocated sandboxes, including status, usage, owner, and access details.
- Reuse of Sandbox Templates: Enables creation and reuse of sandbox configurations to avoid repetitive data input.
- Data Generation Profiles: Allows generation of synthetic data for testing purposes when full instance data cannot be copied, protecting sensitive information.
- Sandbox Alias and Allocation: Simplifies sandbox referencing and allocation to specific users or tasks.
How Developer Sandboxes Work
Admins or delegated developers allocate sandboxes to start work on specific stories or tasks. Development and testing occur within the sandbox environment, isolated from other sandboxes and the base instance. Changes are promoted to shared environments (like test/QA instances) primarily through source control tools or, alternatively, update sets. Admins then clone the updated shared instance to set the baseline for new sandboxes.
Key Benefits
- Enable Parallel Development: Multiple developers can simultaneously work on different features or fixes without interference.
- Reduce Merge Conflicts: Source control integration improves co-development success.
- Improve Development Speed and Quality: Faster delivery cycles and safer testing environments increase productivity and system stability.
- Controlled Baseline: Unlike Personal Development Instances, sandboxes maintain a consistent baseline configuration for reliable development.
Additional Notes and Considerations
- Cloning or upgrading the base instance removes all sandboxes.
- Build Agent support is not yet available in Developer Sandboxes.
- SSO authentication for sandboxes works with the same credentials as the base instance but does not support vanity URLs.
- Check your entitlements to confirm access to Developer Sandboxes.
Next Steps
To configure and administer Developer Sandboxes effectively, explore documentation on administering sandboxes, using sandbox templates, creating data generation profiles, and integrating with source control.
Developer Sandboxes enable delegated developers and admins to request, access, and manage individual sandbox environments on top of the same underlying development instance.
- Developer Sandboxes are isolated environments for parallel building and testing.
- Each sandbox is provisioned on demand and fully isolated from others.
- Every sandbox contains the full metadata of the base instance.
- Sandboxes can be assigned to specific stories, developers, test plans, or custom criteria.
Developer Sandboxes overview
Developer Sandboxes aim to provide lower-cost developer isolation and parallelism for customer development environments and instances. Developer Sandboxes are workflow-agnostic and are broadly applicable across workflows for both smaller and larger companies.
Organizations can face challenges when addressing urgent defects and critical feature enhancements simultaneously in applications. Traditional shared development environments introduce risks such as code conflicts, configuration overlaps, and deployment delays, making it difficult to manage parallel workstreams efficiently. Development teams struggle to deliver urgent fixes and new features concurrently without disrupting each others' progress. The absence of isolated, independent development environments slows down delivery, increases rework, and hampers overall agility.
- Isolation: Each developer works in an independent sandbox, ensuring changes do not affect other team members’ work.
- Faster delivery: Teams can work concurrently, reducing development cycle time and enabling faster turnaround for urgent fixes and enhancements.
- Safe testing: Developers can test configurations, workflows, and integrations within their sandbox without risking system stability.
- On-demand provisioning: Admins and developers can quickly provision sandboxes for specific tasks or experiments without waiting for shared resources.
The Sandbox Management home dashboard displays the total, available, and allocated sandboxes in your instance. The dashboard also displays information relevant to each sandbox, including, the status, data utilization, owner, last accessed date, and when the sandbox was allocated.
Check your entitlements to determine whether you have access to Developer Sandboxes. For more information, see Developer Sandboxes entitlements.
Integrate sandboxes with source control
Developer Sandboxes provide an isolated environment that integrates with source control, such as Git. Using merge tools helps eliminate conflicts and enables parallel development. For more information, see Source control and Developer Sandboxes.
Developer Sandboxes users
| User | Description |
|---|---|
| Delegated developers | Delegated developers can request, allocate, or retire sandboxes. |
| Admins | Admins can allocate or retire sandboxes. |
Developer Sandboxes workflow
The delegated developer or admin of a sandbox would procure a sandbox, make changes or experiment with development, test their changes, push their changes, and wait for an admin to clone the instance.
- A Developer Sandboxes user (either admin or dev) allocates a sandbox to start story work.
- The developer makes development changes and tests them out in their fully isolated sandbox.Note:The work done in one sandbox doesn't appear in other sandboxes or other instances.
- Once the developer is content with their work and ready to promote their changes to a shared, integrated environment, they push their changes to the desired upstream shared instance. For example, a
test/QAinstance. There are two ways to promote changes:- Using source control (preferable) or exports through Git
- Using update sets and imports (supported, but not as easy to merge changes)
- Further testing can be done on the shared instance.
- The admin of a sandbox instance clones changes from the
test/QAinstance to make those changes the default for all future allocated sandboxes.
Developer Sandboxes benefits
| Benefit | Feature | Users |
|---|---|---|
| Enable parallel development | Enable multiple developers the ability to work on different stories or features at the same time using the same starting source code, all while keeping the non-production baseline instance clean. |
|
| Reduce merge conflicts with source control | Enables integration with source control for more successful co-development. For more information, see Source control and Developer Sandboxes. | Delegated developers |
| Reuse sandbox templates | Enables delegated developers the ability to reuse data to test their changes without the need to manually input data every time. You can create a template once, and reuse any existing templates when creating sandboxes. For more information, see Using sandbox templates. |
|
| Create Data Generation Profiles | Provide the ability to generate synthetic data for testing within the context of developer sandboxes. Developer Sandboxes can't copy all instance data. Data Generation Profiles enable you to generate fake data, but not your sensitive data, for building and testing an application. For more information, see Create a Data Generation Profile. |
|
| Sandbox alias | Enables you to easily reference the sandbox you want to allocate. |
|
| Allocate to | Enables you to allocate a sandbox to yourself, or for an admin to allocate a sandbox to someone else. |
|
What to explore next
To learn more about configuring Developer Sandboxes, refer to Administering Developer Sandboxes data.