In current deployment of a web app we are using svn to deploy a specific revision from a repository. The amount of data transferred is just the diff between the currently deployed revision and the revision being deployed, which is rather small. Deployments go to hundreds of machines, hundreds times a week.
We would like to run the app in a container for extra testing, fast reverts and service separation, but there is a problem. When creating a container, we copy the app in there as one layer, then run the container through all tests, security scanning, etc. But during deployments, the amount of data transferred is the entire layer with the app each time. There has to be some way to minimize the amount of data transferred just to the diff between revisions, that is standard and has some tools around it. It does not seem like we are the only ones trying to solve the problem.
So before we implement some home grown solution, what would you do?