Un snapshot représente l'état actuel d'une application dans l'environnement. Les snapshots spécifient la combinaison de versions de composants à déployer ensemble, ainsi que la version exacte de chaque composant de l'application. Lorsqu'un snapshot est créé, Deployment Automation collecte les informations sur l'application, y compris les versions de composant, pour un environnement donné.
Au fur et à mesure que l'application progresse dans le pipeline de distribution, Deployment Automation s'assure que les versions exactes (bit pour bit) sont utilisées dans chaque environnement. Une fois que toutes les étapes et approbations nécessaires ont été réalisées pour un snapshot, celui-ci passe en production.
Les snapshots permettent également de gérer des déploiements complexes tels que ceux comportant plusieurs niveaux ou plusieurs équipes de développement. Par exemple, un snapshot peut être créé une fois que la compatibilité entre le composant de l'équipe A et celui de l'équipe B a été testée et confirmée. Puis, au fur et à mesure du développement, des snapshots supplémentaires peuvent être créés et utilisés pour modéliser les efforts et propulser l'ensemble du déploiement, en coordonnant les versions, les configurations et les processus.