Not really, I think you nailed it. Note we do have 1 year reserved instances for a few of our EC2 VMs so the cost is probably closer to the $1300 a month once amortized.
We can probably reduce cost a bit by moving Redis to a EC2 instance and rolling our own vs using ElasticCache which is a bit of a premium.
Overall, we have been very happy with our AWS experience, but it is certainly a bit pricey compared to our bare metal setup. We also squeeze a tiny bit more performance out of our bare meta setup than AWS, but we are not talking 2x difference, more like 5-30% difference on the server side.
Note it is important to have full perspective on costs here, cause even if you can do $80 on digital ocean, you miss out on:
-
Auto scaling, which helps us a fair bit on some super enterprise setups
-
Accounting for Prometheus based monitoring which we have. For context NewRelic would be sitting at say $100 per server and then you would also need DataDog which is another $50 or so
-
We also ship with ELK so you would need something like logit https://logit.io/pricing which is yet more money
-
Our PG setup has automatic failover so you would need 2x instances on digital ocean to account for something like this plus a complicated setup.
-
Our Redis setup has automatic failover (so another 2x instances for that)
The bottom line is that $10-$80 is perfectly fine for an unmonitored monolithic setup. But once you need to start talking SLAs and need to know this thing will be rock solid and survive random failures⊠well costs start mounting.