"Horizontal scaling means that multiple application servers are deployed on separate physical or virtual machines."
So, this basically means horizontal scaling means each PRPC node runs on its own copy of Operating System. It may be either virtual of physical.
Third option "Scaling using separate JVMs installed on different application servers"
The above option which is the existing correct one as per the quiz, doesnt explicitly say that the different application servers are running in different Operating System. Two or more instance of app server can be run in a single operating system by configuring them in different ports and splitting the memory for the JVM.
The nearest or the most appropriate out of these 4 options is the second one
"Scaling using application server that runs on separate operating systems" because it states that the app servers are running in a seperate operating systems.
The question is trying to see what constitutes horizontal scaling vs. vertical scaling. Vertical scaling is implemented by using different JVMS running on the same physical server while Horizontal scaling requires these JVMs to run on mutliple servers.
In essence, horizonatal scaling requires two separate servers(nodes) and only 3 and 4 talk about that. 4 is wrong because the application cannot be load balanced to servers running different PRPC versions.
The 2nd option is suggesting running two operating systems on one application server, how is that the correct one? Like I mentioned earlier, horizontal scaling requires multiple servers and the second option is saying there is one application server and scaling is done using two operating systems.