The engineering bottleneck with assembled stacks
Analysts cron a laptop script against a production database because it works until it visibly does not: the laptop sleeps through a run, the source schema changes silently, and the published numbers are wrong for a week before anyone’s dashboard looks odd. The script’s author becomes infrastructure, with a bus factor of one and a vacation schedule.
Architecture on the Software Lifecycle Cloud
A workflow on a cron trigger starts the extract worker, which reads sources with credentials held as project secrets, validates each record, and writes good rows to staging tables. A second step promotes validated batches into the published tables and records the run summary. Rejected records land in a failures table with the rule they broke — data quality becomes a queue somebody owns, not a surprise in a chart.
Validation failures are output, not errors
A pipeline that only publishes successes teaches the business to distrust every number slightly. Publishing the failure count and the offending rows beside the result teaches the opposite: consumers see coverage (“98.2% of orders made it; here are the 41 that did not and why”), and the owners of the source data get a precise, recurring fix-list instead of a quarterly reckoning.
- The run record — started, rows, rejects, duration — is a table row per run, trendable over time
- Source credentials are project secrets; the departing analyst’s laptop holds nothing
- Published tables feed product features and analytics from the same declaration
Scale honesty
This pattern moves and validates product-scale data: nightly extracts, partner feeds, operational synchronisation. Warehouse-scale ELT over billions of rows belongs in tools built for it — and can still land its outputs here for the product to serve. Choosing the boundary by volume, in the open, is the engineering judgement the page can help with but not make for you.
Frequently asked questions
As workflows with cron triggers declared in stack.json, starting workers that do the extracting. The schedule is a reviewed line in the project, visible to everyone — not a crontab on a machine nobody remembers.
Staging isolates the damage: partial batches stay in staging tables, the run record shows where it stopped, and published tables keep serving the last good batch. A rerun is safe because promotion is a distinct step.
They read the published tables through the same project surfaces the product uses, or scheduled exports into files. The failures table is theirs too — most analyst trust is earned right there.
Related capabilities, architectures, and comparisons
Ship your stack on the Software Lifecycle Cloud.
Closed preview on dedicated European infrastructure. Bring a repository or start from a blueprint.