It is not a good idea to use a VM for production environment, because you would not be using the best part of erpnext that is multi-user mode.
What I would suggest is use VM for testing and use the frappecloud for production server once you are comfortable with the system.
As for the backup the bench setup takes backup as we do updates and also there is a possibility to take scheduled backups but for that you would have to read the wikis.
Like mostfa_ayad, I am considering setting up erpnext on a VM as the only server we have is running on windows and has another app running onto it.
What do you mean by not able to use the multi-user mode? I managed to setup a running erpnext instant with a VM but am not very familiar with linux so I just want to ensure that this can be used for production without too many limitations. I am not sure if I get the difference as the VM runs on debian as well as the ‘proper’ installation…
Can someone clarify the differences between VM and production environment?
Technically not much as most production systems are run as VMs only (eg, Digital Ocean, Linux, AWS).
What Aditya means by multi user mode is making the application available over network for all users in your organization to use. This is possible with Virtualbox also.