At Shopify, we’re keeping the flexibility of untrusted Partner code, but executing it on our own infrastructure with WebAssembly.
Overview
The article discusses how Shopify utilizes WebAssembly (Wasm) outside of the browser to enhance its platform's extensibility and performance. It outlines the benefits of Wasm, including security, performance, and flexibility, while detailing the architecture of Shopify's code execution service using Lucet.
What You'll Learn
How to execute untrusted code securely using WebAssembly
Why WebAssembly is suitable for performance-critical applications
How to leverage AssemblyScript for WebAssembly module development
Prerequisites & Requirements
- Familiarity with WebAssembly concepts and its ecosystem
- Basic understanding of using command line tools for development(optional)
Key Questions Answered
What is WebAssembly and how does Shopify use it?
What are the security features of WebAssembly?
How does Shopify ensure performance with WebAssembly?
What is Lucet and how does it relate to Shopify's WebAssembly execution?
Why did Shopify choose AssemblyScript for WebAssembly module development?
Key Statistics & Figures
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Utilizing WebAssembly can significantly enhance the performance of applications by executing code closer to the user, reducing latency.This is particularly important for e-commerce platforms where speed directly impacts sales. By adopting WebAssembly, developers can ensure that features are delivered quickly and efficiently.
2Adopting a community-driven approach to technology like WebAssembly can lead to better tools and support for developers.Engaging with the WebAssembly community allows Shopify to contribute to and benefit from ongoing improvements, ensuring that their implementation remains robust and up-to-date.
3Using a statically compiled language like AssemblyScript can mitigate performance issues associated with dynamic languages in WebAssembly.This approach allows developers to leverage familiar syntax while ensuring that the modules perform efficiently within the Shopify ecosystem.