Apache, nginx, tomcat と AWS, firebase, herokuなどの違い
プログラミング初心者です。webアプリケーション開発において、webサーバーとアプリケーションサーバーが必要と学びました。それぞれ代表するサービスとしてApache、nginx、tomcatなどが挙げられていましたが、これまたwebアプリケーション開発でよく耳にするAWS(s3など)、firebase、herokuとはどう違うのでしょうか。後者はホスティングサービスでApacheやtomcatが担うwebサーバーとアプリケーションサーバーの機能も包括して提供しているサービスという認識で合っていますか?またそれぞれどのように使い分ければいいのでしょうか。どなたかご教授お願いいたします。