Distributed environment best practices

What are the best practices for several dozen/several hundred Linux servers running ELK Stack? Most separate, but some connected. What is the best practice for maintaining this - e.g. ELK in docker, ansible. So that you can mass deploy configuration changes, etc. The performance of the environment is crucial, high computing power is required and the solution cannot affect this.