April 03, 2024

Intro To Fermyon Platform for Kubernetes

MacKenzie Adam MacKenzie Adam

spin fermyon platform for kubernetes fermyon kubernetes

Intro To Fermyon Platform for Kubernetes

If you’ve been following Fermyon, you’ve joined us on quite a journey as we’ve worked through the mechanics of running Spin applications at scale for quite some time.

We started with the original Fermyon Platform a few years ago, which empowered platform engineers to run their Spin applications on a self-hosted Nomad cluster. This was the predecessor to Fermyon Cloud, a fully managed serverless environment for running Spin applications built for those not interested in platform management. Fermyon Cloud was designed with efficiency and performance at the top of our minds, to accommodate the requirement of running thousands of Spin applications on behalf of our users on a multi-tenant platform with unpredictable traffic patterns.

Over time, we received overwhelming feedback from Spin users who saw the benefit of running WebAssembly (Wasm) applications but needed the ability to run these applications as first-class workloads in their Kubernetes cluster. Thus, the next incarnation of Fermyon Platform began; bringing Kubernetes orchestration support. A few weeks ago, we released SpinKube, an open source platform for efficiently running Spin-based Wasm applications on Kubernetes. SpinKube is built with love by folks from Microsoft, SUSE, LiquidReply, and us here at Fermyon. With all of the SpinKube fundamentals and all of the past achievements in optimizing the efficiency, security, density and performance of Fermyon Cloud, we now have Fermyon Platform for Kubernetes.

What Is Fermyon Platform for Kubernetes?

Fermyon Platform for Kubernetes is Hyper-Efficient Compute With Stunning Performance.

Fermyon’s landscape of open source projects & products

Let’s take a closer look into why you should consider using the Fermyon Platform for Kubernetes and how it works.

At Fermyon, we’re passionate about bringing you the next generation of serverless, and we believe that enabling developers to quickly deploy Wasm applications to Kubernetes via Fermyon Platform for Kubernetes is a cornerstone of that mission. We’re not alone in this vision, either – at KubeCon Paris this year, Wasm was cited as the top-most trending topic.

Let’s explore how you might leverage the Fermyon Platform for Kubernetes to unlock new possibilities.

Why Use Fermyon Platform for Kubernetes?

Cost

Perhaps the first response to this question is simple; to meet your cost-saving goals for 2024. Fermyon Platform for Kubernetes can help you reach your cost savings goals without compromising on performance or availability. We achieve this by harnessing the best Wasm has to offer and bringing that power directly to your Kubernetes cluster as first-class workloads. We offer enterprise-grade support and hyper-efficient allocating of workloads across nodes to optimize resource utilization and reduce costs; refined by our industry experience from managing Fermyon Cloud workloads at scale. Cost-saving goals in the context of Kubernetes are well documented. For example, Google’s State of Kubernetes Cost Optimization paper discusses better utilization of resources and mentions practices implemented by high and elite performers to meet the demands of cost-efficient Kubernetes clusters without compromising reliability and performance. In addition to this, the 2023 State of FinOps report highlights the increase in container costs and the need to reduce waste as top challenges. Flexera’s 2023 State of Cloud Report also notes optimizing the existing use of the cloud as the top initiative for the seventh year in a row.

Density and Performance

Fermyon Platform for Kubernetes is built with core components from Fermyon Cloud to optimize for density and performance. When we talk about density in the context of Fermyon Platform for Kubernetes, we’re looking at the maximum number of Spin applications you can run on a single host. With Fermyon Platform for Kubernetes’ specialized runtime, you can host up to 5,000 Spin applications on a single node (nearly 20x the existing pod limit in Kubernetes today). You can take a look at Fermyon Platform for Kubernetes in action in this short demonstration:

Considering you don’t need to run pre-warmed instances to benefit from the sub-millisecond start-up time, it becomes significantly easier to bridge the gap between average and peak (99th percentile) resource utilization figures.

Portability

Depending on your specific scenario you may be able to further deepen the cost savings discussed above by moving your workload to a potentially cheaper architecture such as ARM64; given that Wasm workloads are inherently portable across a range of architectures and operating systems. No rewrites are required.

How Does Fermyon Platform for Kubernetes Work?

Let’s look at the Fermyon Platform for Kubernetes Stack. Fermyon Platform for Kubernetes provides an end-to-end toolkit to ensure you have everything you need to run your Spin applications on Kubernetes:

  • Application developers will use Spin to compose their applications and test them locally.
  • Spin Apps are run as custom resources on your Kubernetes cluster, which rely on a unique executor specifically designed for Fermyon Platform for Kubernetes. Configuration for these can be written or transposed (i.e. from TOML to YAML) using the spin kube scaffold command:
apiVersion: core.spinoperator.dev/v1
kind: SpinApp
metadata:
    name: hello
spec:
    executor: cyclotron
    image: "public.ecr.aws/myregistry/my-fp4k-demo-app:v1"
    replicas: 2
  • Platform engineers will install the necessary shim, CRDs, and controllers to deploy Spin Applications as “Spin Apps” to their clusters and manage the resources accordingly.

Architecture overview for Fermyon Platform for Kubernetes

What’s Next?

You may be wondering whether your workload is well-suited for Wasm or what sort of prototypical workloads we encounter here at Fermyon. If so, check out the second series of this article in which we discuss enterprise patterns and architectures where Wasm workloads shine.

If you’d like to chat more about whether your workloads are a fit for Fermyon Platform for Kubernetes, or if you’re interested in a live demo, please reach out here.

Want to learn more? Check out these resources:

  • The Fermyon Platform for Kubernetes announcement page (where you can schedule a demonstration and a technical walk-through).
  • The SpinKube project’s website to get a feel for the ergonomics of the platform.
  • Spin application examples on the Spin Up Hub for inspiration on what to build.

🔥 Recommended Posts


Quickstart Your Serveless Apps with Spin

Get Started