Per quanto riguarda il provider hai una vastissima scelta, ti consiglio di scegliere qualcosa di semplice, escluderei quindi Amazon AWS che piuttosto complesso e se mal configurato comporta gravi problemi di sicurezza. In caso non hai una figura da sistemista a cui rivolgerti prendi un VPS o un dedicato da provider come OVH, Digital Ocean e simili. Una volta che hai il tuo server installa il web server tipo nginx, tomcat... A questo punto configura il firewall per consentire solo SSH (RDP se Windows) e HTTP(S), per SSH usa l'autenticazione con chiave RSA, non con password.
Se invece vuoi qualcosa di più semplice puoi affidarti ad hosting più economici e "facilitati" ma chiusi, questo non è sempre possibile (alcune funzionalità potrebbero essere limitate) ma se il tuo backend è in PHP hai molta scelta (hostinger, altervista...), esiste qualche hosting di questo tipo anche per nodejs e Java. Questo tipo di hosting sono spesso server condivisi tra più utenti, con il web server e altri programmi pre-installati e spesso non è possibile installare dipendenze mancanti.
Se invece vuoi qualcosa di più semplice puoi affidarti ad hosting più economici e "facilitati" ma chiusi, questo non è sempre possibile (alcune funzionalità potrebbero essere limitate) ma se il tuo backend è in PHP hai molta scelta (hostinger, altervista...), esiste qualche hosting di questo tipo anche per nodejs e Java. Questo tipo di hosting sono spesso server condivisi tra più utenti, con il web server e altri programmi pre-installati e spesso non è possibile installare dipendenze mancanti.