KubeCon EU: Envoy Looks to WebAssembly to Extend Microservices Monitoring

KubeCon EU: Envoy Looks to WebAssembly to Extend Microservices Monitoring

WebAssembly’s low-level code format enables safe, efficient execution in a sandboxed environment.

The whole agile move towards autonomous development is great to embrace the individual team and even engineer preference. However, there’s no doubt it makes it difficult for governance. It’s hard to monitor, observe and learn from disparate tooling.

Envoy is an open-source network proxy that runs alongside applications to provide them with common features in a platform-agnostic manner. Envoy contributor and Software Engineer at Tetrate.ioYaroslav Skopets offered up at KubeCon + CloudNativeCon Europe, virtual edition, a new Envoy extension as a single interpretation for these many languages.

He started by saying how: “One fundamental purpose of Envoy is its ability to see into every single request received or made by your application.”

Skopets says the next step is to extend Envoy as a way to learn from actual traffic in an efficient, flexible and simple manner. This usually involves natively developing Envoy in C++ and statically linking into the Envoy binary. He says this involves a lot of custom builds of Envoy which leads to “a lot of investment and commitment upfront.”

Skopets suggests instead using WebAssembly, which originated in browsers to enable applications to have what he calls “near-native performance on the web.” In WebAssembly’s low-level code format, he says it enables safe, efficient execution in a sandboxed environment.

What’s interesting in this world of coding language dispersion is that applications can still be developed using a regular programming language — like Rust, AssemblyScript, TinyGo, C, C++ — but then it is compiled into WebAssembly code, which can be deployed and rolled back dynamically.

Skopets offered the example of what he deems a common Envoy user — an organization that has a microservices-based architecture and contract-first or design-first API development that uses RESTful APIs and the OpenAPI specification.

Two common questions to want continual answers for are:

  • Is the API specification complete and up to date?
  • Do the implementations match the API specifications?

This Envoy extension allows you to validate requests against the API specification and flag up violations via metrics.

“It’s an ad-hoc, experimental, disposable extension,” Skopets said.

This extension uses AssemblyScript, which is a subset of the TypeScript syntax, which is statically typed, garbage collected — the memory is automatically managed — and compiled into WebAssembly code.

However Skopets clarified that “This is not a true JavaScript” because it cannot reuse JavaScript libraries, although it can reuse some TypeScript libraries.

Overall he says TypeScript and AssemblyScript were chosen because he said “We want the complexity of the solution to match the complexity of the problem,” which meant looking for a familiar syntax and NPM toolbox, and something that contributed to a more productive development cycle.

For the Envoy extension model, for every HTTP request handled by Envoy, a separate instance of the HTTP filter extension is created.

development microservices networking service mesh news

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Top 5 Social Network App Development Companies

In this article we are sharing a curated list of Top 5 Social Network App Development Companies which have extensive and years of experience in developing custom social network solutions.

The Service Mesh in the Microservices World - DZone Microservices

In this article, take a look at the service mesh in the microservices world. The software industry has come a long journey and throughout this journey, Software Architecture has evolved a lot. Starting with 1-tier (Single-node), 2-tier (Client/ Server), 3-tier, and Distributed are some of the Software Architectural patterns we saw in this journey.

Open Service Mesh: a Service Mesh Implementation from Microsoft

Microsoft has released open service mesh (OSM), an alpha service mesh implementation compliant with the SMI specification. OSM covers standard features of a service mesh like canary releases, secure communication, and application insights, similar to other service mesh implementations like Istio, Linkerd, or Consul. Additionally, the OSM team is in the process of donating the project to the CNCF.

From Service Mess to Service Mesh

For teams to monitor, support, and to maintain these services is becoming a challenge so most enterprises have invested in some kind of microservices management tool.

Top News Mobile App Development Company

Get a Free Quote on Android App Development, iPhone App Development, Ionic App Development, Video Development, ASO, SEO, Google Ads/Adwords, SEO for your app Idea.