Hosting
We use Heroku. It's a Platform as a Service built on Amazon's cloud infrastructure. It is simple to use when our app is just a toy and is built to scale up for high concurrency or high sustained load.
They act as our outsourced operations team, helping us deliver working software, instead of dealing with already solved problems which we would have to worry about with a bare-bones hosting provider.
Heroku uses conventions to make decisions for us that are unnecessary for us to make. Some things like web servers and app servers are solved problems and can be standardized across applications, regardless of the framework that they're written in. Heroku has additional features like review apps (which helps in code review by being able to test behaviour as it is used), pipelines (which makes handling review, staging and production apps easier) and integrations with other third-party services.
The cloud promises lower operating costs, especially at the beginning when capacity can be lower. Forget about sunk costs of expensive servers.
The cloud and the services it enables will empower our clients' businesses to start and operate in a manner that has never been possible before without significant upfront investment.
If we offer file uploads for features like user avatars, we upload them to Amazon S3.
We also serve our images, CSS, and JavaScript assets from a CDN such as Fastly or Cloudflare.