First - NEVER USE NFS TO STORE DATA YOU DON'T WANT TO LOSE. That said, what you want to host on depends a lot on whether your system is typically CPU bound or I/O bound. A VM for the computational side is generally quite fine. If you're seriously CPU bound then you're likely to want to cluster the thing and/or use PG10 if you can take advantage of parallel requests. Once you get I/O bound things get trickier. AWS has horrible I/O characteristics compared to any "bare metal" solution out there for example. Yes, you can buy I/Oops but now you have incredibly expensive slow I/O characteristics. If you're I/O bound your best solution is to host elsewhere if possible. We have clients who cannot and they're paying a lot more as a result sadly.
A great way to host PG is inside docker containers and there's some excellent kubernetes solutions coming around. It is best if you can mount your data on a host file system rather than a data volume container. The reasons for that may be less strong than before (that was one area where early Docker had defects) but we still see better I/O performance when pushed. That said, I am aware of people happy with their deployments using volume containers although I don't know their I/O profiles so much. Anyway - Docker can be run within VMs or directly on bare metal quite easily and is a great way to compare the impact of the two.
Oh - and lots of memory is always good no matter what as others have said.
Good luck,
-- Ben
On Mon, Mar 5, 2018 at 11:53 PM, David Gauthier <davegauthierpg@xxxxxxxxx> wrote:
Hi:I'm going to be requesting a PG DB instance (v9.6.7) from an IT dept in a large corp setting. I was wondering if anyone could comment on the pros/cons of getting this put on a virtual machine vs hard metal ? Locally mounted disk vs nfs ?Thanks !