So your entire operation is 3 hosts, including a 24 core Xenon (last I checked those were ~$7k for the CPU alone) including networking (with 200TB/mo outgoing data xfer), power, cooling, storage, etc? All for $500/mo? That's a pretty good price. Respect. In fact, it seems too good to be true. 200TB/mo in network xfer should cost you more than $500 alone. Given that it should take most of 3x 1G connections to push that data, and in my neck of the woods those are $500/mo/ea.
It's also still just 3 servers solving what sounds like a pretty well-known problem. You don't sound like you're running an IT shop where a developer is going to walk up to you and ask for a 5-node Riak cluster, a Mongo cluster, OpenFire servers to handle 6M concurrent users, etc. The QA director needs a QA environment for testing and validation, your partners want another environment, and so on and so forth. It doesn't sound like you deal with data center costs or hassles.
You can get decent per-host pricing on EC2 with reserved instances. You can set up a static site with file serving on S3 + CloudFront without servers easily. In your scenario though, AWS data xfer costs blow your budget out of the water. Or at least I can't do it on a $500/mo budget. It sounds like you run a pretty tightly optimized shop, efficiently (although without a lot of headroom for failover). Again, respect.
Serverless isn't for everyone, but I think the world is better off with it as an option. Once you decide you need 300, 3_000, 300_000 hosts, it becomes a matter of running your own data centers or running within Amazon's data center. There the lock-in lies in the amount of data you have in that provider.