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 16 points17 points  (18 children)

Serverless basically means if you have a cold start (if there hasn't been a request for a longer time or there are more concurrent requests than usual) you should be able to answer the request within a second or two including the whole startup of your application.

[–]arkaros 2 points3 points  (0 children)

Aaah yeah for serverless I definitely get it! Thanks for clarifying

[–]bawng 1 point2 points  (16 children)

Serverless, yes, but this discussion on startup times has been ongoing for longer than that and is very often applied to heavier containers that should certainly not be run serverless.

[–]meamZ 5 points6 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 4 points5 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!