quiche VS gvisor

Compare quiche vs gvisor and see what are their differences.

quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3 (by cloudflare)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
quiche gvisor
26 64
8,916 15,099
3.0% 3.0%
9.0 9.9
3 days ago 1 day ago
Rust Go
BSD 2-clause "Simplified" License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

quiche

Posts with mentions or reviews of quiche. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-21.
  • Nghttp3 1.0.0 – HTTP/3 library written in C
    7 projects | news.ycombinator.com | 21 Oct 2023
    The title of this post puts emphasis on "written in C", making me wonder when this would ever be a desirable feature, given that more secure implementations are available, and can be integrated into old C projects just as easily.

    No need to rewrite everything from the ground up: https://github.com/cloudflare/quiche#curl

  • Curl HTTP/3 with quiche discouraged
    2 projects | news.ycombinator.com | 22 Mar 2023
    The issue is dead silent too!

    https://github.com/cloudflare/quiche/issues/1115

  • Best performing quic implementation?
    4 projects | /r/rust | 5 Mar 2023
  • Oxy is Cloudflare's Rust-based next generation proxy framework
    5 projects | /r/rust | 2 Mar 2023
    Even though Oxy is a proprietary project, we try to give back some love to the open-source community without which the project wouldn’t be possible by open-sourcing some of the building blocks such as https://github.com/cloudflare/boring and https://github.com/cloudflare/quiche.
  • How Rust and Wasm power Cloudflare's 1.1.1.1
    3 projects | /r/rust | 28 Feb 2023
    They’ve been on the Rust train since at least 2019. Just look at projects like quiche, wrangler, and boringtun
  • What is a CDN? How do CDNs work?
    3 projects | news.ycombinator.com | 8 Feb 2023
    It's more like Cloudflare forked nginx a long time ago, and is meanwhile in the very slow (like, decade-long) process of replacing it entirely.

    The Cloudflare Workers Runtime, for instance, is built directly around V8; it does not use nginx or any other existing web server stack. Many new features of Cloudflare are in turn built on Workers, and much of the old stack build on nginx is gradually being migrated to Workers. https://workers.dev https://github.com/cloudflare/workerd

    In another part of the stack, there is Pingora, another built-from-scratch web server focused on high-performance proxying and caching: https://blog.cloudflare.com/how-we-built-pingora-the-proxy-t...

    Even when using nginx, Cloudflare has rewritten or added big chunks of code, such as implementing HTTP/3: https://github.com/cloudflare/quiche And of course there is a ton of business logic written in Lua on top of that nginx base.

    Though arguably, Cloudflare's biggest piece of magic is the layer 3 network. It's so magical that people don't even think about it, it just works. Seamlessly balancing traffic across hundreds of locations without even varying IP addresses is, well, not easy.

    I could go on... automatic SSL provisioning? DDoS protection? etc. These aren't nginx features.

    So while Cloudflare may have gotten started being more-or-less nginx-as-a-service I don't think you can really call it that anymore.

    (I'm the tech lead for Cloudflare Workers.)

  • Using WebTransport
    6 projects | news.ycombinator.com | 16 Sep 2022
  • Is it better to learn web development with Python or C?
    4 projects | /r/webdev | 7 Aug 2022
    Ask Cloudflare why they use HTTP/3 and QUIC https://github.com/cloudflare/quiche.
  • DNS-over-HTTP/3 in Android
    1 project | news.ycombinator.com | 20 Jul 2022
  • The MQTT broker powering Cloudflare's new Pub/Sub product is written in Rust!
    1 project | /r/rust | 12 May 2022
    Cloudflare has used rust for multiple projects in the past such as their QUIC/HTTP3 implementation Quiche and a WireGuard implementation BoringTun.

gvisor

Posts with mentions or reviews of gvisor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-03.
  • Maestro: A Linux-compatible kernel in Rust
    7 projects | news.ycombinator.com | 3 Jan 2024
    Isn't gVisor kind of this as well?

    "gVisor is an application kernel for containers. It limits the host kernel surface accessible to the application while still giving the application access to all the features it expects. Unlike most kernels, gVisor does not assume or require a fixed set of physical resources; instead, it leverages existing host kernel functionality and runs as a normal process. In other words, gVisor implements Linux by way of Linux."

    https://github.com/google/gvisor

  • Google/Gvisor: Application Kernel for Containers
    3 projects | news.ycombinator.com | 2 Jan 2024
  • GVisor: OCI Runtime with Application Kernel
    1 project | news.ycombinator.com | 2 Jan 2024
  • How to Escape a Container
    4 projects | news.ycombinator.com | 20 Dec 2023
  • Faster Filesystem Access with Directfs
    1 project | news.ycombinator.com | 28 Jul 2023
    This sort of feels like seeing someone riding a bike and saying: why don’t they just get a car? The simple fact is that containers and VMs are quite different. Whether something uses VMX and friends or not is also a red herring, as gVisor also “rolls it own VMM” [1].

    [1] https://github.com/google/gvisor/tree/master/pkg/sentry/plat...

  • OS in Go? Why Not
    2 projects | news.ycombinator.com | 21 May 2023
    There's two major production-ready Go-based operating system(-ish) projects:

    - Google's gVisor[1] (a re-implementation of a significant subset of the Linux syscall ABI for isolation, also mentioned in the article)

    - USBArmory's Tamago[2] (a single-threaded bare-metal Go runtime for SOCs)

    Both of these are security-focused with a clear trade off: sacrifice some performance for memory safe and excellent readability (and auditability). I feel like that's the sweet spot for low-level Go - projects that need memory safety but would rather trade some performance for simplicity.

    [1]: https://github.com/google/gvisor

    [2]: https://github.com/usbarmory/tamago

  • Tunwg: Expose your Go HTTP servers online with end to end TLS
    2 projects | /r/golang | 2 May 2023
    It uses gVisor to create a TCP/IP stack in userspace, and starts a wireguard interface on it, which the HTTP server from http.Serve listens on. The library will print a URL after startup, where you can access your server. You can create multiple listeners in one binary.
  • How does go playground work?
    3 projects | /r/golang | 30 Apr 2023
    The playground compiles the program with GOOS=linux, GOARCH=amd64 and runs the program with gVisor. Detailed documentation is available at the gVisor site.
  • Searchable Linux Syscall Table for x86 and x86_64
    7 projects | news.ycombinator.com | 14 Apr 2023
  • Multi-tenancy in Kubernetes
    13 projects | dev.to | 10 Apr 2023
    You could use a container sandbox like gVisor, light virtual machines as containers (Kata containers, firecracker + containerd) or full virtual machines (virtlet as a CRI).

What are some alternatives?

When comparing quiche and gvisor you can also consider the following projects:

quinn - Async-friendly QUIC implementation in Rust

firecracker - Secure and fast microVMs for serverless computing.

msquic - Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.

podman - Podman: A tool for managing OCI containers and pods.

quic-go - A QUIC implementation in pure Go

wsl-vpnkit - Provides network connectivity to WSL 2 when blocked by VPN

shadowsocks-rust - A Rust port of shadowsocks

kata-containers - Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/

neqo - Neqo, an implementation of QUIC in Rust

sysbox - An open-source, next-generation "runc" that empowers rootless containers to run workloads such as Systemd, Docker, Kubernetes, just like VMs.

s2n-quic - An implementation of the IETF QUIC protocol

containerd - An open and reliable container runtime