News for hackers. Stuff that matters.
Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @09:52AM (#50071780)
There's nothing particularly special about Lambda's scaling. You can do the same with GCP Cloud Run[0] or Azure Container Apps[1]

Specify the maximum number of allowed instances and maximum concurrency per instance. Optionally configure more targeted scale rules. It will scale it from 0 - n as needed.

[0] https://docs.cloud.google.com/run/docs/about-instance-autosc...

[1] https://learn.microsoft.com/en-us/azure/container-apps/scale...

Re:AWS Lambda Web Functions by badatnames on Tuesday October 13, 2026 @09:58AM (#50071882)
So long as you don't count >2 orders of magnitude difference in scaleup time as particularly special..
Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @10:03AM (#50071959)
That's not how it works since each instance can handle multiple requests (up to 1000 per instance). So you may set this to scale at say 75% load level.

Indeed if you configured each instance as a single threaded handler, you will not have fun.

Re:AWS Lambda Web Functions by badatnames on Tuesday October 13, 2026 @10:58AM (#50072781)
That's only how it works when misapplying mean() to characterise application performance. In your scenario, every request is hitting either an overloaded instance, or when scaled down, a 20-30 second wait for spin up, better hope they're neither interactive nor some jobs configured with a short timeout. The mechanisms are so completely different they're hard to even make meaningful comparisons between
Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @12:13PM (#50074073)

    > In your scenario, every request is hitting either an overloaded instance,
Why would this be the case? Cloud Run containers and an app runtime like .NET, Java, Go, Rust can inherently be multi-threaded, multi-connection. It can handle up to 1000 concurrent connections per container using just threads and async (assuming sufficient size). Any workload that requires hitting the DB or backend service (S3, etc) is going to I/O bound and sitting in a future most of the time anyways.

The container instances auto-scale by default to a configured n (0 - n) with the option to define specific scale points. If I'm sensitive to high bursts, this can be a matter of scaling at 50% capacity and a warm instance is available while the application still has headway.

Cases where this falls apart: DDoS in which case, I argue that 1) it is better in any case that it falls apart rather than absorbing that type of traffic spike, 2) such traffic is better filtered upstream in any case in an API Gateway + WAF.

I have worked with both types of solutions for different use cases (was invited presenter at Azure Serverless Conf[0]), but my take nowadays is that serverless containers are almost always a better approach since it provides much more flexibility.

[0] https://learn.microsoft.com/en-us/shows/azure-serverless-con...

Re:AWS Lambda Web Functions by badatnames on Tuesday October 13, 2026 @12:29PM (#50074392)
> this can be a matter of scaling at 50% capacity

At which point we're paying double just to work around cold start latency, which was the original point.

Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @01:26PM (#50075389)
Cloud Run doesn't bill when idle; it only bills when active.

So if you're at 50% capacity with lots of idle time, it can scale to 0.

Scale to 0 doesn't mean "cold". One easy way to keep both Cloud Run and Container Apps "warm" but functionally scaled to 0 for costs is to just ping it every few minutes with Cloud Scheduler set up on a cron pointing to a health endpoint.

Re:AWS Lambda Web Functions by rahimnathwani on Tuesday October 13, 2026 @02:55PM (#50076770)
If you scale Cloud Run to zero and then send a request, won't you immediately wake it up and be charged until it powers down in at least 15 minutes?
Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @03:51PM (#50077634)
When scale to 0, it only bills when actively serving a request. BUT, the instance doesn't go cold immediately; you are only billed while it is serving even if the instance is active.

This diagram helps visualize: https://www.gstatic.com/bricks/image/5eb3c8e9-6159-4e2f-ba98... (gray bar at the top shows when the instance is started and when it ends; blue bars show actual request, and green bars show the billing)

If there's a 10s gap between requests, you are not billed for the 10s gap, but it is still effectively hot; instance does not stop. Request that comes back in 10s later does not have a startup penalty because the instance is still up.

How do you leverage this to build a high throughput system with no cold starts? Just prime it with a short single request (e.g. `/health`) before instance is stopped.

Re:AWS Lambda Web Functions by rahimnathwani on Tuesday October 13, 2026 @04:12PM (#50077967)
I assumed you were talking about instance-based billing (what I've always used), but I think you're talking about request-based billing?
Re:AWS Lambda Web Functions by CharlieDigital on Tuesday October 13, 2026 @04:44PM (#50078458)
Request based billing indeed.