Yes, definitely! I have been self-hosting everything for years now, and I'm very happy. Even a three-machine bare-metal cluster has impressive computing power and is difficult to grow out of. I can't envision growing out of a five-machine cluster.
I found higher-level solutions (like AWS) to be slow, complicated and expensive, and I really can't see any reasons to use them.