How Rust and Wasm power Cloudflare's 1.1.1.1
In this blog post, we introduced BigPineapple, a platform that leverages WebAssembly (Wasm) and Rust to power 1.1.1.1, one of Cloudflare's flagship products. We discussed the reasons behind building such a sandboxed environment, and how it improves on previous designs by providing isolation, security, and portability. The BigPineapple platform uses Wasm as its foundation, which allows running code in a secure sandbox. This means that even if an app has a bug or is malicious, it won't be able to compromise the host system. Furthermore, Wasm apps can run on any platform that supports WebAssembly, without needing recompilation, which makes them portable across different architectures and operating systems. To illustrate how this sandboxed environment works, we introduced a pseudo code for implementing pollable functions in Rust. This example shows how to implement a pollable function in Rust to enable asynchronous programming using Wasm (Wasm) host calls. In the section of this blog post, we discussed the reasons behind building such a sandboxed environment, and how it improves on previous designs by providing isolation, security, and portability. In the Sandbox section of this blog post, we introduced Rust as our choice for writing code that runs inside such environments. By doing so, we are not only improving upon the previous design approaches but also making it easier for developers who want to write high-quality performance programs that take advantage of asynchronous programming features functionalities provided by WebAssembly (Wasm)) and Rust respectively.
Company
Cloudflare
Date published
Feb. 28, 2023
Author(s)
Anbang Wen, Marek VavruĊĦa
Word count
4375
Language
English
Hacker News points
13