|
AWS FOR THE REAL WORLD
⏱️
Reading time: 10 minutes
🎯
Main Learning: Every convenience layer AWS built on ECS is dead or dying, while ECS itself has not
changed since 2014. Build on the primitive, and make the layer above it prove itself first.
Hey Reader 👋🏽 Getting started with an AWS service often feels more complicated than it should.
So, the fancy CLI that promises to do all of it for you is tempting. One thing we learned the hard way: learn the primitives once and skip the convenience layer. I (Sandro) learned that with the first thing I ever built on AWS. A mobile app called Deposur (here is an old tweet I've found). It was a full-stack mobile app to track your investments like ETFs or stocks. I used the Amplify v1 CLI for that. It worked great. Amplify generated the whole GraphQL API and DynamoDB schema for me. The issue back then was that there was no way to get out of it. It was very opinionated about things. If you had an issue with a CloudFormation deployment or with some generated path, you were mostly stuck. Newer Amplify versions are much better about that now. I'd still only use the main services! Especially with AI. It is so easy to get in-depth explanations of what each service configuration is doing. Learn it once, apply it forever. That is what today's deep dive is about. Tobi keeps a list of every layer AWS built on top of ECS. Most of it is dead or dying. Sponsored by Trigger.dev. The words are Sandro's own.
That's it for this issue. If you take one thing away: when something on AWS promises to make a service easier, check what sits underneath it first. Build on that. Let the layer above it prove it survives before anything production-critical depends on it. And if you are still running on Copilot or Proton: the task definitions and services are still there. You are closer to plain ECS than it feels. See you in the next one! Sandro & Tobi |
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: 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. 📝 Blog Post Hey Reader 👋🏽 Important off topic things first: Sandro got married! 🎉We were in Munich for it and it was a fantastic day! ☀️Highly recommend a wedding over sprint planning or fighting with AWS...
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...