Serverless and FaaS

Our FaaS Approach

Tier 0: Edge Computing

Our basic tier is focused on Edge Computing solutions such as those offered by Content Delivery Network providers. Content Delivery Networks such as Cloudflare offer Serverless worker solutions in each of their content delivery locations, ensuring low latency and high speed execution.

Websites can generally enjoy serverless computing free of charge until a significant amount of traffic and load becomes commonplace. Simple services and functions such as contact forms and quote generators can easily be built in this tier, but more complex and feature rich services are best built at Tier 1 or 2.

While the free offerings of CDN providers is certainly interesting, costs can rise considerably once the free tier is outgrown and then there is the matter of vendor lock-in. Proprietary Serverless platforms require applications to be built using their non-standard libraries and APIs, making migration a costly affair further down the road.

Tier 1: K3s and Knative

Tier 1 of our Serverless offering is based on the lightweight K3s distribution of Kubernetes, which can be deployed on either a single virtual server or a cluster of servers. The Serverless component in our offerings is based on Knative, a Kubernetes native solution.

Both are 100% Free and Open Source Software solutions, no hidden costs down the road, no subscription or licensing fees regardless of scale.

Knative is a Kubernetes native platform, allowing the same familiar APIs to be used throughout. It supports a wide range of programming languages for functions, including Go and Rust. With functions based on Go and Rust deployments gain a number of key benefits.

  1. Go and Rust functions start with minimal delay as they don’t depend on large and slow to start runtime environments such as Java and C# / .NET
  2. Go and Rust are high performance languages, meaning more requests per second, per server, compared to Python, PHP, JavaScript / Node.js, Ruby and other scripting languages
  3. Go and Rust offer enhanced security mechanism compared to other languages, with Rust being especialy memory safe as well as being one of the most performant languages available

Tier 2: Kubernetes and Knative

Our final tier is based on a full Kubernetes distribution instead of K3s, while still using Knative as Serverless platform. It offers all the benefits of tier 1, while offering several additional enhancements and capabilities such as:

  1. Multi-cloud / location clustering
  2. Unlimited scaling
  3. Full industry standard Kubernetes support

Migrating from K3s to Kubernetes is seamless, save the added complexity in maintenance and the additional infrastructure cost of a full scale Kubernetes deployment. The gains that a multi-cloud / location deployment can bring to global scale services however is beyond question.

Frequently Asked Questions

How does tier 0 work?

We offer tier 0 as a low cost entry for small scale projects with limited functionality. The main reason for this is to avoid vendor lock-in, which can cause considerable financial pressure further down the road.

Tier 0 is generally useful for basic functionality such as contact forms, opinion polls, rendering 3rd party information and the like.

In order to get the most out of the free ‘Workers’ we develop solutions using native code that is compiled to WASM. This is considerably more performant than regular JavaScript and can help to make the most out of the limited number of run-time that is available.

For more comprehensive functionality however we refer to tier 1, which can be deployed onto a single low tier VPS with easy expansion should the need arise.

Is migration between the tiers seamless?

When using relatively standard features then we will make migration between tier 0 and 1 or 2 seamless, by offering a Knative equivalent function as those used in tier 0.

If full scale applications are built on tier 0 however then software migration will be necessary. That is why tier 1 is almost as low entry as tier 0 as it is best to get started properly.

Migration between tier 1 and 2 however is 100% seamless. Serverless applications are best deployed on tier 1 or 2 from the start, basic functionality can be deployed on any tier at no extra cost.

Does Coduity offer alternatives to Knative?

Certainly. We also offer solutions based on direct interaction with Kubernetes API’s as well as supporting Ansible / OKD, Dapr, Porter and others. We class these as custom solutions however, so they are not included as default tiers.

Other Solutions

Let's start with a free analysis and a quote