Question

I want to implement "FaaS least cost routing".

It does not make sense to calculate the costs before every request, but calculating the cheapest provider on a daily or hourly basis would make sense.

My question is specific to FaaS. No storage is involved.

As far as I know up to now the FaaS providers (Google, AWS, Azure, ...) all have a different interface. But this could be solved with a wrapper.

I think the difficult part is to automatically compare the costs.

Do cloud providers have a comparable billing model?

Was it helpful?

Solution

No, however there are frameworks available to enable easily migrating between cloud providers.

The basis for my answer is found within the definitions provided below.

Per Wikipedia,

a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.

Likewise, Least-cost routing (LCR) is defined as follows:

the process of selecting the path of outbound communications traffic based on cost.

Public cloud companies provide integrations and functionality that is not easily portable to other providers. In practice, most companies end up being locked in to certain providers due to these architectural differences. Therefore, unless developing separate codebases that perform the same task, (which would be redundant), there is no way to leverage the cost savings found on another provider without accouting for these changes.

While recommendations are off-topic, I can provide two arbitrary examples of frameworks that provide the portability required to enable rapid transitions between various cloud services.

  • Knative is a kubernetes-based solutions for running "serverless" code.

  • Serverless is a framework for deploying functions as a service.

Licensed under: CC-BY-SA with attribution
scroll top