Il domain controller è una prerogativa di Windows perché solo i sistemi windows sono sottoposti ad esso (in *nix non esiste se non per fare da PDC/BDC a sistemi Windows, vedi Samba). Per il file sharing cosa intendi, le directory condivise? Samba è molto più stabile e performante. Application server? Il predominio è JAVA (glassfish, jboss, tomcat) e girano su sistemi linux e solaris. Database? L'unica vera alternativa ad oracle (di cui Red Hat è certificata) è MySQL (di cui InnoDB è oracle). Sono di dominio Microsoft semplicemente dove ci sono accordi politico/commerciali che lo impongono o dove non sono in grado di usare altro.
Samba sarà anche più stabile e performante, ma io parlo di diffusione e Samba è meno diffuso. La condivisione file è Microsoft ed in seconda battuta NAS con OS proprietario.
Java per me è un webserver. Chiamiamolo anche application server per applicazioni web. Per quello è più diffuso di windows e l'ho scritto.
MySQL non è diffuso nelle applicazioni strutturate, le applicazioni database se le giocano Microsoft con SQLServer, Oracle e DB2.
Che ti devo dire? Ho fatto il sistemista per 5 anni e per altri 9 il consulente applicativo per alcune piattaforme commerciali. Ho girato da centinaia di clienti per gestire progetti di implementazione ed integrazione, ho avuto a che fare con sistemi da 10 utenti, fino a gruppi bancari, multinazionali e pubbliche amministrazioni da migliaia di utenti. Il 70% abbondante dei server delle farm dei clienti erano Microsoft Windows.
Questa è la mia esperienza