The Cloud Digest
Latest from the cloud, DevOps and AI world. Global coverage, updated hourly.
Cloud
You Don't Need Kubernetes to Become a DevOps Engineer: The Learning Path I Wish I Had
There is a specific kind of imposter syndrome that shows up early in a DevOps career. It usually...
Your Linux Server Has 65,000 Ports. How Many Are Actually Exposed?
The hidden gap between listening sockets, binding interfaces, Docker NAT bypasses, and true...
Building a Secure "Personal Gemini Journal" — Gen AI Academy APAC C3
Submission for the Google Cloud x Hack2Skill Ideathon Challenge: Build a Secure "Personal Gemini...
What I Wish I Knew in My First Year as a Cloud Associate
I spent my first year as a cloud associate learning things the slow way, mostly by causing small...
Lambda MicroVM Architecture: A Deep Dive into Strengths, Limitations, and Real-World Patterns
Introduction When AWS Lambda processes your function invocation, something remarkable...
Multi-Cloud Sounded Like Insurance Until We Paid the Premium
The decision was made in a room I was in, and I did not object at the time. A single provider felt...
DevOps
Four Debian 13 Boxes, One Brief: 1,923 Packages on Metal, 328 in the Cloud
The same Debian 13 on a laptop and on AWS, GCE and Azure. The cloud images ship 328-350 packages against 1,923 on metal, no firmware package at all, and no tool to read the NVMe they all boot from. Each machine was then given the same brief and asked to analyse itself. Three of them agreed. The fourth found a partition table its own resize had broken.
Nobody Checks Whether the Guardrail Is Running
Every AI-and-engineering post right now is about adding a guardrail. Lint rules the agent can't...
Stop rebuilding from scratch: cache Docker layers on Cloud Build
Cloud Build runs on ephemeral workers, so your Docker cache vanishes on every run. Here's how to persist it in Artifact Registry with BuildKit's registry cache — uv stops re-downloading dependencies, builds get faster, greener and cheaper.
I trained my AI agent to burn less money. Here's what actually worked.
A few months ago I became convinced my AI assistant was bleeding money through incompetence. It felt...
The Desktop Looked Right: 2,093 Parse Errors a Boot, and 10.9 Seconds That Weren't Doing Anything
A Debian desktop that looked and behaved correctly was throwing 2,093 CSS parse errors per boot and spending 10.9 seconds of a 39-second boot waiting on nothing. Neither is visible on screen. Both are in the journal, and both were introduced by the script that was supposed to set the machine up.
You Don't Need Kubernetes to Become a DevOps Engineer: The Learning Path I Wish I Had
There is a specific kind of imposter syndrome that shows up early in a DevOps career. It usually...
AI
Future AWS Agent Engineer? I Didn't Write the Code. Does It Count?
A few weeks ago I wrote about hitting ReAct in the coursework and having a record scratch moment,...
Scoping Permissions with RBAC and Data Access Control at the AI Gateway
I work in the California courts. Courtroom operations, county level. Part of that job is deciding...
AWS Has Two Iceberg REST Catalogs: What Each One Actually Serves
Glue and S3 Tables both implement the Apache Iceberg REST catalog specification. One identical request suite against both shows the same totals and thirteen behavioural differences, including two that require opposite things of the same drop request.
The AI Engineering Team: Rethinking the Software Development Lifecycle on AWS
Artificial Intelligence is changing software engineering faster than most of us expected. And...
Deploy to EC2 from GitHub Actions without opening port 22
Use AWS SSM Run Command instead of SSH in your CI/CD pipeline. No inbound port 22, no long-lived private key in your repo secrets.
Bin packing Firecracker microVMs for GitHub Actions runners.
A while back a colleague introduced our team to terraform-aws-github-runner. Cool project, job...
Weekly Cloud Digest
The 5 best cloud roles and top stories, every week.