Arc Notes Weekly #75: 96,280
This week, we cover who are we defending against when we are encrypting data at rest and what’s the attack vector. We see how Stripe manages 99.999% uptime.
This week, we cover who are we defending against when we are encrypting data at rest and what’s the attack vector. We see how Stripe manages 99.999% uptime, and that its sometimes needed to have more than one machine.
Enjoy this week's round-up!
— Mahdi Yusuf (@myusuf3) or LinkedIn
👋🏾 You are reading Architecture Notes - Your Sunday newsletter, which curates best system design and architecture news from around the web. We would appreciate you sharing it with like-minded people.
Articles
You'll regret using natural keys
Are natural keys ever a good idea in database design? This thought-provoking post argues they're not, drawing on the author's decades of experience. From issues with uniqueness and identity to the inevitability of data entry errors, the post makes a compelling case for always using synthetic keys instead. Whether you're a seasoned database designer or just starting out, this is a must-read perspective on a fundamental design choice.
Encryption At Rest: Whose Threat Model Is It Anyway?
Think you know all about encryption at rest? This blog post might make you think again. Drawing on hard-earned lessons from real-world projects, the author dives deep into the nuances and gotchas of encrypting data in web apps and cloud services. With detailed examples and a knack for making complex topics approachable, the author shares wisdom you won't find in textbooks.
Not Just Scale
In this thought-provoking blog post, AWS engineer Marc Brooker challenges the notion that distributed systems are unnecessary in the age of ultra-powerful single machines. While acknowledging the impressive capabilities of modern hardware, he argues compellingly that scalability is just one of many reasons to embrace distributed architectures.
What is PID 0?
Ever wondered what PID 0 does in Linux? This fascinating deep-dive explores the history and purpose of this most fundamental of processes. From its unique responsibilities to its quirks and differences from all other PIDs, you'll never look at 'ls -l /sbin/init' the same way again.
How Stripe’s document databases supported 99.999% uptime
This rare peek inside Stripe's infrastructure reveals the secret: a powerful data migration platform that lets them move massive datasets with zero downtime. Packed with insights on sharding, replication, and clever optimizations, it's a must-read for anyone grappling with data at scale.
Flaky Tests Overhaul
Uber's engineering team takes on the scourge of flaky tests in this insightful blog post. With 1 in 7 of their tests exhibiting intermittent failures, flakiness was costing them serious time and productivity.
Their multi-pronged solution involved building sophisticated tooling to detect and track problematic tests, creating dashboards to monitor flakiness trends, and implementing policies to automatically quarantine repeat offenders. It's a masterclass in applying data-driven rigor to a gnarly quality problem.
Projects
Entropy
Worried about accidentally leaking secrets in your codebase? Entropy is a handy CLI tool that scans your code for high entropy lines that might contain sensitive information. Entropy makes it simple to add an extra layer of security to your development workflow. Given its rising popularity and active maintenance, Entropy is definitely worth checking out for any security-conscious developer.
Coolify
Coolify is an open-source, self-hostable platform that makes it easy to deploy applications with your own infrastructure. Similar to Heroku or Netlify, but without the vendor lock-in, Coolify lets you manage servers, apps, and databases with minimal configuration via an intuitive UI.
Queueing
Want to design high-performance systems that stay snappy under load? This interactive post explores the queueing strategies that can make a real impact, from the fundamentals of FIFO and LIFO queues to techniques like priority queues and active queue management. See how they compare and learn practical tips to apply in your own projects.