Warehouse cost, migration math, and platform engineering, written down.
Posts about real engagements — the patterns we see, the math we run, what worked, what didn't. Methodology, not war-stories. Published here first, syndicated to Medium / Hashnode / Dev.to with canonical pointing home.
Why Datadog Watchdog isn't deflecting your pages
Datadog Watchdog's anomaly detection fires on statistical outliers in your metric streams. When 30-60% of your resources are untagged and your service map is stale, Watchdog learns the noise and perpetuates it. Here is what to fix before touching a single threshold.
AIOps readiness: 7 checks before you deploy
Seven dimensions to score before you deploy an AIOps tool — telemetry coverage, tag hygiene, alert signal-to-noise, runbook maturity, on-call ownership clarity, incident loop closure, and vendor fit. Score yourself before a vendor does.
The real prerequisite for AIOps
Most vendor readiness assessments for AIOps point at licensing gaps and product modules. The actual blocker is an observability foundation problem — tag hygiene, ownership mapping, telemetry coverage — that no amount of licensing fixes.
Why your Reserved Instance coverage report lies about T-family instances
AWS Cost Explorer's aggregate RI coverage metric rolls up all instance families into one number — which means burstable T3/T4g workloads inflate your reported coverage even when your compute-optimised fleet is completely unprotected.
Audit assume-role chains before you audit bucket policies
S3 bucket policies are the most-audited control in AWS security reviews. The more dangerous exposure is the assume-role chain that grants a CI/CD pipeline or EKS service account the ability to reach those buckets through a sequence of role hops that no single policy document shows.
Snowflake auto-suspend at 60s is right for half your warehouses
Snowflake's default auto-suspend of 600 seconds is expensive for interactive query warehouses. But dropping every warehouse to 60 seconds introduces resume latency that breaks ETL SLAs. The right setting varies by workload type and query gap distribution.
Cloud cost visibility is a solved problem. Ownership isn't.
Every mid-market engineering organisation has a cost dashboard. Bills keep growing anyway. The bottleneck is not visibility — it is the absence of a named human accountable for each cost line, and the absence of a workflow that closes the loop between a cost finding and a code change.
The BigQuery Teardown: Seven Query Patterns That Explained Most of a $1.2M Bill
A six-week audit, one D2C warehouse, and the seven faces of the same antagonist — every dollar found in the audit was a dashboard inheriting a developer habit nobody had time to question.
Cost Per Query Is the Only Warehouse Metric Your CFO Should See
A short essay on the dashboard that should replace your FinOps slide — one metric, three platforms, the SQL to compute it, and the governance model that survives contact with finance.
When Snowflake to BigQuery Migration Is the Wrong Answer
A contrarian post from a team that sells migrations — the 5-year payback math, the five fixable patterns most projections miss, and the one signal that means migration actually is the right call.
BigQuery vs Databricks: A Technical Comparison
Engineering comparison of BigQuery and Databricks. Architecture, storage, compute, pricing economics, and a worked cost projection across three workload shapes. The honest answer on which fits your stack.
The 12 SQL Translation Failures That Will Eat Your BigQuery to Databricks Migration Sprint
Part 2 of 3. Real before/after code for the dialect translation gotchas that turn a 'two-week port' into a six-week one — date_trunc argument order, ambiguous columns in nested CTEs, INFORMATION_SCHEMA differences, the translator-pass mental model, and the regex patterns that automate the bulk of the work.
The Cutover Playbook: Staged Waves, Dry-Runs, and Catching the Legacy 2nd-Writer Before It Eats Your Weekend
Part 3 of 3. The operational playbook for a BigQuery to Databricks cutover on a real workload — staged wave plan, dedup losers, second-writer detection, the DRY_RUN green but TABLE_OR_VIEW_NOT_FOUND in PROD gotcha, and the federation question.
Why Every Team in Your Company Gets Different Numbers from Your Warehouse
Part 1 of 2. The 4-teams-4-definitions problem — same metric, different numbers, all of them technically correct. The matrix of intentional vs unintentional divergence, why semantic layers usually fail to solve it, and the star-schema-with-flags pattern that does.
Building the Base Layer: Star Schema, Pre-Computed Flags, and Why Dimension Attributes Don't Belong in Your Fact Table
Part 2 of 2. The actual build — what goes in dim_merchant vs fact_transactions, why partitioned-by-date and clustered-by-merchant beats every alternative, the boolean flag pattern that replaces 'test order exclusion' duplicated in 10 scripts, and the 4-phase rollout for 800+ existing analytics jobs.
What an honest pre-migration assessment finds in a 6-month-old data warehouse
The categories of waste, drift, and risk that a thorough pre-migration assessment surfaces every time — and the deterministic methodology behind each finding. No client identifiers, no hypothetical horror stories.
Redshift to Snowflake migration: a step-by-step cost and DDL playbook
An honest TCO frame and the DDL-level translation gotchas that break the timeline. The methodology Replatform runs in pre-migration discovery, with no client identifiers.
Run the FinOps Quick-Check — 2 min, no email.
Six questions about your cloud spend and platform mix. The estimator runs entirely in your browser. Output is a monthly waste range plus the named levers. We bias toward under-estimating — a real audit usually finds more.
Start the Quick-Check