Rust and WebAssembly powered Microservices
The Rust programming language is Stackoverflow’s most beloved programming language for the past 4 years. As it's adoption reaches beyond alpha developers writing system software, there is a strong demand for using Rust to write web services and applications.
Originally created by Mozilla, Google, Microsoft, and Apple as the next generation code execution engine web browsers, WebAssembly is the ideal execution engine for running Rust applications on the server side.
Compared with Java and JavaScript, WebAssembly supports many more programming languages including the popular Rust, Go, Python and others. WebAssembly is also much closer to the underlying hardware, and hence much more performant than Java and JavaScript.
Compared with low level virtualization containers like Docker, WebAssembly is lighter, safer, and easier to manage. WebAssembly is supported on almost any computer operating system today. WebAssembly bytecode applications can just run anywhere. There is no need to package an operating system inside your virtual machine like Docker does.
Being a bytecode virtual machine, WebAssembly has a well-designed security model for accessing hardware. It is a lot harder to crash or do dangerous things in WebAssembly than in a native environment like Docker.
In this talk, we will review recent open source innovations that bring WebAssembly-based services to the market. We will provide a live demo on how to create and deploy a Rust application and deploy it on WebAssembly as a microservice. Topics we will cover include the following.
Introduction to Rust and WebAssembly
- The case for WebAssembly on the server
- WebAssembly implementations that are optimized for the server side
- Dependency Injection container for WebAssembly
- RPC services for WebAssembly
- A complete stateless microservice example in Rust
- A complete stateful microservice example in Rust
Audience
Software developers, CIOs, CTOs, IT managers
Takeaway
The audience will learn basic concepts of Rust and WebAssembly. At the end of the session, they will be able to write and deploy a Rust-based web service in the cloud on their own.
Prerequisite
Familiarity with cloud computing, familiarity with web services, working knowledge of at least one commonly used programming language.