Зависит от того, что у вас за ПО.
И какие у вас тарифы/качество услуг.
Правильно с точки зрения безопасности - запускать отдельные экземпляры.
Но из экономии ты захочешь использовать минимальное количество экземпляров, где один экземпляр будет обслуживать разных клиентов. Если ПО изначально на это не заточено (не реализовано изначально multi-tenancy), то возможно, что различные твои заказчики смогут получить доступ к данным друг друга. Плевать ли тебе на это и насколько ты оцениваешь этот риск - зависит от того насколько ты бюжетный или наоборот "илитный" (я знаю как это пишется).
Если система изначально ориентирована на сдачу в аренду, то в ней реализуют multi-tenancy. Каждый запрос к каждому сервису фильтруется и невозможно получить чужие данные, при том, что ресурсов тратиться очень мало. Может быть и 1 экземпляр ПО на 1000 клиентов, к примеру - при полном отсутствии проблем.
Это технически.
Про лицензии (если это не ваше а чужое ПО) уже написали - это отдельная лицензия.
Обычные лицензии не позволяют тебе сдавать в аренду.