Skip to content

Serverless computing platform with process-based lightweight function execution and container-based application isolation. Works in Knative and bare metal/VM environments.

License

Notifications You must be signed in to change notification settings

knix-microfunctions/knix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fac5caf · Apr 24, 2024
Jan 4, 2022
Jul 28, 2021
Jun 10, 2021
Dec 10, 2023
Dec 17, 2020
Jul 19, 2021
Jul 20, 2021
Aug 4, 2021
Dec 10, 2023
Jun 8, 2020
Aug 11, 2021
Sep 23, 2020
Mar 25, 2021
Jun 17, 2021
May 20, 2021
Mar 27, 2024
Jun 17, 2021
Dec 10, 2023
May 17, 2020
Apr 20, 2020
May 17, 2020
Jan 9, 2020
Apr 24, 2024
Oct 28, 2020
Mar 22, 2021
Apr 20, 2020

Repository files navigation

Important Disclaimer

KNIX started as a research project at Nokia Bell Labs and was open-sourced afterwards. In the meantime, the serverless landscape has drastically changed and improved. We try to maintain the codebase and provide support with issues; however, our research priorities and focus have since changed, limiting our time devoted to the maintenance of the repo. Please be aware of this situation.

Overview

KNIX MicroFunctions is an open source serverless computing platform for Knative as well as bare metal or virtual machine-based environments. It combines container-based resource isolation with a light-weight process-based execution model that significantly improves resource efficiency and decreases the function startup overhead.

Compared with existing serverless computing platforms, KNIX MicroFunctions has the following advantages:

  • Low function startup latency & high resource efficiency
  • Fast locality-aware storage access
  • Python and Java function runtimes
  • Workflow support and compatibility with Amazon States Language (ASL)
  • Support for long-running functions for continuous data processing applications
  • Powerful web UI, SDK and CLI for effective serverless application development

Screenshots

Installation

This section covers installing KNIX.

Installing KNIX MicroFunctions on Kubernetes

KNIX can be installed using helm charts, assuming you have a Kubernetes cluster and Knative running.

Please refer to the Helm package deployment README.

Installing KNIX MicroFunctions on Bare Metal or Virtual Machines

KNIX MicroFunctions can also be installed using Ansible playbooks on bare metal or virtual machines. You'll need a user with sudo access.

Please refer to the installation README.

Hosted Service

More info on hosted services for hands-on experimentation with the KNIX MicroFunctions platform can be found at: https://knix.io.

Getting Involved

We encourage you to participate in this open source project. We welcome pull requests, bug reports, ideas, code reviews, or any kind of positive contribution.

Before you attempt to make a contribution please read the Code of Conduct.

License

Apache License 2.0