Если использовать 3х уровневую модель архитектуры и выделить для каждой части свою виртуалку, тогда:
сервер БД и апп сервер(логика) будут в одном экземпляре, а view (web-сервер), на котором и запущен сервис могут дублироваться во внутренней сети и в ДМЗ.
Конечно прийдется открыть поток по определенному порту из ДМЗ к аппсерверу, но тогда этот доступ будет строго ограничен портом и іршниками, что минимизирует риски взлома но и не исключает их.
Такую вот мысль подкинули.