4 ms·
I'd love to use Lambda, but the cold start issue[1] makes it a nonstarter for me. Anyone know if Azure Functions works around/solves this problem? [1] document
by aaronbrethorst 11y ago
I'd love to use Lambda, but the cold start issue[1] makes it a nonstarter for me. Anyone know if Azure Functions works around/solves this problem?
[1] documented here, e.g. https://forums.aws.amazon.com/thread.jspa?threadID=181348 https://forums.aws.amazon.com/thread.jspa?threadID=181348
- crandycodes 11y agoAzure Functions PM here. We have some cold start behavior as well, but we generally only see it for the first request. You can also enable always on, which keeps the host hot, but that disables serverless billing.
- turtle4 11y agoCan you elaborate on this at all? First hit within what type of time frame?
- crandycodes 11y agoWe don't yet have a committed time we'll keep you warm and it might change (<-- this is me hedges against future change :)), but it's about 5 minutes today. That's ANY function within a collection of functions running.
- aaronbrethorst 11y agoCan you offer any sort of guidance on what cold start times currently look like? I know it depends on how much code is being loaded and interpreted, but it's obvious you're a really dedicated PM, and I know that—as a result—you must have a qualitative sense of what the perf looks like. For background: I maintain OneBusAway for iOS, and am investigating options for sidecar data (e.g. how delayed is a bus, is there still room on it, etc.). Ideally, this would all be part of the core OBA API, but that may not be an option. I'd just use Apple's CloudKit, but I want to be able to process incoming data and share the data between iOS and Android. Hence my interest in your product :)
- crandycodes 11y agoI just ran a sample http triggered function after it sat around cold. It took about a second to respond with "hello world" and then under 100ms after that. Purely anecdotal. Your experience will vary, etc. Cold start is kinda par for the course with "serverless" so far. We're trying our best to minimize the time it takes to having NO servers to having a server. I think we've got some great folks on our team working to solve that. FYI - You can reserve a VM, if you want, but then you're paying until you turn it off. It will always stay hot, though.
- aaronbrethorst 11y agothanks!
- narrowrail 11y agoI have to admit that I don't get it either for most of these offerings (as mentioned elsewhere, there are offering from all the big tech giants incl. IBM). However, it seems to me that one could just use a $10/mo Linode that is always running and predictably costs $120/yr. There could be data transfer costs into/out of these cloud services that make Lambda-like offerings more competitive from a TCO perspective, but that seems unlikely and project specific. I would like to hear a valid use-case from an actual user. Edit: typos/ punctuation
- IanCal 11y agoI can run a $10/mo linode box, but then I need to deal with 1. Scaling up 2. Scaling down 3. Actually managing the box itself If what you're making is compute focused, then this kind of thing is a godsend. I want to write code to do some processing and have a team of magic elves handle all the hardware related stuff. The other advantage is that I can price things really easily. One call == 23s processing time on average. How much do 100 users making an average of 100 calls each day cost me? Running my own boxes means I need to consider reasonable waiting times, peak usage, speed of scaling, etc. With something like this/lambda/google's version I just go cost_per_second multiplied by 23 multiplied by 10,000.
- RussianCow 11y agoNot an actual user, but I know people who have used Lambda with success. I think the main use case is APIs for which traffic is extremely variable. It's less about cost and more about the ability to seamlessly scale up with traffic. For instance, if your site gets featured on Hacker News, services like Lambda and S3 allow your site to scale almost infinitely and handle all that traffic with ease, and yet they're super cheap when you don't get much traffic, so in those cases you get the best of both worlds. The equivalent using a traditional VPS is either to have a really beefy machine running 24/7 (expensive), or to build an architecture that allows you to spin up more instances at will and scale that way (really time-consuming and difficult to get right).
- ddorian43 11y agoI think you need a cdn to scale s3. So probably s3 is not enough. The equivalent if your api is mostly for reading is to put varnish in front of it.