It's single server or multiple small one. And update happen at once in all server or One by one
@inditoot multiple servers, and the updates happen in sequence of when the instance was created. The infrastructure is similar to https://masto.host/infrastructure/
@inditoot @snder there are multiple app servers, each with multiple instances on them, as well as due to also hosting peertube instances dedicated servers are needed to transcode videos so I can avoid any resource limiting by utilizing 100% of CPUs for a long time (VPS hosts don't like that). For accuracy sake, there are a mix of VPS and dedicated servers.
@inditoot @snder OVH has every type of server you may ever need.
For some instances the app & db are same server, but those were from when I first started hosting, and are in process of migrating to the new infrastructure that is more resilient. Keeping them separate is key because you don't want your DB to be brought down just because someone is transcoding a lot of videos. Note: if you are hosting many instances, make sure that the resources are shared fairly among them all.
@inditoot @snder there are several apps/instances per server app server (unless the client is paying for a dedicated instance). I'm currently working on adding a hot-replica of the DB, to be more resilient to failure. In terms of DB if the client is on a shared plan then the DB is shared between instances, but if the client is on a dedicated instance then they get the resources all to themselves.
@inditoot I use ansible & docker. When updating instances ansible pulls the updated docker image, and swaps out the existing container with the new image.