What is a Sandbox?
A Sandbox to a developer/administrator is like a playground for a child, it allows the developer/administrators to customize, play and configure the application development environment without affecting the actual production release versions. Sandboxes in Salesforce are used for app development, code management, version control, testing, and training without compromising the actual data and applications in your Salesforce production organization.
Types Of Sandboxes:
|Developer Sandbox||Developer Pro Sandbox||Partial Copy Sandbox||Full Sandbox|
|What is their Usage?||For coding and testing in an isolated environment||For coding and testing in an isolated environment||For Testing environments and quality assurance task||For testing environments and for performance and load testing and staging|
|What do they include of Production Environment?||A copy of production organization’s configuration (metadata).||A copy of production organization’s configuration (metadata). They have a larger storage limit than Developer sandboxes.||A copy of production organization’s configuration (metadata), and a subset of production data as defined by a sandbox template.||Replica of the production organization.|
|Licenses with which you can create Sandboxes||· Full Sandbox · PartialCopy Sandbox · Developer Pro Sandbox · Developer Sandbox||· Full Sandbox · PartialCopy Sandbox · Developer Pro Sandbox||· Full Sandbox · PartialCopy Sandbox||· Full Sandbox|
Sandboxes In SDLC Process
In a Salesforce app development life cycle, comes various phases of code development, unit testing, UAT etc. A simple example is:
In a case when different teams work on multiple areas simultaneously which finally have to be merged into a single organization, that is a single Production environment, with time the process becomes rather complex. It overcomes this a staging platform is created to repressively test the performance without affecting the production version. An example for the same is shown below:
Managing Sandboxes For Release Management Process
Though there is no thumb rule or out of the box process defined on which organizations are dependent on handling their release management system. But still there are some points on sandboxes to be considered for running the process:
- Make a practice to refresh the sandboxes after every release so that we make sure to leverage the new features and make sure that our environment is compatible with the new changes.
- Also, it’s recommended to have a strategy to align the org releases with Salesforce releases, in order to reduce the efforts for refreshing sandboxes.
- A Post Refresh Run List should be prepared and followed every time sandboxes are refreshed after a new release. Few things which should be included are:
- Data Masking Needs
- User Profile Modifications
- Test Data Loads
- Deployment Plan
- Turn Off Scheduled Jobs
- Manage Outbound Email.
Hope this would help you in getting an overview of what Salesforce sandboxes are.