{"id":18309428,"url":"https://github.com/electrocucaracha/k8s-wasm-demo","last_synced_at":"2025-07-19T19:39:30.996Z","repository":{"id":43818720,"uuid":"511682525","full_name":"electrocucaracha/k8s-WASM-demo","owner":"electrocucaracha","description":"PoC created to measure the performance provided by WASM","archived":false,"fork":false,"pushed_at":"2025-03-31T23:20:37.000Z","size":52,"stargazers_count":27,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T00:24:24.849Z","etag":null,"topics":["containerd","crio","docker","k6","kind","kubernetes","rust","wasm","wasmedge"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electrocucaracha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-07T21:45:01.000Z","updated_at":"2025-03-31T23:20:38.000Z","dependencies_parsed_at":"2024-05-17T18:46:42.565Z","dependency_job_id":"3784040e-3811-4641-866c-82ced961b655","html_url":"https://github.com/electrocucaracha/k8s-WASM-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fk8s-WASM-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fk8s-WASM-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fk8s-WASM-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electrocucaracha%2Fk8s-WASM-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electrocucaracha","download_url":"https://codeload.github.com/electrocucaracha/k8s-WASM-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247375442,"owners_count":20929030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containerd","crio","docker","k6","kind","kubernetes","rust","wasm","wasmedge"],"created_at":"2024-11-05T16:11:24.096Z","updated_at":"2025-07-19T19:39:30.985Z","avatar_url":"https://github.com/electrocucaracha.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubernetes Wasm Demo\n\n\u003c!-- markdown-link-check-disable-next-line --\u003e\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)\n![visitors](https://visitor-badge.laobi.icu/badge?page_id=electrocucaracha.k8s-WASM-demo)\n\n## Summary\n\n[WebAssembly (Wasm)][1] is a binary instruction format designed for a stack-based\nvirtual machine. Its primary goal is to enable high-performance applications on\nweb pages. However, it’s not limited to the Web — Wasm makes no Web-specific\nassumptions and does not include Web-only features. As an open standard, it is\nintended to support any language across any operating system, and today, most\npopular languages already offer some degree of support.\n\n\u003e \"WebAssembly, that defines a portable, size- and load-time-efficient format\n\u003e and execution model specifically designed to serve as a compilation target for\n\u003e the Web.\" - [Luke Wagner][4]\n\nWasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime\noptimized for cloud-native, edge, and decentralized applications.\n\nThis project offers end-to-end code to test a Kubernetes-based application using\nthe WasmEdge runtime.\n\n### Metrics\n\nThe following table presents sample metrics taken from the 95th percentile of a\nsingle test run. These values may vary with each execution:\n\n| Metric Name         | Description                                                                         |  Rust   |   Wasm   |\n| :------------------ | :---------------------------------------------------------------------------------- | :-----: | :------: |\n| http_req_blocked    | Time spent waiting for an available TCP connection before making the request.       | 14.06ms |  3.55ms  |\n| http_req_connecting | Time spent establishing a TCP connection to the remote host.                        | 13.79ms |  3.16ms  |\n| http_req_receiving  | Time spent receiving data from the remote host.                                     | 16.04ms |  2.39ms  |\n| http_req_sending    | Time spent sending data to the remote host.                                         | 7.14ms  |  1.57ms  |\n| http_req_waiting    | Time spent waiting for the response (also known as \"time to first byte\" or \"TTFB\"). | 34.92ms | 126.93ms |\n\n\u003e Note: Surprisingly, the response waiting time in the Wasm version is longer than in Rust.\n\n## Virtual Machines\n\nThe [Vagrant tool][2] can be used to provision an Ubuntu Focal virtual machine.\nIt’s highly recommended to use the _setup.sh_ script from the [bootstrap-vagrant project][3]\nto install the required Vagrant dependencies and plugins.\n\nThis script supports two virtualization providers — Libvirt and\nVirtualBox — which can be selected via the **PROVIDER** environment variable:\n\n    curl -fsSL http://bit.ly/initVagrant | PROVIDER=libvirt bash\n\nOnce Vagrant is set up, you can provision the virtual machine using:\n\n    vagrant up\n\nThis process may take a while, as it installs all dependencies and deploys Kubernetes within the VM.\n\n[1]: https://webassembly.org/\n[2]: https://www.vagrantup.com/\n[3]: https://github.com/electrocucaracha/bootstrap-vagrant\n[4]: https://blog.mozilla.org/luke/2015/06/17/webassembly/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrocucaracha%2Fk8s-wasm-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectrocucaracha%2Fk8s-wasm-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrocucaracha%2Fk8s-wasm-demo/lists"}