We picked WireGuard in 2023 because it was small, audited, and easy to reason about. Three years and a few thousand tunnels later, that's still the right trade. The data path didn't surprise us; the control plane did.

What we'd keep

The protocol. Cryptokey routing is the right primitive for what we needed, and the kernel module is a remarkable piece of engineering.

What we'd redo

The handshake choreography we wrapped around it. We initially modeled sessions as long-lived, then discovered our load balancer rotated ENIs more often than we expected. That's a control-plane problem, not a WireGuard problem, but we spent a year confusing the two.

← Back to all posts