The first approach is good for the companies having similar activities and business logic.
The second approach is good if you have entirely different type operation and data volumes. This will take more load in server, compared to the first one
so you can decide this way. I suggest.
Any comment on best practices for two companies with similar activities and business logic but with operating in different countries/currencies? Related issue is that the price differences are not simple currency conversions, we charge more in one country than another calculated at an individual product level. Any thoughts?
There is a third alternative: one instance and multiple databases. The proper way depends a lot on the business case and it needs a lot of knowledge and experience to find and deploy the most appropriate approach.
I have many years of experience with all 3 approaches, that's the reason for my statement.
I also forgot docker method. For each company build a docker container. So in total there are 4 ways to do it
I also forgot it, but I would call it more generic, virtualization or containerization.