Software Engineering Daily Podcast with Fermyon's Matt Butcher
Listen in as Matt Butcher joins Mike Bifulco to talk about WebAssembly in the cloud. Matt tells the story of how he got into open source, and how he made the journey from CMS systems and LDAP books into cloud and ultimately to WebAssembly.
Along the way, we talk about the Illustrated Children’s Guide to Kubernetes, the philosophy of software development, and how software evolves over time. Matt’s background in philosophy leads to some observations about how philosophy and software are similar in important and overlooked ways. Philosophy can be thought of as the study of system building, and software development is the process of creating rational systems.
The Fermyon Backstory
After a detour into philosophy, Matt and Mike talk about why WebAssembly is interesting in the cloud environment. Many of Fermyon’s first engineers were working together at Microsoft’s DeisLabs. There they discovered problems with cloud computing and found that WebAssembly was the right solution. Matt tells the story of how being at Microsoft Azure was an eye-opening experience for him. Looking at the scale problems at Azure caused him to start thinking about efficiency and wastage in the cloud computing ecosystem. Combining that observation with the feedback Matt got from customers made him (and the DeisLabs team) start asking questions about whether there was a better way to run functions and serverless workloads in the cloud. Might there be a third kind of cloud computing engine that sits alongside virtual machines and containers? Fermyon started with the mission of creating that cloud compute engine using WebAssembly.
Why Programming Language Support is Tremendously Important
Turning to programming language support, Matt and Mike talk about the RedMonk language rankings and Fermyon’s language guide. 2022 was a great year for WebAssembly languages. Python, Ruby, JS, .NET, and Java joined the ranks of languages with WebAssembly support. Language support is critical for WebAssembly’s adoption, and the trend indicates that on this from WebAssembly is looking strong. Matt ends with a prediction that all of the major languages will have full Wasm support by the end of 2023.
The conversation turns toward programming models, and Mike and Matt talk about serverless and the ease of development of serverless functions. Performance is a huge deal to us at Fermyon. And while we started off targeting a runtime that could startup in 100 milliseconds, we are proud to be way beyond this marker. Currently, Fermyon can get from initialization to the user’s first instruction in under a millisecond.
WebAssembly Standards are Rapidly Evolving
Finally, Matt talks about which W3 specifications for WebAssembly still need to be finished. The W3, which standardizes HTML, CSS, and other Web technologies, is also responsible for WebAssembly. While the core of WebAssembly has been complete for a few years, several other correlated standards are still in progress. What do these emerging standards mean for the ecosystem as a whole. Matt points out that the component model is the most important. It is well on its way to completion, and will fundamentally alter the way we load and execute WebAssembly code. But there are others that Matt expresses interest in. The threading specification is also important, as is the memory management proposal. As each of these is completed and implemented, new possibilities will be unlocked for WebAssembly.
WebAssembly is opening new possibilities for the cloud world. And here at Fermyon we are building tools to realize the full potential of this new kind of computing platform. Ready to give it a try? Head over to the Spin quickstart guide and build your first WebAssembly application in minutes.