Cloud Native ComputingDevelopersDevOpsFeaturedLet's Talk

Let’s Talk About WebAssembly and wasmCloud With Liam Randall


Founded by open-source veteran Liam Randall, Cosmonic is helping to develop and promote wasmCloud, a universal runtime platform that enables developers to use cloud-native technologies, and WebAssembly to build portable, pluggable business logic that runs anywhere, including multi-cloud and multi-edge environments. We sat down with Randall to talk about the evolution of wasmCloud and WebAssembly.

  • Intro to the company
  • Explaining WebAssembly and wasmCloud as they’re two different projects.
  • wasmCloud is also a CNCF Sandbox project. How is Cosmonic associated with this project or CNCF?
  • How is Cosmonic offering commercial support for wasmCloud?
  • What exactly is server-side WebAssembly and what unique problems is it trying to solve in that cloud-native world?
  • Explaining the tech stack for Cloud
  • Interesting use cases for wasmCloud
  • What’s exciting in the latest release of wasmCloud?

Guest: Liam Randall (LinkedIn, Twitter)
Company: Cosmonic (Twitter)
Show: Let’s Talk

Swapnil Bhartiya: Hi, this is Swapnil Bhartiya and welcome to TFiR Let’s Talk, and my next guest is Liam Randall, co-founder of Cosmonic. Before we start this conversation, I would also like to thank Linode, the alternative cloud provider who sponsor our flagship shows like Let’s Talk and Newsroom. Liam, it’s good to have you on the show.

Liam Randall: It’s so wonderful to be here, thanks for having me today.

Swapnil Bhartiya: Tell me a bit about the company. What do you folks do?

Liam Randall: Yeah, sure. So Cosmonic was spun up to execute around the emerging opportunity with the CNCF wasmCloud project. And wasmCloud is a project that helps you to write software faster for the Cloud and uses WebAssembly to run it everywhere securely.

Swapnil Bhartiya: Can you just go a bit deeper into Wasm and wasmCloud, they’re two different components?

Liam Randall: WebAssembly is a technology that has been capturing the minds and excitement of developers everywhere for the last few years. It’s a similar, in some ways to things that we’ve tried before, to Java, to Silverlight, to Flash in that it’s a run everywhere engine. Now what’s different about WebAssembly is that, first it doesn’t include its own language, it’s polyglot. But more importantly, it’s a WC3 standard that’s already supported today in all the world’s major browsers and it’s engine like many web top technologies, runs on servers as well. So this is an intermediate format that you can take code from multiple languages that captures it in a secure run time that runs everywhere. So it’s quite exciting. Then what we added to it with wasmCloud was a sort of a higher abstraction for the Cloud. If we think of the last epics of computing, virtual machines themselves as inspired by the Cloud, abstract away from a specific computer and containers abstract away from a specific Linux distribution.

And we looked at the next layer of abstraction and we recognized that the libraries that you use to build your applications would be you that next abstraction. So we give you a layer that lets you write pure business logic, attach it to contracts like LEGO Blocks and then at run time, plug in a specific component. And what this means is that developers can truly write their code once and run it anywhere. Not just from a technology point view as in execution, but you can dynamically attach to whatever sort of local capabilities you might have in that Cloud or in that edge device or in that Kubernetes Distribution or in that browser.

Swapnil Bhartiya: And as you said, wasmCloud is also a CNCF Sandbox project. How is Cosmonic associated with this project or CNCF?

Liam Randall: Absolutely. So wasmCloud evolved out of a series of projects that were originally open sourced when I was working at Capital One Bank and last year I left Capital One based in largely on my excitement for this technology. We sort of pulled together a variety of resources and relaunched the project as wasmCloud and the developer inertia has just continued to accelerate. So at this point we have contributors from large financial services, from power companies, from automobile manufactures, all contributing and seeing this opportunity in this vision to write once and run everywhere. So this summer, the team behind wasmCloud, that was also the team behind Cosmonic decided to put wasmCloud into the CNCF. So while we’ve been continuing to fund and we are the leading developers in the open source community, Cosmonic provides support for wasmCloud.

Swapnil Bhartiya: So the relationship between Cosmonic and wasmCloud is the same open source story that we hear, you have fully open source product that anybody can use, contribute to. But open source can easily solve day one problem. Day two is the real challenge and that’s where Cosmonic comes to play.

Liam Randall: That’s right, that’s right. We think of… wasmCloud is the distributed application run time and it’s incredibly powerful, it’s incredibly functional. It doesn’t require you to start in a completely different technology direction. It’s compatible with everything you use today, including Kubernetes. It gives you the ability though, to start on your journey. Large enterprises however, require a larger number of jobs to be done. If we think about a platform used to operate this at scale, they want central authentication, they want user interface, they want built in monitoring metrics, accounting, cost accounting, things like that. So Cosmonic is organizing those jobs to be done and delivering a SAS type product that allows organizations to scale this technology very quickly in their environment so that they can start to save costs.

Swapnil Bhartiya: You alluded to that earlier, but I just want to go a bit deeper if you can also explain what exactly is Server-Side WebAssembly and what unique problems is it trying to solve in that Cloud Native World.

Liam Randall: From the perspective of the Cloud Native World, we really see WebAssembly starting to show up and transform all of Server-Side Computing. We see it showing up in a couple different places. We see things like wasmCloud showing up at the application layer. So these are organizations that are committed to Cloud Native. There’s actually a large financial service, I will be sharing some of their future architecture at the upcoming Wasm Day for KubeCon North America, that’s a good example.
We also see WebAssembly being baked into existing applications. WebAssembly is a secure Sandbox and that has polyglot meaning that you can use multiple languages, makes it ideal if you have an application where you need to host other people’s code. So think of things like Envoy or networking layers, where you would want the ability to empower users to put in user provided transformations or user provided plugins, and those just plug very naturally into WebAssembly.

And then we also see a future state where WebAssembly may [harness 00:06:15] to containers to be a direct orchestration target. And Microsoft has actually been leading the exploration in that area. They released a great project that’s called a [crust lit 00:06:25] and [crust lit 00:06:26] was also just put into the CNCF. And that gives Kubernetes the ability to directly orchestrate and operate and scale web assembly natively. So, why would organizations want to do that? We could already put software into a container, but developers today really are facing three great challenges.
The first great challenge that developers are facing are that they have different CPUs that they need to compile software for. Even in the cloud itself, Amazon’s now offering these Graviton processors that are less expensive than the traditional x86. They’re doing their own ARM processors. Developers are also finding that when they need to compile and run their code, they need to run it on edge devices that may have different CPUs. They need to do all this securely and frankly they need to do it with less boiler plate. And those are the big three reasons that are driving developers to start to look for what is the next epic of computing.

If we think of the last epic as being the data center where a developer is responsible for the whole stack down to a specific type of CPU and RAID controller, and then virtual machines that let us abstract away from a specific computer and give us a measure of scalability. Containers are awesome and they also embed certain assumptions. The software you compile to put into container is targeted at a specific CPU for example. Technologies like wasmCloud, really give the developers more range of freedom while letting them just focus on the pure business logic that they care about.

Swapnil Bhartiya: Excellent. Also when I look at these clouding technology, it reminds me of the old … not there not old days, but it’s fun to say old days of LAMP Stack, there are so many components that were there to build the whole stack. In today’s world we look at, it’s like Kubernetes, Service Mesh, Wyse Cloud, GitOps, nets. So can you talk about this stack and how it was again. The story here is helping customers, so talk also about how this combination in the end helps customers as well.

Liam Randall: That’s absolutely right. Now when we really thought I was… I gave the keynote for KubeCon EU, the WebAssembly keynote. And one of the themes that we really wanted to emphasize is that, all about Cloud Native WebAssemblies, really a better together story. This is not a versus story although the technologies are not directly dependent on each other. We see so many opportunities, like I mentioned before, as applications, as embedded run times and as direct orchestration targets where these technologies just work together. And when we were designing wasmCloud, we really embraced that mentality. WasmCloud functions on its own, completely independent, on an ARM, on a developer’s workstation or anywhere you would like it to be. However, we also know enterprises and enterprise pain really well. In a large organization that’s highly regulated, you have a lot of governance and controls you need to align on.

So when we were developing wasmCloud, we ensured that this is also a compatible with, but not dependent upon story. Because if you are a developer at an organization today, you have to start where your security department and your operations department and your governance department and your cross control departments are. Now, they’re important stakeholders that we need to bring along with us. So with wasmCloud for example, we’re getting ready to release our entire Kubernetes operators, which gives you the ability to sort of use wasmCloud at the application layer, achieve almost all of the benefits and power of developing in a low code environment that lets you just write pure business logic and bring it everywhere and know that your operations teams that are going to deploy this can still run it on the corporate approved infrastructure today. It’s a very powerful model that that sort of represents where people are today and help some build a bridge to the future.

Swapnil Bhartiya: One thing that I do love about these technology is that I also want to understand Use Cases, how people are using what you’re using and there is no one better than you because you have helped some really interesting organizations, some financial institute in Europe as well. So let’s start with some journal use cases where it’s being used and then, and go specifically into this Use Case.

Liam Randall: Absolutely. And when we’re looking at, this is a pure technical innovation that actually has use cases across all sorts of industries and frankly, anyone who’s building software. The first use case is a developer that simply wants to test an app or API very quickly. And one of the early demos that we’re going to demo next week at our wasmCloud 0.50 Release Event on Wednesday, October 6th, is the classic Java Pet Store. And what’s amazing is if you’re a developer that’s gone through one of those books in the last 20 years, you realize that 95% of the application that you wrote has nothing to do with the logic of the Pet Store. And our version of this is incredibly concise and short because of wasmCloud. So wasmCloud helps you to build APIs and applications faster regardless of where you want to run them.

In fact, it gives you the ability to run them blockly as like a [microwave 00:11:40], if you want. But to scale them up horizontally or vertically is in a microservices model. We separate the deployment topology from the business logic to make that a runtime decision. So the demo that’s going to be given that I really love at Cloud Native WebAssembly Day is this large financial institution has not only a business imperative, but now a regulatory imperative. The regulators in Europe are saying no more systematic risks in the banking infrastructure. So they’re required to operate in multiple Clouds and they are going to do a live onstage demo where they start with AWS and GCP, run the exact same code, implement it in wasmCloud and then they [fail 00:12:23] right from one bank or one cloud over to the other.

So this multi-cloud enablement is a wonderful use case for wasmCloud. But just as we help organizations and developers to run in different clouds, you could just as easily be running in different physical pieces of infrastructure. So if you have a distributed application, that is another wonderful use case as well. So those two problems are applicable to pretty much everyone in every industry that’s building software, from the small hobbyists that wants to quickly build and run a pet project, to large organizations that want to be able to independently scale and run their applications.

Swapnil Bhartiya: That was yeah, really interesting use case. Now, since you earlier also mentioned the announcement of 0.50 release of wasmCloud, tell a bit about, of course it’s still, we are still far from 1.0 release, but tell me what’s new there, what kind of things the committee is working on.

Liam Randall: Absolutely, over the last two years, as we’ve been building out wasmCloud in the ecosystem, it’s been wonderful to have so many different organizations bring their requirements and their perspective to the table. Because it’s helped us to understand where do we really add value? And when you look at the architecture of wasmCloud itself, we’ve partnered with the sort of best of breed solutions to help bring new capabilities to our platforms. So wasmCcloud now includes on the back end, Elixir OTP. Now that is known as a really high, like a hyper scale backend for applications such as WhatsApp or Discord. And we brought it because we had users show up on our community and they said, “Hey, I want to run this on 400,000 devices.” And so when we brought those criteria into the ecosystem, we realized that we needed to align to some of those better practices.

Our developer experience has been improved significantly. We actually partnered with a project out of AWS here called Smithy that helps developers now to build and scale and model hundreds of applications and APIs simultaneously. And then we are also launching a new JavaScript based host, which means that all of these applications that you’re arriving for the server or somewhere else can now run in your web browser as well. It really gives you a unique experience when every tab in Chrome gives you the same capability as an additional CPU running in a cloud somewhere.

Swapnil Bhartiya: Liam, thank you so much for taking time off today and talk to me about wasmCLoud, about the company, about the whole ecosystem. And I would love to have you back on the show. Thank you.

Liam Randall: Thank you so much, I’d love to be on anytime and I really encourage people to join us It’s a great community. We’d love to have you as part of it.