My Account Log in

1 option

Webassembly for cloud : a basic guide for Wasm-based cloud apps / Shashank Mohan Jain.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Jain, Shashank, author.
Language:
English
Subjects (All):
Application software--Development.
Application software.
Web site development.
Cloud computing.
Physical Description:
1 online resource (170 pages)
Place of Publication:
New York, New York : Apress Media LLC, [2022]
Summary:
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, youll 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. Youll 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, youll 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.
Contents:
Intro
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: WebAssembly Introduction
Wasm in the Cloud
WebAssembly Use Cases
WebAssembly Architecture
Stack-Based Virtual Machine
Summary
Chapter 2: WebAssembly Module Internals: Sections and Memory Model
Type Section
Function Section
Code Section
Export Section
Import Section
Table Section
Memory Section
Data Section
Custom Section
Start Section
Global Section
Programmatically Parsing a Wasm File
Chapter 3: WebAssembly Text Toolkit and Other Utilities
The wat2wasm Utility
Tables
The wasm2wat Utility
Object Dump Using wasm-objdump
Chapter 4: WebAssembly with Rust and JavaScript: An Introduction to wasm-bindgen
wasm-bindgen
Prerequisites
Complex Types via wasm-bindgen
The Bloom Filter
How a Bloom Filter Works
The Cuckoo Filter
Chapter 5: waPC
waPC Architecture
Handling a Complex Type
Rust Host for waPC-based Bindings
Chapter 6: Wasm Web Interface
Node Example
Chapter 7: Wasm and Kubernetes
Docker
Kubernetes
The Workings of Kubernetes
Packaging a Rust Web App into a Docker Container
Pushing an Image to a Docker Registry
The Pod Yaml File
The Service Yaml File
A Golang-based Web App Deployed on Kubernetes
Kubernetes Deployment of the Golang Web App
Chapter 8: Extending Istio with WebAssembly
What Is Envoy?
Rust-based Wasm Filter
Deployment Steps
Envoy Setup
Launch Envoy
Index.
Notes:
Description based on print version record.
Includes index.
Other Format:
Print version: Jain, Shashank Mohan WebAssembly for Cloud
ISBN:
9781484274965
1484274962
OCLC:
1286428282

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account