FaaS Use Cases
Overview
Function as a Service (FaaS) enables developers to deploy and execute code without managing servers or infrastructure. Its event-driven and scalable architecture makes it suitable for a wide variety of workloads, from lightweight APIs to large-scale AI inference services.
API Services
Build and deploy REST APIs, internal services, and backend endpoints without managing application servers.
Common examples: user management APIs, authentication services, billing APIs, inventory services, internal platform APIs.
Recommended runtimes: Python 3.x [Http], Python 3.11 [FastAPI], Node.js [Http]
Benefits:
- Automatic scaling based on traffic
- Independent deployment per service
- Rapid development and iteration
- No infrastructure overhead
Webhooks
Receive and process events from external platforms.
Common examples: payment gateway callbacks, Git repository events, CRM integrations, messaging platform events, CI/CD notifications.
Recommended runtimes: Python 3.x [Http], Node.js [Http]
Benefits:
- Fast deployment
- Event-driven execution — only runs when triggered
- Cost-efficient processing
Backend for Frontend (BFF)
Create lightweight backend services that aggregate data for web and mobile applications.
Common examples: mobile application backends, dashboard APIs, data aggregation services, GraphQL gateways.
Recommended runtimes: Python 3.11 [FastAPI], Node.js [Http]
Microservices
Deploy independent services that can be developed, scaled, and maintained separately.
Common examples: user service, notification service, order service, payment service, analytics service.
Recommended runtimes: Python 3.11 [FastAPI], Node.js [Http], Go 1.21 [Http]
Benefits:
- Independent scaling per service
- Fault isolation — one service failure does not cascade
- Faster, independent deployments
- Technology flexibility per service
AI and Machine Learning Inference
Serve trained machine learning models through HTTP APIs.
Common examples: text generation, image classification, object detection, recommendation engines, NLP applications.
Recommended runtimes: Python PyTorch 2.1.2 [FastAPI], Python TensorFlow 2.19.0 [FastAPI], Custom Container Image
Hardware: Use GPU functions for accelerated inference. GPU runtimes support PyTorch and TensorFlow, or bring your own container.
Data Processing
Execute transformation and processing workloads on demand.
Common examples: CSV processing, ETL pipelines, data enrichment, data validation, report generation.
Recommended runtimes: Python 3.x [Http], Python 3.11 [FastAPI]
Scheduled Tasks
Run recurring background jobs and maintenance workflows.
Common examples: cleanup jobs, report generation, data synchronization, cache refresh operations, usage aggregation.
Recommended runtimes: Python 3.x [Http], Node.js [Http]
AI Agents and Automation
Deploy autonomous workflows and agent-based applications.
Common examples: support assistants, workflow orchestration, document processing, knowledge retrieval, automated operations.
Recommended runtimes: Python 3.11 [FastAPI], Python PyTorch 2.1.2 [FastAPI], Custom Container Image
Custom Runtime Applications
Deploy existing containerized workloads with minimal modification.
Common examples: legacy applications, custom frameworks, specialized runtimes, internal tooling.
Recommended runtime: Custom Container Image
Choosing the Right Runtime
| Scenario | Recommended Runtime |
|---|---|
| New REST API | Python 3.11 [FastAPI] or Node.js 24 [Http] |
| Existing Express app | Node.js 20 [Express] |
| Lightweight webhook or function | Python 3.x [Http] or Node.js [Http] |
| AI / ML inference (GPU) | Python PyTorch [FastAPI] or Python TensorFlow [FastAPI] |
| Full custom application | Custom Container Image |
| .NET workload | C# / .NET 7.0 [Http] |
| PHP application | PHP 8.2 [Http] |
Image Processing with E2E Object Storage
This example shows how to combine E2E FaaS with E2E Object Storage to process images stored in a bucket.
Scenario
A business needs to process user-provided images to enhance their quality before storage or publication — tasks such as adjusting contrast, resizing, or applying specific transformations.
Steps
Step 1: Access Object Storage
- Connect to the specified object storage bucket using the provided access credentials.
- Retrieve the image object from the designated bucket.
Step 2: Enhance the Image
- Read the content of the retrieved image object.
- Open the image using the Pillow library.
- Apply the desired enhancement (e.g., increase contrast) using the
ImageEnhancemodule. - Convert the enhanced image back to binary data for uploading.
Why FaaS works well here:
- Image processing runs asynchronously without blocking the user experience.
- Resources are consumed only when processing is triggered — no idle servers.
- The function scales automatically to handle bursts of image upload events.