Hello @woo,
technically speaking, it should be fine, but there are some topics to consider. Let me share what comes to m mind at this moment:
- of course, if you mix services, the calculation for the sizing towards performance is a bit more complex, but it is only a sizing exercise. Not big deal.
- If you have grid, you probably would like to have HA and performance. Create a load balancing configuration when you mix several components is much harder. In middle tier you create a cluster, in metadata a quorum and in GRID compute you configure EGO and the load balancing. Probably as I say this you can see the additional efforts and possible risks. So, not saying a no-no. Just bringing in the fact that you need effort and expertise.
- Same goes for failover and DR, increasing the times for recovery.
- for a DTA environment, it is probably fine to assume a few risks or additional maintenance / times, but in production it seems sensible to me to increase a bit the costs, in pro of reducing risks and increasing availability/performance.