6 ms·
If you mind elaborating. Why? 20M req/day is =~ $2000/month in API gateway fees alone. I can imagine it depends on the performance profile, but at a previous j
by m0shen 5y ago
If you mind elaborating. Why?
20M req/day is =~ $2000/month in API gateway fees alone. I can imagine it depends on the performance profile, but at a previous job, I replaced a service (lots of GETs, highly cacheable) with a similar number of daily requests with 2 ec2 instances and an elb, with automatic setup / blue green etc. in a matter of hours.
- popotamonga 5y agoI know, right? Company policy. Devops team uses X so that's what we have to use. When you keep getting truckloads of cash from investors no one seems to really care much about costs.
- m0shen 5y agoAh yeah, I figured it was something like that. Seems to me that when you get into the thousands of req/sec you are still better served by simpler setups.
- runako 5y ago> I replaced a service (lots of GETs, highly cacheable) with a similar number of daily requests with 2 ec2 instances and an elb, with automatic setup / blue green etc. in a matter of hours. Most companies do not have access to an engineer capable of doing this in a matter of hours (or in infinite hours, at some firms). $2k/mo is a business-trivial amount of money to solve the problem. Ignoring the other capabilities of API gateway, that's the niche.
- smt88 5y ago> 2 ec2 instances and an elb, with automatic setup / blue green etc. in a matter of hours > > Most companies do not have access to an engineer capable of doing this in a matter of hours (or in infinite hours, at some firms). This would take ~30 min (and at no additional cost) using Elastic Beanstalk[1]. I'm sure there are better, non-free (but not expensive) EB alternatives that can target AWS resources, though. 1. https://aws.amazon.com/elasticbeanstalk/ https://aws.amazon.com/elasticbeanstalk/
- smackeyacky 5y agoWould probably suggest ECS and docker over elastic beanstalk. EB is little more than a macro for creating an EC2 instance.
- smt88 5y ago> EB is little more than a macro for creating an EC2 instance. EB is not perfect, but this is totally wrong. It can automatically: - provision EC2 instances (using their pre-configured environments or your own Docker containers) - set up a load balancer in front of a cluster - scale horizontally or vertically based on load - deploy code to all instances in a rolling fashion (zero-downtime deployments) - run health checks to determine that instances are healthy - automatically roll back bad deployments (also zero-downtime) - pipe logs from all instances out to CloudWatch - perform OS-level upgrades automatically on a certain schedule All of this is out of the box.
- withinboredom 5y agoI should really upload my 500 line bash script that does this to a cluster of machines, nothing is tied to AWS. It can provision a cluster with a single command line, all you need is ssh access to the machines and you're done, complete with log aggregation (custom, not yet released), on-demand file storage (using Longhorn), an s3 compatible filesystem (using Garage), automated and encrypted backups, ssl termination, automated os upgrades, etc. You only need ssh for provisioning and when things break (like that one time etcd went crazy from a full network buffer).
- m0shen 5y agoThis is what I ended up with. It's easy to script, and we were able to ship a Docker container to it, leaving us a nice migration path to other systems if necessary.