Changing one retry policy in a Step Functions workflow can mean editing the same block of JSON on every Task that uses it. A workflow is defined in the Amazon States Language (ASL), a JSON document of states that name each other, with the logic in expressions. Writing it by hand means wiring every…
Introduction: The Multi-Cloud Dilemma The allure of multi-cloud strategies is undeniable. On paper, adding a second cloud provider to an existing AWS setup promises cost savings, regulatory compliance, and freedom from vendor lock-in. But the reality is far messier. Every perceived benefit comes…
If you write software for a living, the AWS service catalog can feel like a monorepo someone asked you to review in a week. There are hundreds of services, many with similar names, and the console surfaces a few more every time you click. The natural response is to cram, with mnemonics and a…
While working with Amazon EC2, I noticed something interesting about public IP addresses. I launched an EC2 instance and checked its public IP: Public IP: 13.x.x.x Then I stopped the instance and started it again. After restarting, I noticed that the public IP had changed: Old IP: 13.x.x.x New IP…
Email fixtures are easy to add to a CI job and surprisingly hard to operate after that job becomes part of a release process. A test can pass while the fixture is still readable, a retry can reuse an old inbox, or a cleanup step can fail after the green check has already been reported. For cloud…
TL;DR: The write path does exactly three things: validate the request without touching the network, mint a code, and write the link and its optional idempotency record in one DynamoDB transaction . A retry with the same Idempotency-Key returns the original link; the same key with a different body…
TL;DR: The redirect path serves almost every click from cache, so the cache has to be right about two things: a new link must be visible on its first click, and a deleted link must never come back. Both come down to what a cache record holds and how it is written. Three timestamps, not one TTL. A…
TL;DR: mol.la is an open-source URL shortener I built in Go on AWS. The design target is 100 million new links a month with a 100:1 read-to-write ratio, a p99 redirect under 50 ms at the edge, and 99.9% availability for the redirect path. The whole design follows three rules. First, the redirect…
tf-nag is an offline Python CLI that checks Terraform plan or state JSON against the tf-nag AWS Solutions rules. It does not contact AWS. Rule IDs and severity levels are derived from the upstream AWS Solutions pack: https://github.com/cdklabs/cdk-nag . cdk-nag's Rules and Packs are in turn derived…
If you have a Node.js application running locally, you can deploy it on an AWS EC2 server and make it accessible through the internet. In this guide, we will: Create an AWS EC2 instance Connect to the server using SSH Install Node.js Run a Node.js application Use PM2 to keep the application running…