Many people do. S3 is convenient though. It handles durability, replication, uptime, etc... and even with the insane markup on bandwidth many startups / companies can afford a $10k/mo bandwidth bill because it's cheaper than hiring some devops and a team to build out the appropriate infrastructure.
It depends on how you define AWS-like services. Lots of VPS providers cater to bandwidth-intensive applications and are hosted on cheap dedicated servers.
But you don't have to store and serve all the content from Amazon or your own platform. You can easily set up aggressive caching, in a network you control, backed by S3.
And you pay premium for premium bandwidth. You can't just assume that all your users will have a good experience if you buy hardware and bandwidth from the cheapest providers around.
Way cheaper. Amazon is a middleman for hardware. Even at smallest scales the cost of buying a server pays off within a year. In exchange you get convenience and the ability to scale up on demand without buying more hardware.
I'm sure buying the server pays off, but what about running and administering it?
What's the minimum commercially you'd spend to get cross-continent redundancy on hardware you manage in-house. Just the accounting cost of paying wages for technicians in two countries probably means you need to be a quite large company.
There are middle grounds, managed co-location say, but then you're not likely to save much over using AWS are you?
Even managed co-location is cheaper than AWS when you factor in the egress bandwidth charges at scale.
Another way to do it is to use dedicated servers. The datacenter will take care of repairs and remote hands functions and all you need is to manage the server from the OS level upwards. No need to have technicians in multiple countries, everything can be done remotely.
can you explain the math? I honestly don't have a working knoweldge of the inputs, but let's say i wanted the equivalent of ec2? How would I go about setting it up and the costs? If I wanted to serve a few million english speaking people my web application, how coud I calculate the price? Do I literally buy my own hardware, or I rent hardware at a dedicated rate? These are real questions btw, not rhetoric, it's hard to find a solid blog post or comparison of setting this up and the long term cost v convenience benefits of scaling this because almost everyone uses cloud providers, and by cloud providers I mean digital ocean, AWS, azure, rackspace or now google. Heroku (last I checked) sits on AWS as well and maybe even ngineyard does. actually pretty curious now if a few million people would be worth running your own gear, and if running that gear was lease v buy
The cost difference depends on how much your administration costs go up because you need to do things yourself, rather than through the AWS API. That's why it's hard to calculate.