프로젝트 소개

OpenFaaS는 Kubernetes에서 이벤트 기반 함수와 마이크로서비스를 패키징하고 실행하기 위한 프레임워크다. 개발자는 코드나 기존 바이너리를 OCI 호환/Docker 이미지로 감싸 오토스케일링과 메트릭을 갖춘 확장 가능한 엔드포인트를 노출할 수 있어 반복적인 보일러플레이트를 피할 수 있다. README에 설명된 주요 기능: - 원클릭 설치와 사용 편의성을 위한 UI 포털. - Template Store 또는 Dockerfile을 통해 모든 언어로 함수 작성 가능; 공식 템플릿에는 Node.js(node20), Python 3(python3-http), Go(golang-middleware)가 포함된다. - 코드를 OCI 호환/Docker 이미지로 빌드하고 배포. - 이식성: Kubernetes(faas-netes)를 활용해 기존 하드웨어나 퍼블릭/프라이빗 클라우드에서 실행. - 템플레이팅과 함수 정의를 위한 YAML 형식을 갖춘 CLI. - 수요 증가에 따른 오토스케일링, scale-to-zero 포함. - HTTP 또는 Apache Kafka, AWS SQS 같은 이벤트 소스를 통한 엔드포인트 트리거. - 비동기 작업을 위한 내장 큐잉과 백그라운드 처리. - OpenFaaS Cloud를 통한 GitOps 퀵스타트. - Kubernetes 또는 OpenShift 배포, 그리고 경량 대안인 faasd. - featured 튜토리얼을 통한 Istio나 Linkerd 같은 서비스 메시와의 통합. - 오토스케일링 관찰을 위한 Grafana 대시보드. 라이선스 및 에디션: 이 저장소는 OpenFaaS Community Edition(CE)의 일부이며, 개인적 탐구와 취미용으로 라이선스되고 상업적 개념 증명에는 60일 제한이 있다. 상업 및 프로덕션 워크로드에는 별도의 상용 제품으로 상업적 지원과 CVE 유지보수를 제공하는 OpenFaaS Standard 또는 OpenFaaS for Enterprises가 필요하다. README는 CE가 사용 제한이 있고 상용 버전보다 더 기본적인 기능을 갖는다고 명시한다. 프로젝트 배경: OpenFaaS는 Go로 작성되었고 Alex Ellis가 만들었으며, OpenFaaS Ltd가 호스팅하고 잉글랜드와 웨일스의 등록 상표다. 소스 코드에 대한 제3자 기여는 MIT 라이선스로 이루어지고, OpenFaaS Ltd의 기여는 OpenFaaS CE EULA에 따른다. README는 공개 저장소가 OpenFaaS CE를 구성하고 제품 개발은 비공개 저장소에서 이루어지므로 GitHub 활동이 전체 제품을 나타내지는 않는다고 밝힌다.