Presentation: Next Gen Networking Infrastructure With Rust
Abstract
As the world becomes ever more connected, the scale and sophistication of network infrastructure software is increasing dramatically. However, the requirements for this software are as stringent as ever: it must not only be fast, it must be “safe”, i.e. able to process untrusted data without crashing or being vulnerable to security exploits. . Traditionally, these two requirements have been at odds: network programmers had to pick a language that either offered speed or safety.
Enter Rust, a new language that lets you have your cake and eat it too. Rust compiles to native code, while ensuring at compile time that the resulting programs are memory safe.
But Rust provides even more: its higher-order abstractions enable expressive programs and powerful memory management techniques without imposing a runtime cost. In this talk, we’ll show how Rust’s “zero cost abstractions” can be leveraged to provide a networking platform that provides expressiveness, speed, and safety with tradeoffs between them. We describe how these techniques are used in Linkerd, a “service mesh” proxy for the next generation of cloud native applications.