Distributing openemr components across multiple nodes

I like to distribute OpenEMR components across multiple nodes? What are the possible components that can be deployed on different VMs across platforms? As far as I know, having a web server on one VM and DB on another VM. Is there a possibility of distribution further more? Please share thoughts and pointers if you have them used.

session state can be deployed on another server, you can always setup php to use memcached for its opcode caching but not sure you really want to put that on a separate docker. The ccda generation service and other node processes can probably be offloaded onto another server. My question is why? What is it you are trying to achieve?