February 8, 2023
Portfolio
Unusual

Why we’re excited about WebAssembly, the next wave of cloud-native computing

Wei Lien Dang
No items found.
Why we’re excited about WebAssembly, the next wave of cloud-native computingWhy we’re excited about WebAssembly, the next wave of cloud-native computing
All posts
Editor's note: 

If you’ve spent any time around developers in the last couple years, chances are that “WebAssembly” has come up in conversations. WebAssembly (aka Wasm) is an emerging technology that has the potential to radically transform how software applications are built and run. About 10 years ago, we said the same things about containers and Kubernetes, foundational infrastructure software that has now become ubiquitous. This post will highlight why we’re excited about Wasm and the opportunities we believe it presents for new startup founders.

Why is Wasm important?


There are plenty of detailed primers on Wasm, including this one, so we’ll focus on what we think is most important to pay attention to. Originally intended to provide a way to run portable code in the browser with near-native performance, Wasm has now become popular for server and edge use cases as well. In fact, its name is now a misnomer that disguises its true potential since its relevance extends beyond the web (and it’s not assembly either). 

Fundamentally Wasm is a binary execution format and compilation target that functions as sort of a language. More importantly, we believe, it unlocks a new way of architecting and running cloud-native applications with these benefits: 

  • Performance: Given that Wasm code starts off much closer to machine code, it is able to be executed in the browser in fewer steps than its interpreted counterpart, JavaScript. Wasm can also be used to achieve better performance in server-side environments, most notably reducing startup times from seconds (containers) to milliseconds.

  • Portability: Wasm offers both language and platform portability with early, maturing support for a majority of the top 20 programming languages, including C, C++, Java, Python, and Rust. This brings app developers closer to the vision of “write once, run anywhere” (containers previously advanced what’s possible but also fell short of this goal in key ways).

  • Security: Wasm employs a deny-by-default security model that executes within sandboxed environments, providing a stronger security posture for running untrusted code.

When considering these benefits, the possibilities for Wasm’s impact on applications seem endless! But in our developer conversations about Wasm, a lot of the discussion centers around whether and how Wasm is being used today. Early proof points and case studies provide important validation for any emerging technology and Wasm is no exception.

How is Wasm being used?

Today, Wasm is implemented for a variety of applications. Here we highlight a representative sample, which we categorize into client-side and server-side use cases.


Client-side use cases

Speeding up web applications

Running databases in the browser

  • Postgres-Wasm and DuckDB-Wasm are open-source projects that enable running transactional and analytical database instances in the browser.

Server-side use cases

Containers, serverless, and edge

User-defined functions and plug-ins

  • SingleStore, a unified data engine, built Code Engine with the wasmtime runtime to enable the creation of user-defined functions that can be executed on SingleStoreDB.
  • Redpanda, a streaming data platform, created Data Transforms with a Wasm engine to allow for inline transformations directly on data streams.
  • Suborbital is providing ways for users of SaaS applications to write plug-ins to safely extend them.

How is the Wasm infrastructure stack taking shape?

To enable the myriad use cases that Wasm unlocks, a new generation of tools and infrastructure are needed. In the last couple years, we’ve seen an ecosystem of companies emerge to provide solutions across compilers and runtimes to higher levels in the infrastructure stack. This market map highlights some of the companies and open-source projects that are building foundational infrastructure and tools to enable more developers to use Wasm for their applications.

The WebAssembly Market Landscape

As the Wasm infrastructure building blocks begin to solidify, we expect more focus will shift toward building additional tools that teams and organizations need to develop, test, debug, and monitor Wasm applications. Wasm startups like Fermyon, Cosmonic, Suborbital, Wasmer, and Dylibso have already made promising headway in filling in some of these gaps.

So, where do opportunities exist for new Wasm companies?

Despite all the activity within the Wasm community, we believe there are at least two areas that present large opportunities for new companies.

Security 

Though Wasm’s deny-by-default model can enable better security, the ways people will utilize Wasm, and the attack vectors that they may create, are not yet understood. As a former cofounder of a container security company, I observed many people tout the security advantages of containers relative to VMs only to find that entirely new security solutions (and companies) were necessary to adequately protect containerized applications. I expect an analogous scenario is very plausible for Wasm, presenting an opportunity for a new set of cloud-native security tools.

Observability

Shifts in application architecture also often give rise to new ways of monitoring performance and operations. New solutions may start with providing better visibility into Wasm modules including where and how they are executing. The emergence of container-based applications resulted in new methodologies to instrument telemetry data and something similar may also make sense for the Wasm ecosystem.

What’s next for Wasm?

A recent CNCF survey indicates that developers are increasingly excited adopt Wasm, but there’s still considerable work that the Wasm community needs to accomplish to drive greater adoption. As mentioned, better tools are needed to improve the developer experience. Additionally, new standards must be established across multiple levels of the stack — for example, initiatives such as the Web Assembly System Interface and the Component Model come to mind. Language support has to continue to mature, and greater developer awareness of Wasm’s benefits are necessary to drive adoption. We are still in the very early days of Wasm’s impact, and our team is excited to work with founders building the infrastructure and tools for this next wave of the cloud.

If you’re building in WebAssembly, we’d love to hear from you — please reach out to wei@unusual.vc or simon@unusual.vc.

All posts

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

All posts
February 8, 2023
Portfolio
Unusual

Why we’re excited about WebAssembly, the next wave of cloud-native computing

Wei Lien Dang
No items found.
Why we’re excited about WebAssembly, the next wave of cloud-native computingWhy we’re excited about WebAssembly, the next wave of cloud-native computing
Editor's note: 

If you’ve spent any time around developers in the last couple years, chances are that “WebAssembly” has come up in conversations. WebAssembly (aka Wasm) is an emerging technology that has the potential to radically transform how software applications are built and run. About 10 years ago, we said the same things about containers and Kubernetes, foundational infrastructure software that has now become ubiquitous. This post will highlight why we’re excited about Wasm and the opportunities we believe it presents for new startup founders.

Why is Wasm important?


There are plenty of detailed primers on Wasm, including this one, so we’ll focus on what we think is most important to pay attention to. Originally intended to provide a way to run portable code in the browser with near-native performance, Wasm has now become popular for server and edge use cases as well. In fact, its name is now a misnomer that disguises its true potential since its relevance extends beyond the web (and it’s not assembly either). 

Fundamentally Wasm is a binary execution format and compilation target that functions as sort of a language. More importantly, we believe, it unlocks a new way of architecting and running cloud-native applications with these benefits: 

  • Performance: Given that Wasm code starts off much closer to machine code, it is able to be executed in the browser in fewer steps than its interpreted counterpart, JavaScript. Wasm can also be used to achieve better performance in server-side environments, most notably reducing startup times from seconds (containers) to milliseconds.

  • Portability: Wasm offers both language and platform portability with early, maturing support for a majority of the top 20 programming languages, including C, C++, Java, Python, and Rust. This brings app developers closer to the vision of “write once, run anywhere” (containers previously advanced what’s possible but also fell short of this goal in key ways).

  • Security: Wasm employs a deny-by-default security model that executes within sandboxed environments, providing a stronger security posture for running untrusted code.

When considering these benefits, the possibilities for Wasm’s impact on applications seem endless! But in our developer conversations about Wasm, a lot of the discussion centers around whether and how Wasm is being used today. Early proof points and case studies provide important validation for any emerging technology and Wasm is no exception.

How is Wasm being used?

Today, Wasm is implemented for a variety of applications. Here we highlight a representative sample, which we categorize into client-side and server-side use cases.


Client-side use cases

Speeding up web applications

Running databases in the browser

  • Postgres-Wasm and DuckDB-Wasm are open-source projects that enable running transactional and analytical database instances in the browser.

Server-side use cases

Containers, serverless, and edge

User-defined functions and plug-ins

  • SingleStore, a unified data engine, built Code Engine with the wasmtime runtime to enable the creation of user-defined functions that can be executed on SingleStoreDB.
  • Redpanda, a streaming data platform, created Data Transforms with a Wasm engine to allow for inline transformations directly on data streams.
  • Suborbital is providing ways for users of SaaS applications to write plug-ins to safely extend them.

How is the Wasm infrastructure stack taking shape?

To enable the myriad use cases that Wasm unlocks, a new generation of tools and infrastructure are needed. In the last couple years, we’ve seen an ecosystem of companies emerge to provide solutions across compilers and runtimes to higher levels in the infrastructure stack. This market map highlights some of the companies and open-source projects that are building foundational infrastructure and tools to enable more developers to use Wasm for their applications.

The WebAssembly Market Landscape

As the Wasm infrastructure building blocks begin to solidify, we expect more focus will shift toward building additional tools that teams and organizations need to develop, test, debug, and monitor Wasm applications. Wasm startups like Fermyon, Cosmonic, Suborbital, Wasmer, and Dylibso have already made promising headway in filling in some of these gaps.

So, where do opportunities exist for new Wasm companies?

Despite all the activity within the Wasm community, we believe there are at least two areas that present large opportunities for new companies.

Security 

Though Wasm’s deny-by-default model can enable better security, the ways people will utilize Wasm, and the attack vectors that they may create, are not yet understood. As a former cofounder of a container security company, I observed many people tout the security advantages of containers relative to VMs only to find that entirely new security solutions (and companies) were necessary to adequately protect containerized applications. I expect an analogous scenario is very plausible for Wasm, presenting an opportunity for a new set of cloud-native security tools.

Observability

Shifts in application architecture also often give rise to new ways of monitoring performance and operations. New solutions may start with providing better visibility into Wasm modules including where and how they are executing. The emergence of container-based applications resulted in new methodologies to instrument telemetry data and something similar may also make sense for the Wasm ecosystem.

What’s next for Wasm?

A recent CNCF survey indicates that developers are increasingly excited adopt Wasm, but there’s still considerable work that the Wasm community needs to accomplish to drive greater adoption. As mentioned, better tools are needed to improve the developer experience. Additionally, new standards must be established across multiple levels of the stack — for example, initiatives such as the Web Assembly System Interface and the Component Model come to mind. Language support has to continue to mature, and greater developer awareness of Wasm’s benefits are necessary to drive adoption. We are still in the very early days of Wasm’s impact, and our team is excited to work with founders building the infrastructure and tools for this next wave of the cloud.

If you’re building in WebAssembly, we’d love to hear from you — please reach out to wei@unusual.vc or simon@unusual.vc.

All posts

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.