When you hit Deploy, our platform builds a new image for your site, complete with all its dependencies, running through the processes until it's ready to begin serving content.
During this process, the version of the site that is already running will not be touched. If for example the deployment fails, the existing version will continue running as though nothing had even happened.
If the new version has no data migrations to apply, it will be ready to serve content immediately. The new instances will be added to the loadbalancer, and the old ones will be removed.
If there are data migrations to apply, those will be run before the new version of the application begins serving content. During this period, which usually lasts a few seconds, the old version of the application may be running with the new version of the database schema.
During those few seconds, if a user happens to request content that is affected by the changes in the database, there is a chance that they may briefly see an error on the site.
Other than in this case, however, the newly-deployed version will be live and running seamlessly.