All Projects → ease-lab → vhive

ease-lab / vhive

Licence: MIT License
vHive: Open-source framework for serverless experimentation

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
java
68154 projects - #9 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to vhive

openwhisk-runtime-java
Apache OpenWhisk Runtime Java supports Apache OpenWhisk functions written in Java and other JVM-hosted languages
Stars: ✭ 43 (-67.91%)
Mutual labels:  faas, functions-as-a-service
triggerflow
Event-based Orchestration of Serverless Workflows
Stars: ✭ 38 (-71.64%)
Mutual labels:  functions-as-a-service, knative
openwhisk-runtime-docker
Apache OpenWhisk SDK for building Docker "blackbox" runtimes
Stars: ✭ 23 (-82.84%)
Mutual labels:  faas, functions-as-a-service
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (+89.55%)
Mutual labels:  faas, functions-as-a-service
openfaas-rstats-templates
OpenFaaS templates for R
Stars: ✭ 17 (-87.31%)
Mutual labels:  faas, functions-as-a-service
Docs
User documentation for Knative components.
Stars: ✭ 3,106 (+2217.91%)
Mutual labels:  faas, knative
flintlock
Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd.
Stars: ✭ 78 (-41.79%)
Mutual labels:  firecracker, microvm
Gofn
Function process via docker provider (serverless minimalist)
Stars: ✭ 134 (+0%)
Mutual labels:  faas, functions-as-a-service
openwhisk-runtime-python
Apache OpenWhisk Runtime Python supports Apache OpenWhisk functions written in Python
Stars: ✭ 39 (-70.9%)
Mutual labels:  faas, functions-as-a-service
openwhisk-runtime-go
Apache OpenWhisk Runtime Go supports Apache OpenWhisk functions written in Go
Stars: ✭ 31 (-76.87%)
Mutual labels:  faas, functions-as-a-service
Openwhisk Deploy Kube
The Apache OpenWhisk Kubernetes Deployment repository supports deploying the Apache OpenWhisk system on Kubernetes and OpenShift clusters.
Stars: ✭ 231 (+72.39%)
Mutual labels:  faas, functions-as-a-service
skenario
A simulator toolkit for Knative
Stars: ✭ 26 (-80.6%)
Mutual labels:  knative, knative-serving
Openwhisk Devtools
Development tools for building and deploying Apache OpenWhisk
Stars: ✭ 141 (+5.22%)
Mutual labels:  faas, functions-as-a-service
openwhisk-package-kafka
Apache OpenWhisk package for communicating with Kafka or Message Hub
Stars: ✭ 35 (-73.88%)
Mutual labels:  faas, functions-as-a-service
Flogo
Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.
Stars: ✭ 1,891 (+1311.19%)
Mutual labels:  faas, functions-as-a-service
openwhisk-catalog
Curated catalog of Apache OpenWhisk packages to interface with event producers and consumers
Stars: ✭ 30 (-77.61%)
Mutual labels:  faas, functions-as-a-service
Openwhisk Cli
Apache OpenWhisk Command Line Interface (CLI)
Stars: ✭ 73 (-45.52%)
Mutual labels:  faas, functions-as-a-service
Baetyl
Extend cloud computing, data and service seamlessly to edge devices.
Stars: ✭ 1,655 (+1135.07%)
Mutual labels:  faas, functions-as-a-service
CKS-Exercises-Certified-Kubernetes-Security-Specialist
A set of curated exercises to help you prepare for the CKS exam
Stars: ✭ 124 (-7.46%)
Mutual labels:  containerd, gvisor
firecracker-task-driver
nomad task driver that uses firecracker to start micro-vms
Stars: ✭ 85 (-36.57%)
Mutual labels:  firecracker, microvm

build Unit Tests Integration Tests vHive CRI tests Go Report Card License: MIT follow on Twitter

vHive Header

News

A full-day tutorial, co-located with the ASPLOS'22 conference, is going to take place in Lausanne, Switzerland on March 1. The tutorial will be in a hybrid format (both in-person and virtual) and will cover both the serverless cloud foundations and the vHive ecosystem and include several hands-on sessions. In this tutorial, the participants will learn how to analyze performance of commercial and open-source clouds as well as how to experiment and innovate across serverless stack using vHive. For more information, please visit the tutorial webpage.

Mission

vHive aims to enable serverless systems researchers to innovate across the deep and distributed software stacks of a modern serverless platform. Hence, we built vHive to be representative of the leading Function-as-a-Service (FaaS) providers, integrating the same production-grade components used by the providers, including AWS Firecracker hypervisor, Cloud Native Computing Foundation's Containerd, and Kubernetes.

vHive adopts the Knative flexible programming model, allowing the researchers to quickly deploy and experiment with any serverless applications that may comprise many functions, running in secure Firecracker microVMs, as well as serverfull services. Both the functions and the stateful services can be deployed using OCI/Docker images.

vHive empowers systems researchers to innovate on key serverless features, including functions autoscaling and cold-start delay optimization with several snapshotting mechanisms.

vHive architecture

vHive Architecture

The details of the vHive architecture can be found in our ASPLOS'21 paper (extended abstract, full paper).

Currently, vHive supports 3 types of sandboxes for functions, namely Firecracker MicroVMs (default), gVisor MicroVMs, and Containerd containers (as in vanilla Knative).

Technical talks

Referencing our work

If you decide to use vHive for your research and experiments, we are thrilled to support you by offering advice for potential extensions of vHive and always open for collaboration.

Please cite our paper that has been recently accepted to ASPLOS 2021:

@inproceedings{ustiugov:benchmarking,
  author    = {Dmitrii Ustiugov and
               Plamen Petrov and
               Marios Kogias and
               Edouard Bugnion and
               Boris Grot},
  title     = {Benchmarking, Analysis, and Optimization of Serverless Function Snapshots},
  booktitle = {Proceedings of the 26th ACM International Conference on
               Architectural Support for Programming Languages and Operating Systems (ASPLOS'21)},
  publisher = {{ACM}},
  year      = {2021},
  doi       = {10.1145/3445814.3446714},
}

Getting started with vHive

vHive can be readily deployed on premises or in cloud, with support for nested virtualization. We provide a quick-start guide that describes how to set up an experiment with vHive.

Developing vHive

Developer's guide and performance analysis with vHive

We provide a basic developer's guide that we plan to extend in future. We encourage the community to contribute their analysis scenarios and tools.

You can view the vHive documentation here.

vHive roadmap

vHive is a community-led project, maintained by the EASE lab. The current roadmap is available and is going to be updated to accommodate the community's goals and evolution. To guarantee high code quality and reliability, we deploy fully automated CI on cloud and self-hosted runners with GitHub Actions.

The statistics of this repository's views, clones, forks is available by the following link.

Getting help and contributing

We would be happy to answer any questions in GitHub Issues and encourage the open-source community to submit new Issues, assist in addressing existing issues and limitations, and contribute their code with Pull Requests. Please check our guide on Contributing to vHive if you would like contribute. You can also talk to us on the official Firecracker Slack in the #firecracker-vHive-research channel.

License and copyright

vHive is free. We publish the code under the terms of the MIT License that allows distribution, modification, and commercial use. This software, however, comes without any warranty or liability.

The software is maintained at the EASE lab in the University of Edinburgh.

Maintainers

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].