Those new to WebAssembly (WASM) often start with the basics: “What is WebAssembly?,” “How does it work?,” and “Why is it worth paying attention to?”
Projects such as wasmCloud, Bindle, and Krustlet have made WASM a first-class citizen in the cloud native universe, introducing new capabilities and additional security features that help cloud native developers tackle the many challenges confounding multi-cloud, multi-edge cloud-native deployments – including CPU diversity, multiple operating environments, security, distributed application architecture, and scalability, all of which transcend deployments into a single public cloud provider.
Mike asked about how Kevin started working at Cosmonic, his insights into developers’ problems that guide the roadmap for wasmCloud.
“What we’ve been doing is building a set of tools…and some libraries and seeing what we can do with WASM as the unit of deployment for distributed applications,” stated Kevin. He points out that if a developer wants to build a distributed app today, all the architectural decisions about how to distribute the application must be made before deploying even a single line of code.
The better approach is having the ability to take the business logic encoded somewhere, in whatever programming language is preferred, and simply push it into production, letting something else take care of running it. “A developer shouldn’t have to decide how they want their application distributed until it needs to be distributed. Avoiding the worry about architecting microservices before it’s time to scale is quite compelling.”
With WASM Kevin said, “You’ve got speed; you have size, performance and security; and I think probably one of the most compelling is portability.” With WebAssembly, the instruction set itself is portable, allowing for deployment anywhere there is a compatible runtime.
Kevin shared an early preview of a future state demo for a large European bank where a distributed application was built with WASM modules with “extra goodies on them” offering greater security, flexibility and automated infrastructure failover. The application was built and deployed live to Google Cloud and to Azure. When one module would disappear from one cloud, the system automatically rerouted traffic to the other cloud without any of the usual complications of infrastructure failover.
According to Kevin, Cosmonic believes that developers should have runtime control over the nature and scale of how the application is distributed just by using configurable knobs. He then took the same set of code and deployed it to six clouds and a handful of Raspberry Pi’s and browser tabs, where it worked the same way as it would as a single process on a laptop.
Tune into the podcast to listen to the podcast to hear more about:
- The languages best suited to build and compile to the WebAssembly format, and why
- The online communities that are helpful to those wanting to learn more about WASM
- Kevin’s story: Where he was in his career when he built the wasmCloud open-source project and why he’s dedicated to making it fun and easy to build distributed applications that are secure by default
- The opportunity for innovation using WASM-as-a-Service – a ubiquitous string that can be used to deploy applications anywhere
- How the Cosmonic team is advancing the power and promise of WebAssembly