It is costly, but not inefficient. This is what we do at my company and our products monetize our blockchain indexing operations. We are doing it all open source and are in the process of decentralizing our operations, so that:
1. anyone who operates a node can contribute time on their node for a share of our revenue
2. anyone can host one of our blockchain crawlers for a share of our revenue
3. anyone can contribute storage to our platform for a share of our revenue
We currently support Ethereum and Polygon, and are expanding to more chains.
I found this an excellent article, but the HN discussion (not calling out your comment specifically) seems to miss the fact that, as programmers, it is fully within OUR power to create the world we want to operate in.
Edit: To clarify - we run our own nodes. Currently on AWS but we are running out of credits soon so soon in our offices and living rooms, and eventually in data centers.