Why Wasm is the future of cloud-native app development
Just over a month into 2023, the popularity of WebAssembly is already on the rise. An industry expert explains why Wasm will have far-reaching effects on cloud-native development.
The ever-changing landscape for underlying infrastructure will continue to grow, and applications must evolve and adapt to these dynamic shifts. Running secure, efficient and flexible custom logic is just one of the advantages of using WebAssembly language, or Wasm.
So, what is all the hype around Wasm? First, let's clarify what it is. Wasm is a binary instruction format that provides native performance for web applications. This approach enables developers to build high-performing applications in whatever supported language they choose.
According to the Cloud Native Computing Foundation (CNCF), Wasm is defined as a small and portable VM that runs in modern web browsers and servers and on a vast array of diverse hardware. Wasm brings new capabilities and additional security features to cloud-native developers.
It's just for the web, right? Well, actually, no. Wasm has evolved to expand support well beyond the web browser. Developers and organizations are now looking to adopt Wasm on the server side to replace containers, which would help organizations accelerate their business as fast as they can to day-two operations.
Wasm's significance for cloud-native applications
Wasm's impact is most notable with cloud-native applications. The ability to provide a cross-platform, distributed cloud approach for applications reduces complexity and improves security in different cloud environments.
A research report on cloud-native applications from TechTarget's Enterprise Strategy Group found that 89% of organizations are running on two or more cloud environments. In addition, application portability was very important and even critical for many respondents.
Wasm works well in distributed cloud environments, harmonizing the underlying ecosystem and virtualizing the workloads that support the Wasm runtime. This helps simplify components across multiple cloud environments, which was previously very complex and difficult to achieve.
Development languages matter
Meeting developers where they are in terms of what languages they develop in is important to adoption. Interactions between different languages can often be difficult, however.
Wasm provides a working development framework to create and write applications in whatever language developers use. Because of this, various development languages -- such as Rust, C/C++, Python and Go -- can communicate with each other.
In addition, the Wasm framework enables server-side systems to embed components from different languages without recompiling or understanding how they were created. Some would say that Wasm creates a unified approach to all languages -- or at least currently supported languages.
Simplifying code release without compromising
Historically, developers would use compilers to integrate tech stacks. Although Wasm's method is similar, it enables a smoother, faster approach using the low-level VM, so programs can be compiled for highly optimized application output.
Wasm is fast and lightweight compared to other approaches, in which development often introduced lag and required caching to provide a real-time experience. Wasm enables developers to focus on the business logic, not just libraries and repeatable functions, often requiring developers to create only 10% net-new code versus 90% with traditional models.
2023 is the year for Wasm
As I called out in my predictions for 2023, Wasm is taking off like a rocket ship. There is commercial adoption across the ecosystem. Companies like Cosmonic offer support for building applications that can run everywhere, including the cloud, browsers, the edge and an array of embedded platforms.
Others, such as Fermyon Technologies, are exploring new ways to do cloud-native Wasm for developers and DevOps teams by creating an environment to build a new generation of distributed microservices. In addition, the technical preview of Docker+Wasm is now available and promises to make it easier for developers to quickly build applications targeting Wasm runtimes.
There is also community support backing Wasm. The W3C Wasm community is working on standardizing the Wasm System Interface to provide a standard set of APIs and services for Wasm modules running on the server side.
The CNCF sponsors Wasm in cloud-native environments, and the number of Wasm projects in sandbox, incubator and graduate status is growing year over year. At the time of publication, there are 27 vendor cards in the CNCF Wasm program.