Browse Chapters
Serverless Use Cases
What are serverless apps and serverless functions good for? And what are they not good for? Already in this guide, we have talked about how serverless functions are short-lived, and often are optimized to consume few resources. What are good serverless use cases?
Serverless architectures are becoming increasingly popular due to their efficiency and flexibility. Here are some serverless Wasm use cases:
High-Performance Web Applications
Serverless WebAssembly (Wasm) allows for running high-performance applications directly in the browser. This is particularly beneficial for complex web applications like 3D modeling, video processing, or gaming. As mentioned in this blog post, Wasm gives us a platform-neutral binary format that over two dozen languages can be compiled into. Further, the Wasm component model and running Wasm on the server means that it is now possible for these binaries to talk to each other (regardless of the original programming language and/or where these binaries are running). The Wasm Component Model provides abstraction at the component level and this paves the way for flexible and powerful web applications. Web applications should be able to hand off tasks to individual components that perform authentication, image/video processing, large-scale mathematical computations and data encryption in a cohesive way. This can bring about unprecedented high-performance web applications.
Edge Computing
Serverless Wasm is ideal for edge computing scenarios where you need to run code in a way that reduces network latency. It is especially useful for IoT applications and real-time data processing that require quick response times.
One prominent example of edge computing at the CDN layer is Server Side Rendering (SSR). Spin applications, for example, can handle the Edge SSR for devices that do not render locally.
Portable and Secure Microservices
Serverless Wasm provides a secure and sandboxed environment, making it an excellent choice for building microservices that run on multi-tenanted hardware. It ensures that code can run safely and consistently across different environments, which is crucial for serverless architectures.
Multi-Language Support
Serverless Wasm, by nature, supports multiple programming languages, allowing developers to write serverless functions in their preferred language. This facilitates code reuse and lets teams leverage existing codebases, speeding up development processes.
Browse Chapters