Seastar VS unikraft

Compare Seastar vs unikraft and see what are their differences.

Seastar

High performance server-side application framework (by scylladb)

unikraft

A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings. (by unikraft)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Seastar unikraft
25 26
8,004 2,287
1.4% 19.0%
9.7 9.8
5 days ago 3 days ago
C++ C
Apache License 2.0 GNU General Public License v3.0 or later
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.

Seastar

Posts with mentions or reviews of Seastar. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-13.
  • I want to share my latest hobby project, dbeel: A distributed thread-per-core nosql db written in rust
    3 projects | /r/rust | 13 Nov 2023
    I used glommio as the async executor (instead of something like tokio), and it is wonderful. For people wondering whether it's "good enough" or to use C++ and seastar (as I have thought about a lot before starting this project), take the leap of faith, it's fast - both in terms of run time and to code.
  • How much reason is there to be multi-threaded in the k8s environment
    2 projects | /r/scala | 4 Jul 2023
    b) It's proven now e.g Seastar, Glommio that the fastest way to run a multi-threaded application is to have one instance with one thread pinned per CPU core. Then to have fibers/lightweight threads on top handling all of the asynchronous code. Your approach of lots of instances is the slowest so there will be a ton of unnecessary thread context-switching.
  • Are You Sure You Want to Use MMAP in Your Database Management System?
    3 projects | news.ycombinator.com | 2 Jul 2023
    The most common example is DPDK [1]. It's a framework for building bespoke networking stacks that are usable from userspace, without involving the kernel.

    You'll find DPDK mentioned a lot in the networking/HPC/data center literature. An example of a backend framework that uses DPDK is the seastar framework [2]. Also, I recently stumbled upon a paper for efficient RPC networks in data centers [3].

    If you want to learn more, the p99 conference by ScyllaDB has tons of speakers talking about some interesting challenges.

    [1] https://www.dpdk.org/.

    [2] https://github.com/scylladb/seastar

    [3] https://github.com/erpc-io/eRPC

  • Why does Actix-web's handler not require Send?
    3 projects | /r/rust | 18 Jun 2023
    I assume Tokio itself, see e.g monoio or glommio, but also Seastar for C++.
  • What is DPDK library in C and how to learn it?
    1 project | /r/C_Programming | 27 Apr 2023
    https://core.dpdk.org/supported/ lists supported nics. You're best just reading material from the dpdk website for figuring out roughly what it is. It is used for a lot of different goals. For most web C++ stuff it's mainly used because you can avoid round trips of data passing through the kernel and can reference network data without tons of copying. For an example check out the SeaStar framework, https://seastar.io/, which is under the hood of ScyllaDB.
  • How Numberly Replaced Kafka with a Rust-Based ScyllaDB Shard-Aware Application
    1 project | /r/apachekafka | 17 Apr 2023
    As this is a Kafka sub, this may be a good opportunity to mention that Redpanda is based on the same framework (seastar) as Scylla. The idea of sharding work to CPU cores turns out to apply very well to the Kafka data model, too!
  • What are some C++ projects with high quality code that I can read through?
    8 projects | /r/cpp_questions | 16 Jan 2023
    Seastar which is a thread per core runtime written by the Scylla devs thats used in both Redpanda and Scylla as the underlying runtime. https://github.com/scylladb/seastar
  • Abstraction Is Expensive
    1 project | news.ycombinator.com | 7 Dec 2022
    ScyllaDB is, ironically, maybe one of the worst examples the author could have come up with for "abstraction" in the article.

    If folks aren't familiar with their work/internal tech, go check out some of their repos like Seastar. They have some of the most talented systems programmers on the planet writing thin veneers over kernel and hardware API's to squeeze every ounce out of performance.

    https://github.com/scylladb/seastar

    I know it's beside the point, but I just had to share because I thought that was funny

  • Modern JVM Multithreading • Paweł Jurczenko • Devoxx Poland 2021
    3 projects | /r/java | 28 Oct 2022
    I’ve seen frameworks for c++ (https://seastar.io/) and rust (https://github.com/actix/actix) which support what you’re describing out of the box.
  • Who is using C++ for web development?
    12 projects | /r/cpp | 4 Oct 2022
    If you're interested in scaling and asynchronous programming in c++ I highly recommend you investigate the SeaStar application framework. You wouldn't build a web service with SeaStar, rather you would build the infrastructure that you would use to build the web service on top of. https://github.com/scylladb/seastar

unikraft

Posts with mentions or reviews of unikraft. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-01.
  • KraftCloud
    2 projects | news.ycombinator.com | 1 Apr 2024
  • Mirage – A programming framework for building type-safe, modular systems
    10 projects | news.ycombinator.com | 23 Nov 2023
  • Building a unikernel that runs WebAssembly – part 1
    5 projects | news.ycombinator.com | 23 Oct 2023
    You should also probably check out Unikraft (https://unikraft.org) , supports many languages/apps, x86/ARM64 and QEMU/Firecracker. Is also able to run an ELF built under Linux as a unikernel (see https://unikraft.org/guides/bincompat). Discord is at https://unikraft.org/discord .
  • Unikraft is a fast, secure and open-source Unikernel Development Kit
    1 project | news.ycombinator.com | 15 Oct 2023
    1 project | news.ycombinator.com | 7 Sep 2023
  • What Is a Unikernel?
    2 projects | news.ycombinator.com | 4 Aug 2023
    >"For performance-oriented UDP-based apps, much of the OS networking stack is useless:

    the app could simply use the driver API, much like DPDK-style applications already do.

    There is currently no way to easily remove just the network stack but not the entire network sub-system from standard OSes."

    This page is a great read for any current or future OS developer...

    Related:

    "Unikraft is a fast, secure and open-source Unikernel Development Kit":

    https://unikraft.org/

    "Unikraft is an automated system for building specialized OSes known as unikernels."

    https://github.com/unikraft/unikraft

  • Build Your Own Docker with Linux Namespaces, Cgroups, and Chroot
    6 projects | news.ycombinator.com | 26 Jun 2023
    unikernel is not the same microkernel.

    I've found these after some quick googling:

    https://unikraft.org/

  • I don't believe in the success of wasm
    1 project | /r/kubernetes | 18 Dec 2022
    Check out https://github.com/unikraft/unikraft
  • A future without containers? ( thoughts )
    6 projects | /r/freebsd | 10 Nov 2022
    Wow, just now seeing this topic. I work for a cloud company hosted in AWS. We started out, Netflix/Spotify style microservices. We were all on ec2 images generate by packer (and later with AWS Image Factory). When Docker hit, we kicked the tires but never did anything with it beyond using it for running unit tests, and later, infrastructure tests. 5 years ago, during a hackathon, our little group began experimenting with Unikernels, or library operating systems. Interestingly enough, these Unikernels were all stripped down BSD kernels. OSv is FreeBSD based, and Rumprun is NetBSD based. Services running in EC2 on Unikernels would spin up and start sending and receiving traffic before the AWS EC2 healthchecks completed. They are blazing fast! Only problem in 2017, was the tooling. It would have taken too much effort to use Unikernals with our infrastructure. As soon as they start making Unikernels that can run Java bytecode like native code, the fate of containerization will be sealed, IMO. We could get basic JVM webservers running on OSv, but not Cassandra, not Kafka, not yet. OSv now runs on Firecracker, but I have not tried it out, yet. Some links if you are interested: OSv: https://osv.io Rumprun: https://github.com/rumpkernel/rumprun We used this tooling during the Hackathon, but doesn't look like it has been touched in 3 years: https://github.com/solo-io/unik Unikraft Unikernel Dev kit: https://unikraft.org/ And don't forget Firecracker running in Kubernetes https://www.weave.works/oss/firekube/ And of course, being a FreeBSD subreddit, let's not forget FreeBSD on Firecracker https://www.daemonology.net/blog/2022-10-18-FreeBSD-Firecracker.html
  • Linux as single app ?
    5 projects | /r/linuxquestions | 21 Aug 2022
    and Unikraft

What are some alternatives?

When comparing Seastar and unikraft you can also consider the following projects:

Folly - An open-source C++ library developed and used at Facebook.

nanos - A kernel designed to run one and only one application in a virtualized environment

glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.

mirage - MirageOS is a library operating system that constructs unikernels

Boost.Asio - Asio C++ Library

unik - The Unikernel & MicroVM Compilation and Deployment Platform

Boost - Super-project for modularized Boost

linuxkit - A toolkit for building secure, portable and lean operating systems for containers

ffead-cpp - Framework for Enterprise Application Development in c++, HTTP1/HTTP2/HTTP3 compliant, Supports multiple server backends

distroless - 🥑 Language focused docker images, minus the operating system.

Qt - Qt Base (Core, Gui, Widgets, Network, ...)

riscv-rust - RISC-V processor emulator written in Rust+WASM