Giter Club home page Giter Club logo

kubeless's Introduction

Kubeless logo

CircleCI Slack

kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting and more.

Kubeless stands out as we use a Custom Resource Definition to be able to create functions as custom kubernetes resources. We then run an in-cluster controller that watches these custom resources and launches runtimes on-demand. The controller dynamically injects the functions code into the runtimes and make them available over HTTP or via a PubSub mechanism.

Kubeless is purely open-source and non-affiliated to any commercial organization. Chime in at anytime, we would love the help and feedback !

Screencasts

Click on the picture below to see a screencast demonstrating event based function triggers with kubeless.

screencast

Click on this next picture to see a screencast demonstrating our serverless plugin:

serverless

Tools

Quick start

Check out the instructions for quickly set up Kubeless here.

Building

Consult the developer's guide for a complete set of instruction to build kubeless.

Comparison

There are other solutions, like fission and funktion. There is also an incubating project at the ASF: OpenWhisk. We believe however, that Kubeless is the most Kubernetes native of all.

Kubeless uses k8s primitives, there is no additional API server or API router/gateway. Kubernetes users will quickly understand how it works and be able to leverage their existing logging and monitoring setup as well as their troubleshooting skills.

Compatibility Matrix with Kubernetes

Kubeless fully supports two major versions of Kubernetes (1.8 and 1.9) at the moment. For other versions some of the features in Kubeless may not be available. Our CI run tests against two different platforms: GKE (1.8) and Minikube (1.9). Other platforms are supported but fully compatibiliy cannot be assured. This is the summary of the features and versions supported:

Platform Kubernetes Version HTTP functions Scheduled functions PubSub (Kafka) functions PubSub (NATS) functions Autoscaling (CPU)
GKE 1.7.X X X
GKE 1.8.X
GKE (CI) 1.9.X
Minikube 1.7.X X
Minikube 1.8.X
Minikube (CI) 1.9.X

Roadmap

We would love to get your help, feel free to lend a hand. We are currently looking to implement the following high level features:

  • Add other runtimes, currently Python, NodeJS, Ruby, PHP, .NET and Ballerina are supported. We are also providing a way to use custom runtime. Please check this doc for more details.
  • Investigate other messaging bus (e.g SQS, rabbitMQ)
  • Optimize for functions startup time
  • Add distributed tracing (maybe using istio)

Community

Issues: If you find any issues, please file it.

Slack: We're fairly active on slack and you can find us in the #kubeless channel.

kubeless's People

Contributors

alban avatar alexander-alvarez avatar allantargino avatar andresmgot avatar anguslees avatar anuruddhal avatar arapulido avatar beuno avatar bonifaido avatar caraboides avatar dklyle avatar henrike42 avatar jbianquetti-nami avatar jjo avatar jojow avatar knightxun avatar murali-reddy avatar ngtuna avatar paolomainardi avatar phsiao avatar prydonius avatar rakesh-garimella avatar rimusz avatar rodcloutier avatar rosskukulinski avatar rsmitty avatar sayanh avatar sebgoa avatar someoneweird avatar tkeech1 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.