-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Descriptive summary
Since nearly the beginning of OD2 development we have been using Alpine Linux as the base container for our Hyrax containers. Alpine Linux is a specialized Linux distribution based on the musl C standard library (vs. the standard glibc C Standard Library from GNU) and the busybox project. musl is a re-implementation of the C standard library optimized for resource usage and security.
We originally went with Alpine Linux to try to lower RAM and CPU usage when our Beavernetes cluster was much smaller with only about 500GB of RAM across the whole cluster. Today in 2026 we have individual servers in the cluster with more RAM than the whole of Beavernetes had in 2019. Now we have several TB of RAM across the entire cluster.
Alpine Linux has some known quirks due to its usage of musl libc. One notable example is the way musl libc implements its DNS resolution functions. musl libc only supports DNS over UDP, which can lead to DNS failures if the response is larger than 512 bytes.
For OSU's ScholarsArchive we migrated from using Alpine Linux to using Debian Bullseye, a specific release of the Debian Linux distribution, in Spring of 2024. ScholarsArchive doesn't suffer from either the 502 Bad gateway issue that has been plaguing OD2, or the "segfault" issue that causes background jobs to fail when they run on a specific server.
This is approximately what we need: