The speeds I experience are much, much slower than the speed tests show I'm capable of.
You answered your own question...if you're looking for a more accurate test that shows the speed you're likely to experience through the course of your normal browsing, then why not just use your normal browsing as the test? There is really no other accurate option since the Internet by its very nature is decentralized so even if you found a non-prioritized speed test server, those results would be meaningless for any other hosts because your traffic would likely flow a completely unrelated path to reach them. The ISP speedtest sites are usually located within the ISP's own network so they're a good measure of throughput from you to the edge of the ISP's network, which is all they really care (or can care) about. Just use a different ISP's speed test site if you want results from outside your ISP's network.
the storage is extra
You're paying for storage either way but in AWS you don't have to try to figure out the max storage you'll need. Figure you design a system with a 3-5 year lifetime, so you need to know how much storage you'll need over that period. I don't know about you, but that's pretty hard for me to do. Plus, what happens when you do a major software upgrade and you want to retain full offline backups of everything for a couple weeks, effectively doubling of tripling your storage footprint during that time? The flexibility to get as much storage as you need and only pay for it while you use it is hugely useful.
the networking you pay for data per MB or GB in and out
You rarely if ever pay for data transfer into AWS., but for transfer out you'd have the same costs if you self hosted anyway. They wouldn't be per MB, they'd be flat rate, but you're getting a lot more for your dollar at AWS. Let's say you average 10 Mbps 24x7. That's about 2.96 TB of data transfer a month which costs $346 at AWS. A symetrical 10Mbps business connection for your office is probably going to cost you more than that. In addition to that, you're also getting much better redundancy and scalability at AWS and you don't have to pay for the network equipment (switches, routers, etc).
you pay for backups
You pay for backups if you self host too.
you pay for DR in different availability zones
You might. You can create an application in an autoscaling group and tell it to span multiple AZs but only deploy one instance to the group. If that instance in AZ 1 crashes the system will automatically launch it in another AZ and you're only ever paying for 1 instance. You can also create a DR instance in another AZ and just leave it powered off until you need it, in which case you're only paying for the EBS storage, no compute costs.
you have to pay more in your office internet access to get the faster access to access your data
That's true. Many apps these days are just web apps which are not super bandwidth intensive. A lot of times if you have big data it's not as easy to make a financial case for going to the cloud. You can use direct connect to get 1Gbps or 10Gbps access directly to your data in AWS but it is fairly expensive. If you've got terabytes of data though, you probably can make up the cost in other areas.
"cloud computing" is nothing but a rather thinly veiled mix of software
I'd disagree with that pretty strongly. It can be that, but if you're using it for what it was really designed for then it's much more than that. Let's say you're a startup and you have no idea how your product is going to catch on. In the old world you'd have to buy or lease server capacity for what you anticipate your demand will be. In the cloud world, you just pay for enough to keep the system running at current demand levels, build your solution to scale horizontally, spend half a day configuring scaling policies then sit back and watch the solution take care of growing itself to meet demand.
Anyone with variations in demand can save money with the cloud. It no longer makes sense to pay to buy compute capacity to meet your maximum demand level if parts of that capacity will sit idle much of the time.
You have a message from the operator.