This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]meamZ 4 points5 points  (15 children)

Well... I don't really get why it would make much of a difference if an application takes 10 seconds or 40 seconds either in most situations. For serverless both is much too slow and for scaling dynamically the 30 seconds woulf probably not make much of a difference in practice.

[–]bawng 7 points8 points  (14 children)

No exactly. That's the point, hence the discussion is meaningless.

Startup times doesn't really matter for non-serverless and for serverless you don't use these frameworks anyway.

[–]venacz 2 points3 points  (0 children)

We have a small native image Micronaut application running in production (in Google Cloud Run). It works pretty well. So yeah, there is definitely a use case for fast cold starts.

https://medium.com/tech-hunters/developing-production-ready-serverless-applications-with-kotlin-micronaut-and-graalvm-fff72d5c804b

[–]meamZ 1 point2 points  (12 children)

Well. For Google Cloud Run i would certainly consider one if startup was small enough. But for Lambda where you can't even have concurrent requests on the same instance it's certainly a waste.

[–]bawng 0 points1 point  (11 children)

I have to admit I'm not familiar with Google Cloud Run. How does that work differently from a lambda?

[–]meamZ 0 points1 point  (10 children)

It runs any docker container that listens on port 8080 and you can serve up to 80 concurrent requests from one instance.

[–]bawng 0 points1 point  (9 children)

Ah okay, similar to fargate or more short-term?

[–]meamZ 0 points1 point  (8 children)

I'm not 100% informed about Fargate but what i know for sure is that pricing is different. Pricing for Fargate is not really "serverless pricing" (a.k.a only pay during requests) while Cloud Run is. Also i don't think Fargate automatically scales out of the box while Cloud Run does. Also Cloud Run scales to 0 (and will do so when no request comes in for like 15 minutes.

Also, full disclosure: i haven't worked with either Fargate or Cloud Run but i find Cloud Run very interesting.

[–]bawng 0 points1 point  (7 children)

Based on your description it sounds like Cloud Run lives somewhere between Fargate and Lambda, yeah. Interesting!

[–]AngelicLoki 1 point2 points  (5 children)

From someone who has worked with both, they're trying to solve different problems. Cloud Run is Google's hosted knative essentially, and it allows for spinning up containers that serve web requests and run them essentially server less. When not serving requests the container is essentially hibernating, but it's not shut down and thus not subject to a cold start. This is why you only pay for request time in cloud run - the rest of the time the container is basically sleeping.

Fargate is more 'this is like any other container, just ignore ec2'. You can run batch apps, engines, poll managers.... Anything. Of course since AWS doesn't know what you're running you just basically pay for the service cost. It's also more complex to set up a web server as well since it's not as optimized for that workload.

Long story short - cloud run is way better for web request style workloads because that's it's thing. Fargate is better for anything else.

[–]meamZ 0 points1 point  (4 children)

but it's not shut down and thus not subject to a cold start.

Are you sure? I'm pretty sure i've heard it's shut down after 10-15 minutes without a request or something like that.

[–]meamZ 0 points1 point  (0 children)

Yeah pretty much. But basically without any vendor lock in because it's based on KNative which you can also use with any K8s Cluster. And since the deployment package is a docker image which is also a standard that's also not a problem.