Absolutely, there's a whole spectrum of options. "Building a datacenter" doesn't have to mean finding an empty field next to a river. Get a dedicated or shared cage, rent servers, do what fits your needs.
It makes sense that each layer of abstraction costs dramatically more, because these services aren't vertically integrated -- they operate as value adds on top of other services. Heroku runs on AWS who buys server hardware and network hardware from vendors and puts it in racks that sit in buildings operated by datacenter providers who supply power from the electric company.
So when you run something at the abstraction layer of a Heroku dyno, you're contributing to the profit margins of at least:
1. The actual service you use (Heroku, and Salesforce)
2. Their instance provider (Amazon)
3a. (maybe) Their server hardware manufacturer (HP / Dell / Supermicro)
3b. (maybe) Their network hardware manufacturer (Cisco / Juniper / Arista)
4a. Their server ODM (Quanta / et. al.)
5a. Their server components manufacturer (Intel / Hynix / Samsung / HGST / Mellanox / Adaptec / Avago / etc.)
5b. Their network ODM or ASIC designer (Avago)
6. (maybe) Their hosting provider (Peer1 or someone)
7. (maybe) Their retail datacenter provider (Equinix / CoreSite / etc.)
8. Their wholesale datacenter provider (DuPont Fabros / Digital Realty / etc.)
9. Their suppliers and contractors (electrical contractors / Square D / security guards /
10. The electricity and the taxes paid to the municipality
Each of these companies intends to make a profit on the services they provide to the company up the food chain, and that all gets bundled into what you pay.
Sure there are economies of scale here that you can't get, and smart companies are trying to eliminate some of these layers -- but that doesn't necessarily mean you are paying less.
The margins increase as you go up the stack. Electric companies make peanuts for margins (8-10%) compared to a company like Mellanox that makes $1200 network cards (20+%).
But who cares about selling you a $1200 network card when you can charge people $100/mo to use a dyno?