CloudSkills.fm: WebAssembly, Distributed Apps, and Cloud Native with Kevin Hoffman

CloudSkills.fm: WebAssembly, Distributed Apps, and Cloud Native with Kevin Hoffman

Catch up on the amazing CloudSkill.fm podcast online at CloudSkills.fm Episode 138 or on Apple Podcasts - CloudSkills.fm.

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?”

Simply put, WebAssembly is a virtual machine that executes in a browser as an alternative to JavaScript. For the enterprise, the real magic comes from WASM’s evolution into a high-performance, cross-platform polyglot sandbox that can be used to build distributed and back-end systems.

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.”

But would a developer want to use WASM, and is it fair to compare it to JavaScript in the browser? Kevin described the nuances that extend beyond the amount of bandwidth, storage and costs saved as well as the benefits gained from the density. It’s about programming and deploying quickly and improving security because WebAssembly is in an isolated sandbox, with its own set of instructions, and cannot access the operating system. No matter what is coded in WebAssembly it’s impossible to write code that accesses the operating system. That’s the fundamentally secure-by-default sandbox that developers look for when building in the cloud. Developers want a guarantee that the workloads deployed will not mess things up.

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

Recent Articles

blog-image
KubeCon EU: Pioneering wasmCloud Use Cases

Imagine rapid development of platform-agnostic multi-cloud, multi-edge and far-edge platforms that run at near native speeds anywhere, at any scale.

blog-image
Write the Right Code

There is a special kind of pride that comes from the exhaustion at the end of a hard day’s work.

blog-image
Running your UI on wasmCloud

One of the things we’ve run into as we’ve worked with customers and developed our own examples at Cosmonic is the need to serve UIs that are consuming services you are running inside of wasmCloud.