NPM and NTA must be on the same server. You can move NCM off to a separate server. You can also move the web server off to a separate box, but that requires a $500 purchase of the "additional web server". To managed 12,000 interfaces, you will need an additional NPM poller.
Be sure that you have your database on a separate box. And be sure that the DB has a lots of RAM and is configured to optimize read/write activiity (e.g., RAID 1.0 rather than RAID 5).
By lots of RAM, would 8G cut it for a single box deployment?