https://www.theregister.com/2023/09/01/web_assembly_wasm_column/ # # Sign in / up The Register(r) -- Biting the hand that feeds IT # # # Topics Security Security All SecurityCyber-crimePatchesResearchCSO (X) Off-Prem Off-Prem All Off-PremEdge + IoTChannelPaaS + IaaSSaaS (X) On-Prem On-Prem All On-PremSystemsStorageNetworksHPCPersonal Tech (X) Software Software All SoftwareAI + MLApplicationsDatabasesDevOpsOSesVirtualization (X) Offbeat Offbeat All OffbeatDebatesColumnistsScienceGeek's GuideBOFHLegalBootnotesSite NewsAbout Us (X) Special Features Special Features All Special Features Blackhat and DEF CON Sysadmin Month The Reg in Space Emerging Clean Energy Tech Week Spotlight on RSA Energy Efficient Datacenters Vendor Voice Vendor Voice Vendor Voice All Vendor VoiceAmazon Web Services (AWS) Business Transformation DataikuDDNGoogle Cloud for StartupsHewlett Packard Enterprise: AI & ML solutionsHewlett Packard Enterprise: Edge-to-Cloud PlatformIntel vProVMware (X) Resources Resources Whitepapers Webinars & Events Newsletters [devops] Devops 42 comment bubble on white From browser brat to backend boss: Will WASM win the web wars? 42 comment bubble on white WebAssembly is getting a lot of hype, but is it the game-changer some think it is? icon Steven J. Vaughan-Nichols Fri 1 Sep 2023 // 10:35 UTC # Opinion Beginning in 1995 and for decades after, JavaScript was the only game worth playing when it came to web-based scripting. While incredibly versatile, JavaScript had its limitations, especially regarding performance-intensive tasks. As the web evolved, so did the demand for more power, speed, and flexibility in web applications. Enter WebAssembly (WASM). Recognizing the need for a more efficient way to run code in web browsers, the World Wide Web Consortium (W3C) and major browser vendors began working on a new binary format. This format aimed to be fast, efficient, and secure, allowing developers to run code at near-native speed. Thus, in 2015, WASM was introduced as a low-level virtual machine that runs bytecode, which is translated from high-level languages. Now, WASM is not a programming language per se. Instead it's a compact binary instruction format. Unlike JavaScript, which is interpreted, WASM is a low-level bytecode that runs in a sandboxed environment within the browser, ensuring both speed and security. [devops] Developers love it because they can write code in languages they already know, such as C, C++, and Rust. Web developers were also pleased with it because they didn't need to replace their JavaScript programs. Instead they could call WASM functions from JavaScript and vice versa, allowing for a seamless integration between the two. [devops] [devops] At first, WASM was a pure web play. Then things changed. In 2019, Mozilla introduced its WebAssembly System Interface (WASI) to access operating system resources. This broke WebAssembly out of the browser . Once out of the browser box, it became, as WASM expert and Fastly Director of Engineering Lin Clark put it, "a fast, scalable, secure way to run the same code across all machines." [devops] Does that sound familiar? It should, you could use that same description for containers. But you don't need to believe me. As Solomon Hykes, Docker co-founder, tweeted at the time: "If WASM+WASI existed in 2008, we wouldn't have needed to create Docker. That's how important it is. WebAssembly on the server is the future of computing. A standardized system interface was the missing link." More recently, in 2023, the Cloud Native Computing Foundation's (CNCF ) head of ecosystem, Taylor Dolezal, said: "WebAssembly is the future because it is increasingly used for serverless, containerization and plug-in technologies and is expected to significantly impact web, serverless, gaming and containerization applications." Strong words. So is WASM "the future of computing?" [devops] Personally, I've been a cynic about it. While programs such as WASI and competing runtimes such as WasmEdge have made it much easier to run WASM optimized code on the edge and the backend, it strikes me that there's still a lot of work to be done. And I'm not the only one who sees this problem. As Torsten Volk, Enterprise Management Associates analyst, has said: "There is a lot of ground to cover in terms of reliably and efficiently supporting production use cases." Exactly. * A license to trust: Can you rely on 'open source' companies? * Soon the most popular 'real' desktop will be the Linux desktop * Meta can call Llama 2 open source as much as it likes, but that doesn't mean it is * Red Hat's open source rot took root when IBM walked in For example, Python has become the quick, easy way for people to work with machine learning programs - thank you, PyTorch. But you can't simply drop these programs into WASM in a runtime and expect them to work. The problem is that you also need many third-party dependencies, which aren't there yet. If WASM continues to rise in popularity, companies and open source groups will do the hard work of building these nuts and bolts. But, wait, you say - isn't Kubernetes the future? Well, yes, but as Adobe pointed out recently, WASM and Kubernetes can work hand-in-hand. They worked out a way to make a "full microservice, currently running in Kubernetes, and make it run in WASM." Why? It gave them a more lightweight model that could be almost instantly scaled as traffic rose, giving more scheduling flexibility than a coarse-grained container, while still using Kubernetes to orchestrate everything. With this, Adobe could "securely enable high performance and efficiency, while still being compatible with Kubernetes." It was, for Adobe, the best of both worlds. Adobe had more resources than most companies to throw at their problems. Looking ahead, though, WASM may become easier for smaller businesses to use on the backend. That's because of the WebAssembly Component Model (WACM) and WASI-Preview 2. The former project will incrementally define a component model. This will provide a portable, load and runtime-efficient binary format for separately compiled components built from WASM core modules that enable portable, cross-language composition. It will also provide better support for virtualizable, statically analyzable, capability-safe, language-agnostic interfaces. The latter is the next version of WASI. This will expand WASI's APIs beyond POSIX to WASI filesystem, HTTP, cloud, and network sockets. It will also provide better bindings for non-C-like languages. Put it all together, and I think WASM may well finally live up to its potential. Still, there's many a slip between developers' ideas and production code. But the bricks to build practical WASI backend designs are now being fired. By 2025, we'll know if WASM will indeed prove to be the future of backend software development. (r) Get our Tech Resources # Share More about * Containers * Docker * Kubernetes More like these x More about * Containers * Docker * Kubernetes * WebAssembly Narrower topics * Kubecon * OpenShift Broader topics * Cloud Computing * Cloud Native Computing Foundation * Google * Software More about # Share 42 comment bubble on white COMMENTS More about * Containers * Docker * Kubernetes More like these x More about * Containers * Docker * Kubernetes * WebAssembly Narrower topics * Kubecon * OpenShift Broader topics * Cloud Computing * Cloud Native Computing Foundation * Google * Software TIP US OFF Send us news --------------------------------------------------------------------- Other stories you might like Google opens up Chrome 117 Developer Tools box, drops in a few spanners Web devs, rejoice: Finally something is happening in the quiet and steady world of JavaScript Devops17 Aug 2023 | 8 Behold, Incus: Check out this fork of Canonical's LXD 'containervisor' Lead dev Graber quits Ubuntu maker, helps out this new project OSes4 Aug 2023 | 19 Microsoft 'fesses to code blunder in Azure Container Apps Misconfiguration led to hours of pain for engineers as bootstrap service caught in a loop Sysadmin Month18 Jul 2023 | 14 Paving an intentional road to a sustainable IT future For businesses that want to stay competitive, e-waste is an infelicitous fact of life - so what to do about it? Sponsored Feature [devops] Dell pulls storage, PCs, and compute into Apex ITaaS platform - a little late Dell World Continues feeding the hybrid cloud monster Channel23 May 2023 | Alpine Linux 3.18 fixes DNS over TCP issue, now ready for all the internet's problems Small but mighty update will help its many users - even the unwitting ones OSes16 May 2023 | 6 What's your Mean Time To Innocence - the time needed to prove that mess is not your problem ServiceNow reckons it can shrink it with integrated cloudy observability Software19 May 2023 | 25 Free-Teams-gate: Docker apologizes for shooting itself in the foot Botched data deletion threat roils open source worlds Devops17 Mar 2023 | 21 Civo, Intel stuff Kubernetes inside a secure enclave All part of the cloud provider's Confidential Computing push PaaS + IaaS1 Mar 2023 | Arm has legs: VMware's Bitnami starts packaging apps for Graviton and Ampere Customers are keen on the lower cloudy database prices available after dropping x86 PaaS + IaaS27 Feb 2023 | 1 Microsoft opens Azure confidential containers to public preview Security features in AMD Epyc chips push confidential computing effort Devops3 Mar 2023 | China accelerates drive for scientific self-sufficiency Asia In Brief PLUS: Grab's custom GitOps; Alipay's RISC-V payments push; NTT Data's solar wrap plan; and more Science6 Mar 2023 | 21 The Register icon Biting the hand that feeds IT About Us* * Contact us * Advertise with us * Who we are Our Websites* * The Next Platform * DevClass * Blocks and Files Your Privacy* * Cookies Policy * Privacy Policy * T's & C's * Do not sell my personal information Situation Publishing Copyright. All rights reserved (c) 1998-2023 no-js