Because server is essentially a collection of processes, it's always good to have at a minimum light weight planning involved of what node within your cluster you want to run the process, what is the quantity, and any constraints involved.
With that being said, attached is what I authored. Don't take it as the holy grail, but feel free to use any part of it to help out. I do try to be as correct as possible and hopefully most of it is directionally accurate. Much of this I learned from the community forums (thank you!), listening to the roadshow(s) and reading and copying some stuff from the admin guide.
Some of our non-functional requirements:
- High availability
- Isolation of backgrounders
- Leverage caching as much as we can (via subscriptions)
- Leverage 24 cores to its greatest potential
- Balance the workload with other stuff that may be going on (e.g. scripts)
- 200 vizql concurrent threads per minute
- Do not let infrastructure process constraints be the cause for slow rendering or slow refreshes
added section for server customizations
added section for arch image (prod)