Fermyon Enables Polyglot Programming via Wasm Update
Fermyon Technologies today announced it has added support for a WebAssembly (Wasm) Component Model that makes it possible to reuse software components written in different programming languages.
The latest version of the open source Spin serverless computing platform for Wasm applications from Fermyon enables software components written in any programming language to run securely within a Wasm sandbox.
Fermyon CEO Matt Butcher said that capability is enabled by a Wasm Component Model that was approved by the ByteCode Alliance consortium that oversees the development of Wasm earlier this year. In effect, polyglot programming is now enabled in a way that eliminates the need for every component of an application to be written in the same programming language, he added.
Wasm is a portable binary instruction format for building software that runs in a memory-safe, sandboxed execution environment. Originally developed five years ago by the World Wide Web Consortium (W3C) to create a common format for browsers executing JavaScript code, WebAssembly is starting to be used to rapidly build lighter-weight applications that can be deployed on any server platform.
The latest iteration of the Wasm standards added the ability to run a software component written in any programming language within a Wasm sandbox. That capability makes the software component running in the sandbox inherently more secure because any existing vulnerabilities can’t be exploited to compromise the entire application environment.
Other capabilities being added with the release of Spin 2.0 include a Wasmtime pooling allocator to increase concurrent processing speeds by a factor of ten, support for a vector database for extending the capabilities of large language models (LLMs), and a data streaming capability.
Spin 2.0 is designed to be portable to any IT environment, including Kubernetes clusters, and is compatible with Docker Desktop. It serves as the foundation for the Fermyon Cloud service for building and deploying Wasm applications.
It’s not clear to what degree IT teams might one day orchestrate containers and Wasm sandboxes using Kubernetes, but significant progress on integrating Wasm runtimes with Kubernetes is being made.
In general, more Wasm applications are starting to be deployed in production environments, especially in concert with artificial intelligence initiatives, where organizations are looking for more efficient ways to optimize expensive graphical processor unit (GPU) resources, noted Butcher.
It may be a while before Wasm is pervasively employed across enterprise IT environments, but with the latest update to the standard, many existing software components can now be reused alongside new components. That capability will enable developers to employ whatever programming language they prefer versus having to write code in whatever programming language an application happens to be primarily written in. In effect, Wasm enables IT teams to deploy applications anywhere, regardless of how many programming languages were used to construct them.
In time, it should become increasingly simpler to build applications using Wasm as tooling continues to improve. In the meantime, IT teams would be well-advised to include Wasm as part of any strategy for building and deploying cloud-native applications across a heterogeneous IT environment.