⚡
CLOUD BREW · 60-SECOND PERSPECTIVES
Tharun Vempati Written by Tharun Vempati

Cloud Brew / Espresso-Sized Engineering Perspectives

Not every production lesson needs a 3,000-word tutorial. These are my short, opinionated takes on Cloud Architecture, Kubernetes, Zero-Trust Security, and AI Systems—crafted to read in 60 seconds and share directly on LinkedIn.

Showing all 4 shots
Topic:
AI & Agents 1 min shot
·

Why AI Coding Agents Fail in Production: It's the Harness, Not the Model

Whenever an AI coding agent gets stuck in an edit-test loop or accidentally wipes a configuration file, the first instinct in most engineering meetings is to ask: “Should we switch to a bigger model?”

After digging into how production coding agents actually operate, I’ve come to the opposite conclusion: the model is rarely the bottleneck anymore.

A frontier model on its own is just a stateless text generator. What turns it into an engineering agent is the harness—the runtime layer governing:

  • Which tools the model can invoke and with what schema validation
  • How terminal output and stack traces are truncated before polluting the context window
  • When a destructive command hits a hard permission gate before execution
  • How state recovers when a shell command hangs or a file diff fails to apply

Give a mediocre harness the best model in the world and it will still hallucinate file paths and burn tokens in retry loops. Give a disciplined, well-bounded harness a fast mid-tier model and it will ship clean PRs all day.

The Takeaway

Swapping LLM weights gives you marginal gains; engineering deterministic tool boundaries, context pruning, and execution guardrails delivers 90% of production reliability.

#AIAgents #PlatformEngineering #SoftwareArchitecture #LLM #DevOps
Share Link
Security & TLS 1 min shot
·

90% of Zero-Trust mTLS Outages Have Nothing to Do With Cryptography

Nobody gets paged at 2:00 AM because elliptic-curve cryptography suddenly failed.

Teams get paged at 2:00 AM because an intermediate CA rotated, a Java service cached the old truststore.jks in memory without a reload hook, or a Kubernetes Secret updated on disk while Envoy or Spring Boot kept serving the expired leaf certificate.

When we design mTLS architectures, we spend 80% of our design review debating cipher suites and key lengths, and only 20% testing how workloads reload credentials under live traffic.

Flip that ratio:

  1. Shorten leaf lifetimes to days, not years. A 7-day or 30-day certificate parsed by cert-manager forces your reload path to run every week while the team still remembers how it works.
  2. Decouple trust bundles from container images. If rotating a root CA requires rebuilding a Docker image, you don’t have automated PKI—you have a ticking outage clock.
The Takeaway

Treat certificate rotation as a continuous chaos test—if your cert lifetime is 365 days, your renewal pipeline is untested in production by definition.

#Kubernetes #ZeroTrust #mTLS #CyberSecurity #SRE
Share Link
Cloud & Data 1 min shot
·

Stop Treating Cloud Composer (Airflow) Like a Data Processing Engine

One of the most expensive anti-patterns I see in Google Cloud data platforms is teams scaling up Cloud Composer (Apache Airflow) worker nodes because their DAGs keep failing with OOMKilled.

When you inspect the DAG code, the culprit is almost always the same: a PythonOperator pulling 5 million rows into a Pandas DataFrame in memory, transforming it on the Airflow worker, and writing it back out.

Airflow is an air-traffic controller, not a cargo plane.

The control tower’s job is to trigger flights, track dependencies, handle retries, and alert when a runway is blocked—not carry the luggage on its own back.

In a healthy GCP data architecture:

  • Cloud Composer / Cloud Workflows sends lightweight API calls and waits on sensors.
  • BigQuery + Dataform handles SQL transformations inside Google’s petabyte shuffle engine.
  • Dataflow / Cloud Run Jobs handles custom streaming or heavy non-SQL processing.

The moment you remove data payloads from your orchestrator, your Composer cluster shrinks to a fraction of the cost—and your DAG reliability jumps overnight.

The Takeaway

Airflow is the air-traffic controller, never the cargo plane—keep orchestrator tasks stateless and push every byte of compute to BigQuery, Dataform, or Dataflow.

#GoogleCloud #DataEngineering #ApacheAirflow #BigQuery #CloudArchitecture
Share Link
Kubernetes & OpenShift 1 min shot
·

Namespaces Are Not Security Boundaries in Kubernetes

“Don’t worry, that service runs in its own namespace.”

Every platform engineer has heard this phrase in an architecture review. And in vanilla Kubernetes, it is one of the most dangerous misconceptions in cloud-native security.

By default, Kubernetes uses a flat pod network. Unless your CNI enforces network policies, a compromised pod in namespace-marketing-dev can open a direct TCP connection to a database or internal API in namespace-payments-prod using nothing more than its cluster IP or DNS name.

A Namespace is just an API naming scope—not a firewall.

If you want real tenant or environment boundaries inside a shared cluster, every namespace provisioning template needs three non-negotiable defaults on Day 1:

  1. A default-deny ingress & egress NetworkPolicy that blocks all cross-namespace traffic unless explicitly allow-listed.
  2. ResourceQuota and LimitRange so a runaway deployment in one namespace cannot starve node CPU/memory for neighbors.
  3. Dedicated ServiceAccount bindings with automountServiceAccountToken: false wherever pods don’t talk to the Kubernetes API.
The Takeaway

A vanilla Kubernetes Namespace is just an organizational folder until you lock it down with default-deny NetworkPolicies, ResourceQuotas, and least-privilege ServiceAccounts.

#Kubernetes #OpenShift #CloudNative #DevSecOps #PlatformEngineering
Share Link