Serverless and per minute/second/millisecond billing?

TL;DR:

  • Serverless, plans? When?
  • More fine grained times on the pricing/billing?
  • Is there a way for a Linode to delete itself without giving it API keys?

I have an on-premise compute cluster that processes occasional workloads, but it is on 24/7 and is only needed infrequently. Sometimes I get a burst of workloads, but sometimes weeks can go by without any workloads. I'd like to move this to cloud and ideally run on demand. These workloads take between a few seconds to up to 10-15mins, but there can be multiples of these in parallel.

Ideally, I'd use the more expensive dedicated CPU options for these, but to get most out of the hourly billing I'd need to queue up these on the same Linode, but sometimes I only have a few seconds worth of work.

Also ideally, I'd just call an API with a few parameters about the size of the Linode and details about my work (e.g. docker container or other kind of image) and then that Linode would process it and delete itself afterwards with a bill calculated to the nearest millisecond/second/minute. If I'd then get e.g. 10 tasks or 100 tasks/workloads, I could start the same amount of Linodes to process each of these in parallel.

So, a serverless offering would be great! Linode already has a managed Kubernetes offering and an object storage, and I belive a serverless offering would really fit into the same spirit.

It was also 2 years, 9 months ago when Linode moved everyone to hourly billing. Are there plans to break this into even smaller segments? This kind of billing would work well for burst workloads.

Until there is a serverless option, having an ability for Linode to delete itself from within without giving it full API access would really help. Can I make a key where a Linode can only affect itself? I could then start one off with e.g. Ansible or Terraform, fully configured and just let it delete itself afterwards without having to keep an eye on it (e.g. process(data) && delete(self)). Or perhaps to be able to set a timeout e.g. don't run for more than 15mins (or in case of hourly billing, not longer than an hour). Is there anything like this with Linode?

Surely it is just a matter of time until Linode offers serverless options as so many other cloud providers are doing the same, are there any updates?

3 Replies

We currently do not support serverless Linode instances, although you've provided an exemplary use-case of why adding that feature would be such a valuable feature. This feature is something we are exploring but do not have a timeline of if/when it would be released.

If we do end up changing our current billing model, we would announce that in our Blog, on Twitter, and through updates made to our Billing Guide. Rest assured, you would be informed about such an impactful change.

Outside of utilizing our API/API Tokens, our Cloud Manager does not have a way to automatically delete Linodes after a job is completed. There may be some way to accomplish something along these lines using the API and including some sort of "kill/delete" command, but this would require some higher-level coding beyond my personal experience.

As I understand it, all three of your questions are directly connected and are great recommendations about how we could improve our services. I have escalated this post to our appropriate teams so that these features gain some traction.

Has anything changed since this message was originally posted; does Linode provide serverless support or is there anything in the works to provide serverless support? If not, is there a suggested solution from Linode for creating serverless apps?

Related: https://www.linode.com/blog/devops/break-down-your-code-introduction-to-functions/

Scroll to the bottom and take the survey to express your interest in faas from linode.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct