I just installed a $16k GPU at home - super pricy to be sure, but when you price it against hiring 4 junior developers working around the clock it's a steal
As for the infra setup, I am currently using llama.cpp, although I'm just now working on switching to vllm since it is better for concurrent inference, since it can interleave prompt-processing and decode. Until now llama.cpp was enough, since I was on an R9700 and it was only practical to run one agent with decent sized context anyway.