Journey into the amazing world of WebAssembly (Wasm) and learn about how it can be applied on the cloud. This book is an introduction to Wasm aimed at professionals accustomed to working with cloud-related technologies such as Kubernetes and Istio service mesh.
Author Shashank Jain begins with an introduction to Wasm and its related tooling such as wasm-bindgen and wapc. He then walks you through code examples using Rust, Golang, and JavaScript to demonstrate how they can be compiled to Wasm and consumed from Wasm runtimes deployed standalone, as well as on the cloud. You will see how a wasm module can be run through an http interface, and how Wasm fits into CNCF projects such as Kubernetes and Istio service mesh. After that, you’ll learn how the polyglot nature of WebAssembly can be leveraged through examples written in languages like Rust and consumed via Golang and JavaScript, with a focus on how WebAssembly allows interoperability between them. You’ll gain an understanding of how Wasm-based modules can be deployed inside Linux containers and orchestrated via Kubernetes, and how Wasm can be used within the Istio proxy to apply rules and filters.
After reading this book, you’ll have the knowledge necessary to apply WebAssembly to create multi tenanted workloads which can be polyglot in nature and can be deployed on cloud environments like Kubernetes.
You will:
Understand how Wasm can be used for server-side applications
Learn about Wasm memory model and Wasm module layout
Learn how communication between host and Wasm module is facilitated
Understand the basics of Wasm sandboxing and security
Learn the fundamentals of tooling around Wasm, such as WAT and Wasm-pack
Create a Wasm module in Rust and consume it from JavaScript, Rust and Golang.
Grasp how Kubernetes can be used to orchestrate Wasm-based workloads
See how Wasm fits into service mesh