In the CNCF ecosystem, Envoy, an open source service proxy developed by Lyft, is a very common choice in service mesh networking. In a previous post we discussed that both Consul and Istio leverage Envoy. Were you aware that you can extend Envoy’s capabilities with WebAssembly? What is WebAssembly? WebAssembly, or Wasm as it is often abbreviated, is not so much of a programming language as it is a specification for a binary instruction format that can be run in sandboxed virtual machines.
How do you choose an API style and API technology when you start a new project? Today, if you look at API technology research such as RapidAPI Developer Survey and Insights, you’ll probably conclude that REST is the dominant force in the API landscape. While REST is certainly well-known to most developers and used in a lot of production environments, it may not be the best fit for every scenario.
Every developer knows there are some utilities that are completely indispensable from their workflows. The programmer’s toolbelt, if you will. These toolbelts are usually different from person to person, but if there is one tool that everyone should use or at least know how to use, it is tcpdump. If you are unfamiliar, tcpdump is a tool that allows you to dump and inspect live network traffic being observed on a network interface.
Adoption of service meshes like Istio is increasing. As a result, Speedscale has developed a webassembly plugin. We extended Envoy using Rust, and no changes are required to your Istio configuration. This allows us to leverage the same sidecars that you have deployed throughout your environment to inspect API traffic. Once we are listening through Istio, the typical Speedscale magic can take place. We can use the data to build integration/performance test suites and autogenerate service mocks.
A service mesh is a software infrastructure layer for controlling communication between services and usually tasked with handling all the network logic required to make microservice applications work seamlessly in a cloud-native environment. It’s the perfect solution to your communications problems.
For this article we’ll dig into some of the options for Local Kubernetes Clusters if you are developing on a Mac. When doing microservices development, eventually you will want to start to test integrated services together. And there are several options available to run these tests: Tests were conducted on a 2019 MacBook Pro (Big Sur). I’m not embarrassed to say that I cut my teeth on minikube. This is the recommended path for onboarding into Kubernetes and has a ton of benefits.
There was a big announcement this year at GrafanaCon 2021 that performance testing tool k6 is being aquired by Grafana Labs. It was really exciting news for folks who cheer for open source because these are two giant projects. At time of this writing, k6 has over 12K stars and Grafana with a respectable 42K stars on Github as well. In full transparency, I have used both of those repos many times over the years and am a fellow stargazer.