Salesforce operates on the concept of organizations, or orgs. As defined by Salesforce an org is:
"A deployment of Salesforce with a defined set of licensed users. An organization is the virtual space provided to an individual customer of Salesforce. Your organization includes all of your data and applications, and is separate from all other organizations."
When a customer purchases Salesforce, they are provided with an org which acts as the container for all their data.
Types of org
There are two broad categories of org:
- Production instances
- Development instances
Production orgs are designed to the be used with live customer data and to actively run your business. They come in 4 different editions, each with different features enabled:
You can learn more about each edition on the Salesforce site here.
Development instances are used for building and testing new features and customisations before they are released into the production instance.
There are several types of development instance, each serving different purposes and with different sets of features and customisations available. The most common are:
- Full copy sandbox
- Partial copy sandbox
- Developer pro org
- Developer edition org
- Scratch org
In general, sandboxes are used for feature testing and soliciting user feedback, while developer and scratch orgs are used as isolated environments for developers to work in.
Full copy sandbox
This is a complete copy of a production org including data and customization (metadata). It is most commonly used for pre-release testing by end users.
Partial copy sandbox
This copies the customization, and a sample of a production organization's data (up to 5GB). It is most commonly used for integration and user acceptance testing by the development teams.
Developer pro org
This copies customization but not production data. Developer pro orgs can store a small amount of data that is generally used for testing purposes. These orgs are where new features will be built and tested by Salesforce developers and admins.
Developer edition org
A developer edition environment is a free environment with less storage than a developer pro org. Users can sign up for as many as they need. Developer edition orgs start out as "blank" templates, and are often used as initial development environments for small pieces of work alongside developer pro orgs.
The scratch org was recently introduced by Salesforce as a way of modernising the development process on the platform.
Scratch orgs are short-lived, disposable, and source-driven environments used for quick testing and development. They can be created on the fly via a command line tool, and are automatically deleted after a short time. They will typically be loaded with a very limited subset of customization and data during specific phases of testing, and then be deleted.