To be fair - Amazon (and Google/Azure/whoever) aren't really targeting the sort of user who wants autoscaling for under $20/month... They've got different fish to fry.
There's kind of this uncanny valley of businesses who think their website/app-backend is kinda important, but keep asking about $5 or $20/month hosting when you've recommended ~$100/month for a load balanced redundant AWS setup. If you aren't prepared to pay for a load balancer, at least two ec2 instances, and a multi-region RDS instance - I don't really want to get your 2am Saturday morning phone calls asking why your site/app is down.
Advice: investigate your devops tool of choice (I like Ansible) and work out how to script the spin up of infrastructure at Digital Ocean - you'll need to invest some time to learn and get it working, but you should be able to set up a single command line script to provision additional droplets and add them behind an (automatically updated via Ansible/APIs) dns round robin set of "Floating IP" addresses (or Elastic IP addresses in AWS terminology) and use Heartbeat on each droplet to monitor the others and re-update the Floating IPs as needed. That's kind poorman's HA. For extra credit, you could work out how to automate provisioning of some HAProxy Droplets sitting in front of your app server droplets. Managing a shared database is left as an exercise to the reader who prefers not to pay for RDS ;-)
There's kind of this uncanny valley of businesses who think their website/app-backend is kinda important, but keep asking about $5 or $20/month hosting when you've recommended ~$100/month for a load balanced redundant AWS setup. If you aren't prepared to pay for a load balancer, at least two ec2 instances, and a multi-region RDS instance - I don't really want to get your 2am Saturday morning phone calls asking why your site/app is down.
Advice: investigate your devops tool of choice (I like Ansible) and work out how to script the spin up of infrastructure at Digital Ocean - you'll need to invest some time to learn and get it working, but you should be able to set up a single command line script to provision additional droplets and add them behind an (automatically updated via Ansible/APIs) dns round robin set of "Floating IP" addresses (or Elastic IP addresses in AWS terminology) and use Heartbeat on each droplet to monitor the others and re-update the Floating IPs as needed. That's kind poorman's HA. For extra credit, you could work out how to automate provisioning of some HAProxy Droplets sitting in front of your app server droplets. Managing a shared database is left as an exercise to the reader who prefers not to pay for RDS ;-)