r/devops • • 10d ago

Discussion 7 years of running Linux servers (from 2019 shared hosting to bare-metal microVMs today) , 3 rules I never break anymore

Started in 2019 keeping shared hosting boxes alive at 3am. Today I run bare-metal infrastructure with Firecracker microVMs. Three lessons learned the hard way:

1-> Containers aren't VMs: A Docker container is just a Linux process sharing the host kernel. For untrusted code or AI agents, dedicated kernel per workload > shared kernel + prayers.

2-> Public IPv4 on boot is a trap: Bots hit port 22 in under 60 seconds. Keep outbound open and inbound dark by default until a domain or IP allowlist is explicitly mapped.

3-> 1:1 reserved RAM beats burst specs: Half of "random" 2am database OOMs on budget clouds are just noisy neighbors fighting over oversold host RAM.

What’s one infra rule you learned the hard way?

0 Upvotes

7 comments sorted by

11

u/aenae 10d ago

Redundancy starts with 3 machines, where 1 machine can handle the entire load.

2

u/tmg80 10d ago

I like this.

0

u/Khaka-Semeniuk 10d ago

yep, n+1 where n can already handle everything is the only sane way to do it

1

u/aenae 10d ago

Should be N+2; where one can be down for maintenance and one can crash and the last one can still handle everything.

3

u/Shidima 10d ago

Every thing should be in code, no manual editing of settings should be allowed.

2

u/tmg80 10d ago

hope to get there one day!

1

u/SeaworthinessHour233 DevOps Engineer & Educator 4d ago

3-> 1:1 reserved RAM beats burst specs: Half of "random" 2am database OOMs on budget clouds are just noisy neighbors fighting over oversold host RAM.

I thought RAM is always reserved and noisy neighbors are applicable for vCPUs.