You can do what I did in pure software and on one machine. As with all things in life, there are compromises.

I do not have the time / desire to delve into all of them. I would suggest looking at the ideal and then making whatever compromises you deem necessary to enable YOUR setup.