عن المشروع

OpenFaaS هو إطار عمل لتغليف وتشغيل الدوال والميكروخدمات الموجهة بالأحداث على Kubernetes. يقوم المطورون بتغليف الكود أو أي ثنائي موجود في صورة متوافقة مع OCI/Docker لكشف نقطة نهاية قابلة للتوسع مع توسع تلقائي ومقاييس، مما يتجنب التكرار البرمجي الممل. القدرات الرئيسية الموضحة في ملف README: - تثبيت بنقرة واحدة وبوابة ويب لسهولة الاستخدام. - كتابة الدوال بأي لغة عبر متجر القوالب أو Dockerfile؛ تشمل القوالب الرسمية Node.js (node20) وPython 3 (python3-http) وGo (golang-middleware). - بناء وشحن الكود كصورة متوافقة مع OCI/Docker. - قابلية النقل: يعمل على الأجهزة الحالية أو السحابة العامة/الخاصة عبر Kubernetes (faas-netes). - واجهة سطر أوامر مع تنسيق YAML لإنشاء القوالب وتعريف الدوال. - توسع تلقائي مع زيادة الطلب، بما في ذلك التوسع إلى الصفر. - تشغيل نقاط النهاية عبر HTTP أو مصادر الأحداث مثل Apache Kafka وAWS SQS. - قائمة انتظار مدمجة ومعالجة خلفية للمهام غير المتزامنة. - بدء سريع عبر GitOps باستخدام OpenFaaS Cloud. - النشر على Kubernetes أو OpenShift، بالإضافة إلى faasd كبديل خفيف. - التكامل مع شبكات الخدمات مثل Istio أو Linkerd عبر دروس تعليمية مميزة. - لوحات Grafana لمراقبة التوسع التلقائي. الترخيص والإصدارات: هذا المستودع جزء من OpenFaaS Community Edition (CE)، المرخص للاستكشاف الفردي واستخدام الهواة، مع حد 60 يومًا لإثباتات المفهوم التجارية. تتطلب أعباء العمل التجارية والإنتاجية OpenFaaS Standard أو OpenFaaS for Enterprises، وهما منتجان تجاريان منفصلان مع دعم تجاري وصيانة CVE. يذكر ملف README أن CE له قيود استخدام وقدرات أساسية أكثر من الإصدارات التجارية. خلفية المشروع: OpenFaaS مكتوب بلغة Go وأنشأه Alex Ellis؛ يستضيفه OpenFaaS Ltd وهو علامة تجارية مسجلة في إنجلترا وويلز. تُقدم مساهمات الأطراف الثالثة في الكود المصدري بموجب رخصة MIT، بينما تخضع مساهمات OpenFaaS Ltd لاتفاقية ترخيص المستخدم النهائي لـ OpenFaaS CE. يلاحظ ملف README أن المستودعات العامة تشكل OpenFaaS CE وأن تطوير المنتج يحدث في مستودعات خاصة، لذا لا يمثل نشاط GitHub المنتج الكامل.