Skip to content
Available for work
Adam

Blog

Posts

aws
01Jun 11, 2026 · 5 min read

The Layer Under Everything - AWS IAM, VPCs, and Networking

The most recent stop on my AWS journey. IAM roles and least privilege, then the VPC fundamentals - subnets, route tables, gateways, and security groups - that finally explained why my ECS task couldn't reach the internet.

aws
02Jun 3, 2026 · 5 min read

Running My Containers in the Cloud - AWS ECS and Fargate

Where I am right now in my AWS journey: taking the Docker images I built earlier and running them on ECS. Task definitions, services, Fargate vs EC2, and wiring up a load balancer.

aws
03May 21, 2026 · 5 min read

Starting My AWS Journey with S3 - Object Storage Done Right

My first deep dive into AWS. What object storage really is, how buckets and keys work, storage classes, presigned URLs, and securing a bucket so I don't end up in a data-breach headline.

cicd
04May 8, 2026 · 4 min read

Building a CI/CD Pipeline I Actually Trust

From manual SSH deploys to automated GitHub Actions: testing, building images, pushing to a registry, and shipping safely with rolling and canary deploys.

system-design
05Apr 25, 2026 · 4 min read

Designing for Scale - Statelessness, Load Balancing, and the CAP Theorem in Practice

The fundamentals of horizontal scaling: why stateless services are the key, how load balancing and replication actually work, and the trade-offs CAP forces you to make.

observability
06Apr 12, 2026 · 4 min read

Observability: Logs, Metrics, and Traces - Debugging Things I Can't See

Once my system went event-driven, print-debugging died. Here's how I learned the three pillars of observability and instrumented my services with OpenTelemetry.

kafka
07Mar 30, 2026 · 5 min read

Understanding Apache Kafka - Topics, Partitions, and Why the Log Is Everything

My deep dive into event streaming: how Kafka actually stores data, what consumer groups do, and how I reasoned about ordering, replication, and exactly-once delivery.

redis
08Mar 17, 2026 · 4 min read

Redis and the Art of Caching Without Lying to Your Users

Cache-aside, TTLs, eviction policies, and the cache stampede that took down my dev environment until I learned about locks.

postgresql
09Mar 4, 2026 · 3 min read

How I Stopped Writing Slow Queries - A Deep Dive into PostgreSQL Indexes

EXPLAIN ANALYZE became my best friend. Composite indexes, covering indexes, and the day I turned a 2.3s query into 4ms.

docker
10Feb 20, 2026 · 4 min read

Learning Docker - From 'It Works on My Machine' to Reproducible Builds

My first real dive into containers - what an image actually is, why layers matter, and how multi-stage builds cut my image from 1.2GB to 180MB.