Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Extending WebAssembly Hub to Istio Service Mesh

Solo.io
March 24, 2020

Extending WebAssembly Hub to Istio Service Mesh

Solo.io, Google and Istio have teamed up to support WebAssembly in Envoy Proxy and Istio to bring the dynamic extensibility of WebAssembly to Envoy with unmatched agility, reliability and security.

What is WebAssembly?
WebAssembly (Wasm) is a fast, efficient, portable binary instruction format, providing an embeddable and safe execution environment for platform extensions. Wasm extensions, which can be written in multiple languages and executed at a near-native speed, became a popular way to extend web based applications.

Speakers from Solo.io and Google will cover the community feedback and collaboration that led to support for WebAssembly and the joint effort to iterate on WebAssemblyHub to ensure the best developer experience in on-boarding, developing, deploying, managing and sharing WebAssembly extensions.

Watch the presentation https://youtu.be/BfWj-eKUxM8

Learn More:
https://www.solo.io/
https://istio.io/
https://webassemblyhub.io/

Join the Discussion https://slack.solo.io
Follow https://twitter.com/soloio_inc

Solo.io

March 24, 2020
Tweet

More Decks by Solo.io

Other Decks in Technology

Transcript

  1. Extending Envoy Proxy with WebAssembly Louis Ryan, Google Principal Engineer

    Idit Levine, Solo.io Founder and CEO Christian Posta, Solo.io Field CTO
  2. 2 | Copyright © 2020 2 | Copyright © 2020

    Louis Ryan Principal Engineer Google Cloud Christian Costa Field CTO Solo.io Idit Levine Founder & CEO Solo.io
  3. 5 | Copyright © 2020 Control Path EXTERNAL AUTH RATE

    LIMITING gRPC TRANSCODER ROUTER UPSTREAM EXTERNAL AUTH SERVER RATE LIMITING SERVER VirtualService : route: / -> svc1 auth: opa: allow = ... auth: opa: allow = ... route: / -> svc1
  4. 6 | Copyright © 2020 Data Path EXTERNAL AUTH RATE

    LIMITING ROUTER UPSTREAM EXTERNAL AUTH SERVER RATE LIMITING SERVER POST /dentists Content-Type: application/json Authorization: Bearer xyz {"name":”Dr. Seuss"} POST /com.example.DentistService/AddDentist Content-Type: application/grpc Authorization: Bearer xyz Binary protobuf: \x12\x011\x12\seuss { Method: "POST", Path: "/dentists", Headers: { "Content- Type”:"application/json", "Authorization": "Bearer xyz" } } OK Descriptors {generic_key: "add-drs"} OK gRPC TRANSCODER
  5. 7 | Copyright © 2020 Data Path EXTERNAL AUTH RATE

    LIMITING ROUTER UPSTREAM EXTERNAL AUTH SERVER RATE LIMITING SERVER 201 Created Content-Type: application/json {"id": ”2301", "name":”Dr. Seuss"} gRPC TRANSCODER
  6. 8 | Copyright © 2020 Control Path EXTERNAL AUTH RATE

    LIMITING ROUTER UPSTREAM EXTERNAL AUTH SERVER RATE LIMITING SERVER CUSTOM gRPC TRANSCODER
  7. 9 | Copyright © 2020 ⃞ Use any language ⃞

    Fast ⃞ Safe ⃞ No need to compile ⃞ Easy Very powerful, but leaves a lot to wish for…
  8. 11 | Copyright © 2020 ⃞ Use any language ⃞

    Fast ⃞ Safe ⃞ No need to compile ⃞ Easy EXTERNAL AUTH RATE LIMITING ROUTER UPSTREAM EXTERNAL AUTH SERVER RATE LIMITING SERVER CUSTOM gRPC TRANSCODER Gloo – Custom filters ⃞ Use any language ✓ Fast ✓ Safe ⃞ No need to compile ⃞ Easy
  9. 12 | Copyright © 2020 Istio - Mixer ⃞ Use

    any language ⃞ Fast ⃞ Safe ⃞ No need to compile ⃞ Easy ⍻ Use any language ⃞ Fast ⍻ Safe ✓ No need to compile ⍻ Easy
  10. 14 | Copyright © 2020 “WebAssembly: it’s neither web, nor

    assembly” WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications. -> No Assembly -> Binary Instruction Format -> No Web -> WASI
  11. 20 | Copyright © 2020 ✓ Use any language ✓

    Fast ✓ Safe ✓ No need to compile ✓ Easy Very powerful, but leaves a lot to wish for…
  12. 21 | Copyright © 2020 21 | Copyright © 2020

    Envoy support for WebAssembly
  13. 22 | Copyright © 2020 WASM in Envoy EXTERNAL AUTH

    RATE LIMITING ROUTER UPSTREAM CUSTOM gRPC TRANSCODER
  14. 23 | Copyright © 2020 WASM in Envoy EXTERNAL AUTH

    RATE LIMITING ROUTER UPSTREAM WASM gRPC TRANSCODER
  15. 24 | Copyright © 2020 WASM in Envoy EXTERNAL AUTH

    RATE LIMITING ROUTER UPSTREAM WASM gRPC TRANSCODER Code V8 ABI
  16. 27 | Copyright © 2020 WASM in Envoy EXTERNAL AUTH

    RATE LIMITING ROUTER UPSTREAM WASM gRPC TRANSCODER Code V8 ABI Code + SDK
  17. 28 | Copyright © 2020 ✓ Use any language ✓

    Fast ✓ Safe ✓ No need to compile ⃞ Easy Very powerful, but leaves a lot to wish for…
  18. 33 | Copyright © 2020 ✓ Use any language ✓

    Fast ✓ Safe ✓ No need to compile ✓ Easy Very powerful, but leaves a lot to wish for…
  19. 35 | Copyright © 2020 35 | Copyright © 2020

    @soloio_inc https://github.com/solo-io