Why run a node? Benefits of running a node You get to run your own Horizon instance:
Allows for customizations (triggers, etc) of the business logic or APIs Full control of which data to retain (historical or online) A trusted entry point to the network Trusted end to end (can implement additional counter measures to secure services) Open Horizon increases customer trust by allowing to query at the source (ie: larger token issuers have an official endpoint that can be queried)
Compute requirements CPU, RAM, Disk and network depends on network activity. If you decide to collocate certain workloads, you will need to take this into account.
As of early 2018, stellar-core with PostgreSQL running on the same machine has no problem running on a m5.large in AWS (dual core 2.5 GHz Intel Xeon, 8 GB RAM).
Storage wise, 20 GB seems to be an excellent working set as it leaves plenty of room for growth.
Taken from: https://www.stellar.org/developers/stellar-core/software/admin.html
To me it seems that with minimal system requirements most businesses that choose to operate on stellar will be able to run their own Node to keep data pertinent to what they need. They should be able to run a node from in house hardware/VM (business network); else use a service like AWS.