-
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
-
Deploying Uniswap on the Oasis Ethereum ParaTime
The Oasis Ethereum ParaTime is a high-performance and privacy-first Ethereum runtime on the Oasis network. It supports both the classic EVM (Ethereum Virtual Machine) and the future Ewasm (Ethereum flavored WebAssembly). All Ethereum smart contracts and decentralized applications should be able to migrate and run on the Oasis network, and enjoy enhanced performance and privacy, without any modification. The “litimus test” for such migration is the Uniswap DEX. Uniswap is one of the most widely used and most advanced decentralized applications on the Ethereum network.…
-
👏 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
-
Enable AJAX access for Tencent Serverless Cloud Functions
An important use case of serverless functions is to act as endpoints for AJAX calls from HTML web pages. This way, we can build truly “serverless” web applications with static HTML + JS pages on the front end, and serverless functions on the backend. A good example is this web page for fitting and plotting eigenvectors, a common machine learning task, on a 2-D data set. The web page calls a WebAssembly-based Tencent Serverless Cloud Function via AJAX.…