1) Зависит от сферы применения приложения. Например, если это Финтех или какие-то Гео-сервисы, то там принято писать на Java. За столько времени применения Java в этой сфере было разработано определенное количество библиотек и платформ заточенных четко под эту сферу, и на других языках этого ничего нет. Следовательно ни у кого не появляется желания тратить время на изобретение велосипеда и выбирают Java.
2) Чаще всего сервисы реализуют связку. Например, php + node.js / java + go итд. Естественно сначала все пишется на голом php/java условно, а потом по мере роста сервиса ключевые элементы выносят в отдельные подсервисы на технологии, которые для этого лучше подходят.
3) Стек:
- PHP (Symfony/Zend) - интерпрайз на php
- Python (Django/Tornado) - интерпрайз на python. Насчет Фласка (Flask) ситуация следующая, что его начали применять для микросервисов, ибо он легкий. Но потом все же решили делать микросервисы, где каждый микросервис это монолит на Django (так получается удобней).
- Ruby(ROR) - но его лучше не использовать в России. Ибо после 2008 году он стремительно потерял свою популярность и найти спецов под него будет геморно.
- Java(spring)/.Net (ASP NET CORE) - тут все понятно.
__
Если вам надо писать какой-то онлайн-банк, то очевидно лучше выбрать Java.
Если вам надо писать что-то веб-ориентированное для РФ рынка, то PHP.
Если надо, например, сервис автоматизации для Twitch, то лучше выбрать Python (ибо у буружев считается хорошей практикой писать нативную апи либу под Python).
.net, например, хорош для каких-то гос.сервисов. Например, в свое время писал систему учета грузов для морских портов на Балтике. Там очень удобно было весь документо-оборот делать.