I would say that dividing responsibilities will help on deployment later on. If for some reason you need to deploy to another server that already has ports 80-443 taken, you will need to adapt your Ktor setup. Also, if you want to deploy multiple frontend instances, you will need a load balancer. You cannot instantiate multiple Ktor instances in the same 80-443 port, you will use something like Nginx to receive requests and distribute them along all your frontend instances, with some load balance strategy. Each instance will need to have its own port, so think about Ktor instance port as a dynamic value.