Topics /
Infrastructure & DevOps
The most popular blog posts about infrastructure & devops on Hacker News. 1,839 posts.
Vm.overcommit_memory=2 is the right setting for servers
The Linux kernel has a feature where you can tune the behavior of memory allocations: the vm.overcommit_memory sysctl. When overcommit is enabled (sadly, this is the default), the kernel will typically return a mapping when brk(2) or mmap(2) is called to increase a program’s heap size, regardless of whether or not…
Repurposing my old Chromebook to a low power home server
Can’t sell it? Repurpose it! It was around 4 years ago when I bought a used, slightly beat up Asus C300 Chromebook from a friend of mine for £50. It served me well, I installed Linux on it and used it to work on some side projects while commuting. However as time passed by, I slowly forgot about it and it ended up in…
Persisting state between AWS EC2 spot instances
Persisting state between AWS EC2 spot instances using Docker on an external volume
The wrong way to switch operating systems on your server
world wide web benji-style
The Fargate Illusion
I’ve been building a Kubernetes based platform at $work now for almost a year, and I’ve become a bit of a Kubernetes apologist. It’s true, I think the technology is
The Modern Observability Problem
The observability problem - Why is the system exhibiting this behaviour?
Coding Agent VMs on NixOS with Microvm.nix
I have come to appreciate coding agents to be valuable tools for working with computer program code in any capacity, such as learning about any program’s architecture, diagnosing bugs or developing proofs of concept. Depending on the use-case, reviewing each command the agent wants to run can get tedious and…
An EPYC NixOS Build Farm
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments.
Tracing HTTP Requests with tcpflow
PagerDuty went off very early in the morning, and our hero cursed his bad luck and received the phone call. He made PagerDuty repeat the message twice, but couldn’t understand the message. He pressed the number to acknowledge the incident. He opened the MacBook and found the slack message from the PagerDuty bot more…
Things I Learned Managing Site Reliability (2017)
For several years I managed the 3rd line site reliability operation for many of the world’s busiest gambling sites, working for a little-known company that built and ran the core backend online software for several businesses that each at peak could take tens of millions of pounds in revenue per hour. I left a couple…
Unikernel Profiling from dom0
Unikernel Profiling: Flame Graphs from dom0. This post investigates performance profiling of Unikernels, and with a proof of concept shows that with a little work a lot of observability is possible.
Systemd auto-restarts of units can hide problems from you
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Flowchart: How should I run containers on AWS?
As of Late 2021, which AWS service should I use to run my new containerized app in production?
EC2 Boot Time Benchmarking
Once I finished writing ec2-boot-bench, the natural next step was to run some tests — in particular, to see how FreeBSD compared to other operating systems used in EC2. I used the c5.xlarge instance type and tested FreeBSD releases since 11.1-RELEASE (the first FreeBSD release which can run on the c5.xlarge instance…
Building a Linux Desktop for Cloud Native Development
Find out how I use a Linux Desktop PC for Cloud Native Development and for business work. I'll cover everything from parts & peripherals to CLIs and SaaS.
Build Initramfs Rootless
Let's create an hello world init program that the kernel can execute to show that everything works correctly:
I can haz smoller NixOS ISOs?
In which I painstakingly remove functionality from a Linux live image. Like a normal person.
Why Does My eBPF Program Work on One Kernel but Fail on Another?
How to Build Truly Portable eBPF Programs
Scaling Rust Builds with Bazel
Why DFINITY builds Rust with Bazel.
Self-hosting a high-availability Postgres cluster on Kubernetes
Ryan Schachte — infrastructure, networking, and distributed systems