We host a map service with near-real-time satellite imagery. When we receive new image throughout the day, we currently use a script to add the .tif as a new layer and republish the service as quickly as possible.
However, this causes the service to come down briefly and this causes issues due to the high viewership of a web app using this service. Is there a way to add a layer to a map service without overwriting the service?
We need to retain the ability to click on and off layers, each with a name that contain timing information, so a mosaic dataset will not work for us, since it shows up as a single layer when hosted (unless someone knows how to split a mosaic dataset into layers within the AGOL environment).
We don't control the web app and thus have limited options post-publishing.
Clearly, I'm now aware of any of your licensing or IT constraints. But, one of the ways that I've seen this tackled is to have two ArcGIS Servers. Server A is live with the last release of data. Server B is the release before. When new data arrives, then Server B receives an updated Map Service with the new datasets. A load balancer is then switched to Server B. Server A then goes quiet until a new dataset comes in and the roles reverse again.
In this way, you never incur user downtime while republishing happens.
It's a reasonably advanced workflow, but I've seen it work to good effect.