AWS FOR THE REAL WORLD
⏱️
Reading time: 11 minutes
🎯
Main Learning: A Karpenter NodePool is a placement policy, not an instance preference. Pin one instance
family, and a Spot shortage moves your fleet across availability zones, where every internal call starts costing $0.01 per GB.
Hey Reader 👋🏽 Important off topic things first: Sandro got married! 🎉 Now to something less fun: A story I keep hearing, and it always starts the same way. A cluster gets noticeably more expensive over two days. The only thing that changed is where the nodes are running. That's enough. In this issue: how a Spot shortage quietly rearranges a cluster across three availability zones, and why that makes internal traffic a costly liability! Sponsored by Typesense, a tool we run ourselves.
👋 Recommended reading — not a sponsor
10 Most Common AWS Savings OpportunitiesNot a sponsor and not paid, we just know the team and rate the work. No affiliate link either. They went through more than 100 AWS accounts and wrote up what they actually found, with how often each thing shows up and the median yearly waste attached to it. Oversized EC2 instances in 46% of accounts. Redundant NAT gateways in another 46%. Unused EKS clusters at a median $876 a year. Every item comes with the CLI commands to check your own account, which is what makes it worth the 18 minutes. Read the breakdown →
Go read your own NodePool with this in mind! And if you have had a cost surprise that no dashboard warned you about, hit reply and tell me. See you next week! 🙏 Tobi & Sandro |
We teach AWS for the real world - not for certifications. Join more than 10,500 developers learning how to build real-world applications on AWS.
⏱️ Reading time: 21 minutes 🎯 Main Learning: Same CloudFront logs: 12.5s through Kinesis, S3, Glue and Athena, about 1s through Tinybird's managed ClickHouse. 📝 Blog Post Hey Reader 👋🏽 We've been running Plausible for the analytics on awsfundamentals.com. Good software, no complaints. We still wanted the data to be ours: our retention, our schema, nobody's script in the visitor's browser. So we built the dashboard ourselves. Twice, on two different backends, fed by the same CloudFront logs....
AWS FOR THE REAL WORLD ⏱️ Reading time: 6 minutes 🎯 Main Learning: One stack, reused for every project. Hono on Lambda, Postgres with Drizzle, a TanStack SPA on S3 and CloudFront, and Better Auth for login. 📝 Blog Post Hey Reader 👋🏽we've build a lot of fullstack applications so far: client projects side projects (this one, shopify apps, etc.) example tutorial apps Over the past few years we switched up tech stacks a lot. That taught us what actually matters in a stack and what is just...
AWS FOR THE REAL WORLD ⏱️ Reading time: 10 minutes 🎯 Main Learning: Wildcards come from the tooling, not from laziness. Put least privilege at the account level and let an agent write the policies. 📝 Blog Post Hey Reader 👋🏽 I have shipped my share of s3:* at unusual hours and told myself I would refactor it later - which obviously never happened 😅 So when someone on r/aws asked why developers can't write least privilege policies and put it down to laziness, I was excited to read through all...