Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hyper-Efficient Serverless Platforms on Azure Kubernetes Service with Fermyon Platform for Kubernetes

Hyper-Efficient Serverless Platforms on Azure Kubernetes Service with Fermyon Platform for Kubernetes

Did you know you could be running thousands of apps per Kubernetes node? Managing serverless workloads efficiently does not have to be complicated, resource-intensive, and expensive. In this session, we will go beyond the limitations of containers and serverless platforms that you may already know. By combining WebAssembly and Spin with SpinKube and Fermyon Platform for Kubernetes, you can run your own high-density serverless platform on top of Azure Kubernetes Service.

Thorsten Hans

April 25, 2024
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. Kubernetes Efficiency Pain Points Actual resource utilization vs requested resources

    Requested resources vs allocatable resources low demand should drive down scale Workload Rightsizing 01 Demand Based Downscaling 02 Cluster bin packing 03 R E S O U R C E S A P P L I C A T I O N D E V E L O P E R P L A T F O R M A D M I N From Google Cloud's ‘State of Kubernetes Cost Optimization’ P A I N P O I N T
  2. P A I N P O I N T Containers

    & Serverless have a cold start delay problem. Time to first “serverless byte”
  3. Containers are often complex. P A I N P O

    I N T Many layers of operational dependencies – Kernel, Drivers, OS + Utilities than need to be deployed to along with your code.
  4. Containers can be very expensive. P A I N P

    O I N T Common practices to optimize containers lead to over-provisioning and over-consuming resources.
  5. Developer tool for building and running event-driven serverless WebAssembly applications

    Spin is an open-source project, built with open standards like WASI and the WebAssembly Component Model. spin new spin build spin up 4.8K GITHUB ★ 75+ CONTRIBUTORS github.com/fermyon/spin
  6. Lab Configuration Single Node AKS Azure Region: Frankfurt Standard_D4ds_v5 4

    CPUs 16 Gigs Memory AMD64 Max Pods Per Node 250 $271.56 monthly Fermyon Platform for Kubernetes AMD64 Single Node AKS Azure Region: Frankfurt Standard_D4ds_v5 4 CPUs 16 Gigs Memory AMD64 Max Pods Per Node 250 $271.56 monthly Azure Functions on Kubernetes AMD64 Single Node AKS Azure Region: Frankfurt Standard_D4ds_v5 4 CPUs 16 Gigs Memory AMD64 Max Pods Per Node 250 $271.56 monthly SpinKube AMD64
  7. Benchmark Constraints • Deploy as many Workloads as possible •

    Cluster must handle 120.000 requests per hour • 20k requests every 10 minutes • Apps are requested randomly • Cluster may not run into problems like • PID or IP exhaustion • Out-Of-Memory exceptions
  8. Conclusion Cluster Workloads Avg. Response Time Costs per Workload Azure

    Functions on AKS 35 3.353ms $7.76 SpinKube on AKS 135 2.383ms $2.01 Fermyon Platform for Kubernetes on AKS 3,500 2.529ms $0.06 Hyper-Efficiently packed and performant WebAssembly with Spin and Fermyon Platform for Kubernetes leads to lower cost
  9. Spin Operator A Kubernetes operator to deploy Spin applications. Containerd-shim-spin

    A ContainerD shim for running Spin Applications. Runtime-class manager A simple way to install Wasm runtimes. Spin Kube plugin A Spin plugin for interacting with Kubernetes.
  10. Hyper-efficient Application Density 5.000 apps/node with instant response-time Simplified Operations

    No need for complicated scaling rules or resource reservations Developer Portal Experience UI to simplify app management Cloud Vendor Integrations KV Store, SQL, Blob, and LLM integrations