-
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
-
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