- Newest
- Most votes
- Most comments
I found the answer. AWS App Runner is 99% the same as GCP Cloud Run but there is an open ticket as it does not scale to 0. Using it, sure enough, it is the serverless, basically configurationless with just launch a docker image and go(no fiddling with kubernetes and launch in record time). To bad it doesn't go to 0 as that saved us tons of money. I am going to trial it and see how much it costs over a week and may just end up switching to GCP like our previous company(no point in leaving money on the table).
You mention Lambda (which does what you're asking for - no cost unless it's running); what's the blocker there for using it in this situation?
Yes, you might have to do a little work to rearchitect things but it will be much lower cost; and the startup delays for a "cold" Lambda function are very low so that's an advantage over starting a container or instance.
hmmm, thinking. Perhaps I am wrong but I was thinking 100 lambdas is way worse to reason about and architect than 10 services with 10 methods each(where there are logical groupings). Drawing an architecture of lambdas sounds like a nightmare for a web of 100 things instead of 10. Sounds hard to maintain as well without a ton of extra work. Creating all the routing amongst 100 lambdas sounds painful as well instead of routing between 10 micro-services. (metrics sounds like a huge win in lambdas though of course). In our current state, it may just be easier to switch to GCP cloud run than create all this stuff. Does AWS have nothing to compare to cloud run?
If we were to switch, we would want to launch a microservice 5 times (once for each method it has) I guess and keep it all as a single project (not sure we should go that path as I feel we may run into new issues there?)
While we recommend that Lambda functions are small and have a single task (this is good practice because you limit your blast radius when making changes; it's easier to update small bits of code); there's nothing stopping you having large Lambda functions that do multiple things. But the effort to break things down into microservices is worth it in the end. And using automation (of any sort - full CI/CD or something in between) is going to make your life easier regardless of how often you make changes. I strongly recommend that you reach out to your local AWS Solutions Architect (they're happy to help!) and discuss your intended design with them.
Relevant content
- Accepted Answerasked 2 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
I came here to say that App Runner is what you are looking for. It does not scale to 0 but it does scale to 0.5 (as I like to say). Meaning that the App Runner charges a minimum (low) fee for provisioned container instances (1 minimum) and a fee for active container instances (that is, when they are doing work). Check out the details at https://aws.amazon.com/apprunner/pricing/ . This service is designed to not have cold starts in its current configuration. Note that at $0.007 per hour for the provisioned container instance you are paying roughly 30 pennies over an entire week-end when the app is not in use.