Designing a highly available durable couchbase cluster

Hello Guys,
I was reading the latest docs (6.6) on high availability and how to design HA clusters, and I came across this entry in the docs:

Services can be configured to run on all or some nodes in a cluster. For example, given a cluster of five nodes, a small dataset might require the Data Service on only one of the nodes; a large on four or five. Alternatively, a heavy query workload might require the Query Service to run on multiple nodes, rather than just one. This ability to scale services individually promotes optimal hardware-resource utilization.

Has anyone published a more in depth guide on how to design highly available clusters ? Would like to read more about this topic. The implications of for instance having:

  • all nodes in a cluster be Data/Index/Query
    vs
  • having one dedicated index with 1-2 replicas, and one query node
    If anyone knows and can share any published docs or any other resource that can help to gain more insight into this would be greatly apreciated.