Μετάβαση στο κυρίως περιεχόμενο
Εναλλακτικό του: AWS Lambda, Google Cloud Functions, Azure Functions, Cloudflare Workers (self-hosted alternative)

Πλαίσιο ανοιχτού κώδικα για την εκτέλεση συναρτήσεων (functions) ως serverless υπηρεσίες πάνω από containers. Υποστηρίζει οποιαδήποτε γλώσσα (Python, Node.js, Go, Java, C#, κ.ά.) και μπορεί να τρέξει σε Kubernetes ή Docker Swarm.

Επίσκεψη Ιστοσελίδας

Το OpenFaaS (Open Functions as a Service) είναι μια πλατφόρμα serverless ανοιχτού κώδικα που επιτρέπει στους developers να πακετάρουν κώδικα ως συναρτήσεις (functions) χωρίς να ανησυχούν για το underlying infrastructure. Κάθε function τρέχει μέσα σε ένα container (Docker) και ενεργοποιείται μέσω HTTP requests (REST) ή events (message queues). Είναι σχεδιασμένο να τρέχει πάνω από Kubernetes (κυρίως) ή Docker Swarm, προσφέροντας autoscaling, health checks, metrics, και observability.

Βασικές Έννοιες & Λειτουργίες:

Πώς λειτουργεί:

  1. Συγγραφή function: Γράφετε μια handler function (π.χ. handler.py με def handle(req):).
  2. Build: faas-cli build --tag ... – δημιουργεί Docker image.
  3. Push: faas-cli push (π.χ. σε Docker Hub).
  4. Deploy: faas-cli deploy – δημιουργεί service στο Kubernetes.
  5. Invoke: curl https://gateway/function/function-name ή faas-cli invoke.

Υποστήριξη γλωσσών (Official Templates):

OpenFaaS vs Commercial Serverless (AWS Lambda):

ΧαρακτηριστικόOpenFaaSAWS Lambda
ΦιλοξενίαSelf-hosted (K8s, on-prem, cloud)Managed (AWS only)
ΚόστοςΔωρεάν (μόνο server cost)Pay-per-invocation + memory
ΓλώσσεςAny (container)Node, Python, Java, Go, .NET, Ruby, Custom Runtimes
Scale-to-zeroΝαι (προαιρετικά)Ναι
Cold start latency~100-500ms (depends on image)~100-200ms (optimized)
Event sourcesHTTP (κυρίως), Kafka, NATSSQS, SNS, Kinesis, API Gateway, S3, κ.ά. (πλούσια)

Σημείωση: Το OpenFaaS είναι ιδανικό για οργανισμούς που θέλουν να κρατήσουν το serverless workload στο δικό τους infrastructure (on-prem ή hybrid cloud) ή θέλουν να αποφύγουν vendor lock-in. Για μικρές λειτουργίες που χρειάζονται υψηλή παραγωγικότητα και δεν έχουν DevOps ομάδα, τα managed solutions (AWS Lambda, Cloud Functions) είναι απλούστερα.