Skip to main content
Liam Randall
Liam Randall
Liam Randall
||6 min read

Cosmonic Componentizes wasmCloud Ecosystem

  • Component Model update published: WASI-Preview 2 now MVP
  • Cosmonic componentizes wasmCloud and Cosmonic PaaS
  • Creates standards-based, vendor-neutral environment for building distributed apps
  • Spurs wave of PaaS innovation

BELLEVUE, WA. (WasmCon). 6th September, 2023 – As WASI-Preview 2 reaches MVP, and the WebAssembly Component Model nears completion, Cosmonic has componentized the wasmCloud ecosystem. In doing so, Cosmonic has created an entirely vendor-neutral, language interoperable, secure and standards-based environment for developers to build distributed applications that run anywhere. This also makes wasmCloud and the Cosmonic PaaS amongst the first platforms where developers can build on the WebAssembly Component Model (which underpins WASI-Preview 2).

Built on wasmCloud – the popular CNCF sandbox project – the Cosmonic PaaS will unveil a host of new features at WasmCon. Capitalizing on components, the platform now comes with application lifecycle management with Wadm (wasmCloud application deployment manager), App View (easy-to-use UI for managing declarative applications with Wasm), custom names for HTTPS endpoints (wormholes) and a managed, globally resilient registry. These new features will allow developers to create applications more quickly and for more locations, with Wasm.

WASI Standards and the Component Model Mature

The work of the W3C WebAssembly Community Group, its WASI Subgroup and the Bytecode Alliance (BA), has culminated in the release of the next stable iteration of Wasm Standards – WASI-Preview 2. Published by the BA, the WebAssembly roadmap reveals major updates to the WebAssembly Core, WebAssembly Component Model, WASI (WebAssembly System Interface) and several WASI-based interfaces. It also presents a timeline for availability. These updates provide developers with a modular, virtualizable and robust methodology for building applications and libraries.

Optimizing wasmCloud for Components

Engineered around the Component Model and WASI-Preview 2, wasmCloud extends its Rust foundation into a full-featured Rust-only runtime. wasmCloud now supports true language interoperability – capitalizing on WebAssembly Interface Types (WIT) as a new IDL, and using components to implement deserialization, secure hashing and distributed compute logic. This creates an open ecosystem that makes it easy for developers to bring their own components, to build distributed Wasm applications that run on any server, device or cloud.

Liam Randall, CEO of Cosmonic and WasmCon co-chair says: “Leveraging WebAssembly Components, Cosmonic offers developers an unparalleled edge in building, maintaining, and operating software. For enterprises, this means both a significantly more streamlined development process, and a substantial reduction in the total cost of an application lifecycle. The ability to centrally update application components, and load the most up-to-date version at runtime instead of at compile time, translates into a huge reduction in the cost to maintain open source software in industry.”

The major focus for wasmCloud maintainers is to integrate as many new Wasm standards as possible. There are three major projects underway.

Extended Language Support with WIT

Moving from Smithy to WIT is a major shift, designed to simplify language interoperability. Currently, wasmCloud uses Rust and TinyGo as SDK languages, Rust and Go in providers. Using WIT and Wasm components, wasmCloud brings support for a greater range of languages including** C, JavaScript and Python.** As more languages add first-class support for Wasm, and WIT bindings become mature, runtimes like wasmCloud will take advantage of idiomatic SDKs for developer applications.

First-class support for wasi-cloud

wasmCloud's open source interfaces now include wasi-cloud interfaces. By supporting a standard set of first-class interfaces, developers can reuse implementations for common abstractions. wasmCloud will still provide the best experience for distributing these capabilities across any physical or virtual infrastructure.

Extended Rust Core: Bring Your Own Component

Given the rapid advancement of Wasm standards in Wasmtime, and the gradual move towards Rust, wasmCloud contributors elected to transition all host logic into a new Rust runtime. This brings the wasmCloud Rust runtime in line with standards and represents the best way to ensure wasmCloud can offer a bleeding edge, high performance and stable runtime for developers. View the wasmCloud Roadmap for more information.

Cosmonic PaaS: a nebula of new features

Wadm Brings Lifecycle Management to Cosmonic

Introduced at KubeCon EU 2023, Wadm brings the declarative state application management cloud engineers expect, and narrows the Wasm knowledge gap by providing them with a familiar way to manage cloud native applications by using the Open Application Model (OAM). Now available in the Cosmonic PaaS – Wadm allows users to specify deployment requirements using spread requirements, in the same way they use labels and selectors in Kubernetes. Now, a few lines of YAML or JSON can spread an application from a laptop to a multi-cloud deployment.

Wasm Application Manager (App View)

Cosmonic is introducing an easy-to-use UI for managing declarative applications with Wasm. Just like its opinionated views for Logic and Infrastructure, the new Application View provides a user interface for interacting with Wadm applications defined using the OAM. This view includes an in-UI YAML editor and YAML validation. This view also gives developers a preview of planned deployments, supports multiple versions and allows upgrades and rollbacks to older versions.

Cosmonic Managed Registry

Cosmonic has always supported the Open Container Initiative (OCI) and Bindle registries for deployment, meaning new application components would, traditionally, be sourced from one of those registries. The Cosmonic Managed Registry provides developers with allocated storage for their components, controlled with their Cosmonic credentials. This completely removes the requirement to configure a bespoke registry.

Personalized HTTPS Endpoints (Wormholes)

In response to community demand, Cosmonic has created a way for developers to customize wormhole domains. Until now, wormhole domains have been randomly generated: https://purple-rain-2471.cosmonic.app for example. A new feature in Cosmonic lets developers change that randomly generated name into something unique and descriptive for their applications. It also helps provide a consistent host name that remains available during update cycles.

Looking Ahead

Following the effort to bring WASI-Preview 2 and the Component Model to prime time, the community’s focus shifts to WASI-Preview 3. We are looking towards the MVP release for the WebAssembly Component Model and finalization of WASI standards.

Bailey Hayes, Cosmonic and Bytecode Alliance TSC director concludes: “This is a milestone moment for Wasm beyond the browser. Releasing a stable version of WASI-Preview 2 should open the floodgates of WebAssembly innovation in every industry. We’re looking forward to announcing a slew of design partnerships, and demonstrating real-world use cases as adoption grows.”

Find out more about WasmCon and register to attend.

See us talk at WasmCon 2023: view the WasmCon Schedule.

To organize a briefing contact: Caroline Tarbett: pr@cosmonic.com

Want to send your application into orbit?

Get in touch for a demo
Book Now

Keep up to date

Subscribe to Cosmonic for occasional communication straight to your inbox.