-
Internet of Functions: HTTP Proxy
One of the limitations of the WebAssembly VM is that it provides no built-in support for network applications. In the web browser or in Node.js, it is possible to call the host JavaScript to perform networking tasks. But of course, a JavaScript bridge is slow, highly dependent on the host platform (i.e., not portable), and requires the developer to use JavaScript. In the SSVM, we have a new way to do this.…
RustJavaScriptWebAssemblyNode.jsFaaSRust FaaSServerlesscloud computing
-
Internet of Functions: webhooks
A FaaS function is designed to perform a unit of specialized work. It is part of a larger Internet-based system. The vision of serverless computing is build fully fledged web applications with a network of functions and storage services. We need to chain FaaS functions, web gateways, and messaging queues together to create pipelines for data processing. The Second State FaaS supports using webhooks as function input and output. The FaaS function can take web-based content as input arguments, and send the return value to another web service or function.…
RustJavaScriptWebAssemblyNode.jsFaaSRust FaaSServerlesscloud computing
-
Mixing Text and Binary Data in Call Arguments
In the previous two articles, we have learnt how to use text, JSON, binary data, and even webhook resources as FaaS function call arguments. But we have also seen the need to mix multiple arguments in a single function call. In this article, we will demonstrate how to do that. The source code for the custom watermark example in this article is available on Github. Watermark an image The Rust function takes two call arguments: a string for the watermark text, and a byte array for an image (in a &[u8]).…
RustJavaScriptWebAssemblyNode.jsFaaSRust FaaSServerlesscloud computing
-
Getting Started with Function as A Service in Rust
Function as a Service (FaaS) is one of the fastest growing areas of cloud computing. FaaS allows developers to focus on the code. Once the developer uploads the code, the FaaS takes care of deployment, service availability, and scalability. The developer only pays for resources the service uses, not reserved idle time. This approach, known as serverless computing, is the way to build inter-connected and microservice-based applications. The result are fast development turn around, easy deployment, high availability, infinite scalability, at low cost.…
RustJavaScriptWebAssemblyNode.jsFaaSRust FaaSServerlesscloud computing
-
Image Classification as A Service in Node.js
In the previous article, we discussed how WebAssembly could tie together native TensorFlow, Node.js JavaScript, and Rust functions to create high performance and safe web services for AI. In this article, we will discuss how to apply this approach to ImageNet's MobileNet image classification model, and more importantly, how to create web applications for your own retrained MobileNet models. NOTE This article demonstrates how to call operating system native programs from the SSVM.…
RustJavaScripttensorflowWebAssemblyNode.jsAI as a serviceFaaSAIImage Classification
-
Use Binary Data as Function Input and Output
In the previous article, we demonstrated how a Second State FaaS function could handle text-based input and output. Through JSON support, we can encode arbitrary data types into text. However, for functions focused on media processing, binary-based input and output is far more efficient and more performant. In this article, we will show you how to use a Second State FaaS function to add watermark to an image. The source code for the watermark example in this article is available on Github.…
RustJavaScriptWebAssemblyNode.jsFaaSRust FaaSServerlessCloud computing
-
High performance and safe AI as a Service in Node.js
Today’s dominant programming language for AI is Python. Yet, the programming language for the web is JavaScript. To provide AI capabilities as a service on the web, we need to wrap AI algorithms in JavaScript, particularly Node.js. However, neither Python nor JavaScript by itself is suitable for computationally intensive AI applications. They are high-level, ie, slow, languages with heavy-weight runtimes. Their ease-of-use comes at the cost of low performance. Python got around this by wrapping AI computation in native C/C++ modules.…
RustJavaScripttensorflowWebAssemblyNode.jsAI as a serviceFaaSAIFace detection
-
👏 Get a Free Raspberry Pi Kit- Wave 2
No purchase necessary. Learning and coding are mandatory! Offer ends on September 30th 2020. Learn to create a high performance Node.js application. In the process, you will learn how to write simple functions in the Rust programming language. Share your source code and learning experience to the community via social media. We will send you a FREE Raspberry Pi kit ($25). You can use it as a personal dev server.…
RustWebAssemblyNode.jsRaspberry Pihow-togive-awayrust-function-in-nodejs
-
🦕 Tutorial: Deno Apps with WebAssembly, Rust, and WASI
Deno is created by the original developer of Node.js, Ryan Dahl, to address what he called 10 things I regret about Node.js. It did away with the NPM and the infamous node_modules. Deno is a single binary executable to run applications written in TypeScript and JavaScript. However, while TypeScript and JavaScript are suitable for the majority of web applications, they could be inadequate for computationally intensive tasks, such as neural network training and inference, machine learning, and cryptography.…
-
Upgrade Ubuntu for SSVM
The SSVM is cutting edge software designed for performance and stability. It utilizes the latest stable release of major open source libraries. We recommend running it on Ubuntu 20.04 LTS at this time, but you can make your OS work by meeting library requirements. Here is how. Upgrade libstdc++ The SSVM requires the latest version of libstdc++ to access operating system resources. If you are already on Ubuntu 20.04, you are all set.…
RustWebAssemblyUbuntuLinuxrust-function-in-nodejsoperating-systeminstall