A snapshot is typically created when a successful deployment runs in an uncontrolled environment, where there are no approval gates. Snapshots can be created in controlled environments too. As the application moves components through various environments, IBM® UrbanCode Deploy ensures that the exact versions and processes that you selected are used in every environment. Snapshots can help manage complex deployments, which have multiple environments and development teams.