Snapshots
Snapshots are packages that group your application design elements, namely your models, services, tasks, message queues, and endpoints. They are primarily used to manage versions of your applications.

Each application always has one master snapshot, which cannot be deleted. You can use the master snapshot to keep the latest version of your data model and service designs. You can also define your own default snapshot to have quick access to your preferred snapshot. Default snapshot basically marks the snapshot that will be used when loading an application in the designer tool.
info
Master snapshot is automatically created when you create a new application.
Additionally, snapshots package everything needed to run your applications together, and they are deployed to environments. Different snapshots of your application can be deployed to different environments. For example, while you have an application snapshot running in production, you can copy this snapshot and deploy and test the new features in a trial environment before moving it to production.
tip
If you make changes to your application's snapshot after deploying it to an environment, those changes are not reflected in the execution environment unless auto-redeployment is activated in the user preferences panel. In such a case, you need to redeploy your snapshots to respective environments to apply the changes.
info
You can create private snapshots visible only to you or work on public snapshots with other team members.