You have been hearing from me about WebAssembly aka WASM in past few months, not because I am learning the technology at its core but also because I am understanding on how it can actually change the way we develop applications.
WASM in very simple terms is a new type of bytecode and a compilation target that leads to “Write once run anywhere“. So there will be .wasm binary file generate when you use the tooling to compile the code to. In other words, Let’s say you have a rust application and you do cargo build —target wasm32-wasi,
this will create a.wasm binary in the target folder that you can run anywhere on any architecture where you have a WASM runtime(wasmer, wasmtime, wasmedge etc.).
That is where after its success in the browser it didn’t stop there and people wanted it for Server side of things. Now its exciting as WASM provides so many benefits when it comes to building serverless applications, cold start problems as WASM is designed to be secure, run fast and the size is very small. Plus on top of that it is standardised by W3C standards with top companies contributing.
The real reason why the server side people and cloud native folks are so excited about WASM is :
You can use the same Docker tooling that you learned for years to build and ship your WASM workloads
Component model so that you can reuse other components written in a different language in your component.
WASI preview2 to enable proper sockets and so many other cools features.
Community which is driving and taking it to next level.
Coming to the community aspect, this month I did a tour of different states and meetups on WASM and then Finally pulled off KCD Mumbai which was tough but we pulled it off. Even with limited budget we managed to provide the best experience to the users and the response has been just heart warming.
Some pictures from the Meetup and the conference are in the end of this edition - WASM Bangalore meetups - Did 2 of there
WASM Hyderabad Meetup - Again 2 meetups here
WASM Pune Meetup - unfortunately I wasn’t able to make it due to health
WASM Mumbai Meetup - this was just next day after KCD Mumbai
KCD Mumbai - Cannot tell how awesome the event went. Initially a bit of issues due to hotel wire connections and fireworks(those who attended know what I am talking about) but then it was smooth, so we had Two different tracks, 380+ people registered, MC Heam Rap performance and yes a small RAP performance by me as well :D
The photos are out already and we have the videos, will start uploading them soon!
Coming to my engagements, I spoke at all the above meetups and KCD Mumbai, additionally I create a couple of videos for Kubesimplify Youtube channel as well.
Inspektor Gadget Deep dive - eBPF based observability tool
Kube Green - To scale your deployment to zeror during non usage hours to reduce carbon emissions.
Kubesimplify Hindi
After a lot of thinking and brainstorming with other folks, I started a new channel called Kubesimplify Hindi and have posted 8 videos already. I have crossed 1k subs in < 6 days which is simpliy an amazing response and love from the community. There is more dope content planned , more workshops planned, so do subscribe to the channel and spread the word.
Awesome Videos
Sponsored Content
Komodor - How to Handle Kubernetes Resource Quotas by James Konik
SlimAI - The Package Popularity Trap by Ayse Kaya
Cisco - Exploring Default Docker Networking Part 1 by Hank Preston
Sysdig - Respond Instantly to Kubernetes Threats with Sysdig Live by VÍCTOR JIMÉNEZ CERRADA
Awesome Reads
Exploring Spin Application - The blog post is all about using "application variables" in Spin, a tool by Fermyon. These variables let you tweak how your app works without messing with the code, and the post even shows you how to build an app that uses these variables to control how much it logs.
Running Wasm in a container by Mete Atamel- It explains how running Wasm in a container combines the benefits of both, allowing Wasm to leverage the vast ecosystem around containers, and provides a step-by-step guide on how to run a Rust app as a Wasm module in Docker.
Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022 by Ayush Ranjan - Rust is quicker to pick up than expected, with devs feeling productive in about two months, but the compiler could be speedier. Despite challenges with macros, async programming, and Rust-specific concepts, it's loved for its superb error messages and high-quality code.
High Availability with vcluster by Rich- vcluster is an open source tool that can be used to create virtual Kubernetes clusters. These virtual clusters can be configured with high availability (HA), which means that they will remain available even if some of the nodes fail. To achieve HA, vcluster creates three replicas of each node in the virtual cluster. This ensures that there will always be at least two nodes available, even if one node fails. vcluster also configures a load balancer for the virtual cluster, which ensures that traffic to the virtual cluster will be evenly distributed across the nodes.
Annotations and Labels in Container Images by Adrian Mouat - This blog explin about the usage of labels and annotations on container images. IT elaborates the use of annotations as per the OCI specifications and also how to use crane to get those.
The internals and the latest trends of container runtimes (2023) - A must read blog by Akihiro as it starts what container introduction from level 0 and goes to top level where things like container internals, runtimes, alternatives and some advanced concepts are also touched upon.
Verifying Container Image Signatures Within CRI Runtimes by Sascha - The Kubernetes community is increasingly signing container images, using tools like sigstore policy-controller for automation. To address challenges, policy evaluation is being integrated directly into the Container Runtime Interface (CRI) compatible container runtime, like CRI-O, though complexities like namespace-specific policies and container creation verification remain.
WHAT IS WASI? by YOSHUA WUYTS - A very nice introduction go WASI and what next in store for WASI.
Learning resources/Repositories
k8sapps - apps of apps patter example
timecraft - WebAssembly time machine
Velociraptor - Velociraptor is a tool for collecting host based state information using The Velociraptor Query Language (VQL) queries.
Finch - The Finch CLI an open source client for container development
Learn from Twitter
https://twitter.com/Suhail/status/1674124521543192578?s=20
https://twitter.com/akshay_pachaar/status/1673307658810687489?s=20