
12/18/2020
What this post added
This post introduces Shopify's adoption of WebAssembly (Wasm) for executing untrusted partner code on its infrastructure, outside of the browser. It details the technical requirements (security, performance, flexibility) and the choice of the Lucet Wasm runtime. The architecture involves wrapping Lucet in a Rust web service (Wasm Engine) for I/O and module management. Performance metrics show negligible impact (under 5ms execution time) compared to Storefront Renderer. The post also discusses the generation of Wasm, choosing AssemblyScript as the primary language due to developer familiarity and static compilation benefits, and highlights the community-driven nature of Wasm development.