-
Containerization on the edge
This work is supported by Second State and FutureWei based on Open Source projects WasmEdge and seL4. Application containers, such as Docker, are a key driving force behind the growth of Cloud Native applications. However, while the Cloud-Native development paradigm has proven very popular, it is difficult to expand the Cloud-Native infrastructure beyond large data centers since application containers require significant amounts of computing resources. For example, Docker does not support real-time operating systems (RTOS) and only works on POSIX systems.…
ProductWasmEdgeRTOSWebAssemblyRTOSseL4cloud computingEdge computing
-
Multiple Remotely Based Job Openings
Second State‘s open source WebAssembly runtime WasmEdge has been hosted as a sandbox project by CNCF under the Linux Foundation, the only Wasm runtime at CNCF. Its use cases include serverless apps, embedded functions, microservices, smart contracts, and IoT devices. Two decades ago, we witnessed the migration of Java from the browser to the server side. A decade ago, we saw the migration of JavaScript from the browser to the server.…
-
WasmEdge for Go Developers
Go developers can benefit from WebAssembly and WasmEdge Runtime in two important ways. You can compile Go programs to run in the WasmEdge container, or embed external functions, written in multiple programming languages, into Go applications as plug-ins. Get started by installing WasmEdge or using the WasmEdge development Docker. Embed WasmEdge in Go applications WasmEdge enables Go developers to embed functions and plug-ins written in different languages, including Rust, Swift, Kotlin, C/C++, JavaScript and TinyGo, into their Go applications.…
-
WasmEdge for JavaScript Developers
JavaScript developers can benefit from WebAssembly and WasmEdge Runtime in two important ways. You can run JavaScript programs in the WasmEdge container, or call external functions, written in multiple programming languages, from Node.js applications. Get started by installing WasmEdge or using the WasmEdge development Docker. Run JavaScript programs in WasmEdge WebAssembly is a ploygot runtime that supports many front-end programming languages. You can run JavaScript programs efficiently and safely across all OS and hardware platforms WasmEdge supports.…
-
A lightweight, safe, portable, and high-performance runtime for Dapr
originally published on infoQ.com Key takeaways: Dapr is a versatile framework for building microservices. WebAssembly VMs, such as WasmEdge, provide high-performance and secure runtimes for microservice applications. WebAssembly-based microservices can be written in a number of programming languages, including Rust, C/C++, Swift, and JavaScript. WebAssembly programs are embedded into Dapr sidecar applications, and hence can be portable and agnostic to the Dapr host environment. The WasmEdge SDK provides an easy way to build microservices for Tensorflow inference.…
-
Manage WebAssembly Apps Using Container and Kubernetes Tools
Developers can leverage container tools such as Kubernetes, Docker and CRI-O to deploy, manage, and run lightweight WebAssembly applications. In this article, we will demonstrate how Kubernetes ecosystem tools work with WasmEdge WebAssembly applications. Compared with Docker, WebAssembly could be 100x faster at startup, have a much smaller memory and disk footprint, and have a better-defined safety sandbox. However, the trade-off is that WebAssembly requires its own language SDKs, and compiler toolchains, making it a more constrained developer environment than Docker.…
RustWebAssemblyDockerhow-toOCICRI-ODockerKubernetescruncontainer
-
Calling native functions from JavaScript
WasmEdge enables JavaScript to call native functions in shared libraries. In my previous articles, I explained why and how to run JavaScript programs in a WebAssembly sandbox. I also discussed how to create custom JavaScript APIs for WasmEdge using Rust. However, in order to fully access the underlying system's OS and hardware features, we sometimes need to create JavaScript APIs for C-based native functions. That is, when a JavaScript program calls the pre-defined function, WasmEdge will pass it to a native shared library on the OS for execution.…
-
Creating high-performance JavaScript APIs using Rust
WasmEdge brings together Rust’s performance and JavaScript’s ease of use In my previous article, I discussed how to embed JavaScript code into a Rust program. However, for JavaScript developers, the need is often the opposite – to incorporate Rust functions into JavaScript APIs. That enables developers to write programs in “pure JavaScript” and yet still take advantage of the high performance Rust functions. With the WasmEdge Runtime, you can do exactly that.…
-
Incorporating JavaScript into a Rust app
WasmEdge brings together Rust’s performance and JavaScript’s ease of use In my previous article, I discussed how to run JavaScript programs in a WebAssembly sandbox. The WasmEdge runtime provides a lightweight, high-performance, and OCI compliant “container” for cloud-native JavaScript applications. However, JavaScript is a “slow” language. The reason to use JavaScript is mostly due to its ease of use and developer productivity, especially for beginner developers. WebAssembly, on the other hand, is capable of running high-performance applications written in languages such as Rust.…
-
WebAssembly Serverless Functions in AWS Lambda
Serverless functions save developers a ton of trouble managing the backend infrastructure. It also simplifies the development process as developers only need to focus on the business logic. This article is a step-by-step guide on how to write and deploy your own WebAssembly serverless functions on AWS Lambda, Amazon's serverless computing platform. In our demo, WebAssembly functions are executed with the WasmEdge runtime. The figure below shows the overall architecture of our solution.…