Lots of small machines, or fewer big ones?

I have anecdotally heard about an ES cluster made up of a large number (let's say 100) of virtual machines with a 2GB ES heap, and 1 processor each. Is this cluster significantly different in its performance profile than 10 virtual machines on the same hypervisor hardware, with 20GB ES heap and 10 processors each?

Is there any reason to prefer lots of smaller ES data nodes, compared to fewer larger ones?

Near as I can figure, the 100 node cluster should be less performant than the 10 node cluster, due to the overhead associated with running the additional 90 nodes, and significantly less space in which to aggregate records from shards on each machine.

Similarly, would there be any explicit reason to run Elasticsearch in Docker on EC2, rather than in dedicated EC2 instances?

That seems wasteful to be honest.

It's possible.

Not really.

Most likely. A 1GB heap and 1 CPU core isn't going to be able to do a great deal, but it really depends on the use case.