Может ли быть на одном сервере несколько ролей?
Впихнуть все на один сервер потенциально можно, но в получите неудобство в управлении и риски по безопасности. Приведу очевидные примеры:
сервер терминалов+AD = пользователи сервера терминалов должны быть домен админами
MSSQL + AD = https://www.concurrency.com/blog/february-2017/ins...
IIS + AD = проблемы с безопасностью (или пользователю, под которым запускается apppool не хватает прав - "глюки" в работе веб приложенияили, наоборот, слишком высокий уровень доступа у учетной записи, под которой работает приложение - риск взлома AD через IIS)
Кроме того, понимайте, что после появления AD и присоединения к нему рабочих машин это - центральный сервер вашей сети. Его поломка вызовет вал работ по восстановлению, переприсоединению, перенастройке учетных записей и тд и тп. Вы же вносите в его конфигурацию дополнительные сервисы, что несет для AD дополнительные риски
Тем не менее, у MS всегда было решение Small Business Server которое совмещало на одном сервере роли, необходимые небольшой организации. На текущий момент мои знания по SBS устарели, но продукт существует в виде Windows Server Essentials - возможно, для того, чтобы понять какие роли сейчас (по рекомендации MS) можно совмещать на одном сервере можно посмотреть в его сторону
Отдельные сервера не нужны, но пихать всё в одну корзину - плохая практика.