Course Pass 8: Durable
data pipeline and training run as workflows (CorpusBuild, TrainRun, EvalSuite) on their durable engine; durable and worker charts with KEDA; control-plane traces. About 4.5 weeks at 10 to 12 hours a week.
Part of: the course. Needs: Pass 7.
Gate: MS-P8 = MS-durable.
Stages, chapter links, and check columns are in path.tsv. Use practice/bin/ol learn course-p08-p08-durable to see progress.
Stages
Section titled “Stages”Generated from path.tsv. Track progress locally with practice/bin/ol learn.
| Stage | Read | Done when |
|---|---|---|
| 1 | Append-only segmented event log Append-only segmented event log | Your implementation of dur.01 passes its course checks. |
| 2 | Task queue: visibility timeout, fenced leases, retries to DLQ, long poll Task queue: visibility timeout, fenced leases, retries to DLQ, long poll | Your implementation of dur.03 passes its course checks. |
| 3 | Workflow service + idempotent start, describe, list, paged history Workflow service + idempotent start, describe, list, paged history | Your implementation of dur.02 passes its course checks. |
| 4 | Task gRPC protocol, Go worker SDK, worker pool Task gRPC protocol, Go worker SDK, worker pool | Your implementation of dur.04 passes its course checks. |
| 5 | Activities: retries, backoff + jitter, timeouts, heartbeats, idempotency keys Activities: retries, backoff + jitter, timeouts, heartbeats, idempotency keys | Your implementation of dur.05 passes its course checks. |
| 6 | Deterministic replay workflows, ContinueAsNew, history paging, payload limits Deterministic replay workflows, ContinueAsNew, history paging, payload limits | Your implementation of dur.06 passes its course checks. |
| 7 | Durable timers and the test clock Durable timers and the test clock | Your implementation of dur.07 passes its course checks. |
| 8 | Signals, cancellation, sagas (compensation) Signals, cancellation, sagas (compensation) | Your implementation of dur.08 passes its course checks. |
| 9 | Subprocess activity runner (Go) and the Python activity helper Subprocess activity runner (Go) and the Python activity helper | Your implementation of dur.09 passes its course checks. |
| 10 | Pipeline as a durable workflow CorpusBuild Pipeline as a durable workflow CorpusBuild | Your implementation of data.09 passes its course checks. |
| 11 | Platform workflows TrainRun and EvalSuite Platform workflows TrainRun and EvalSuite | Your implementation of dur.11 passes its course checks. |
| 12 | Durable and worker images and charts: WAL PVC, StatefulSet, KEDA autoscaling of workers Durable and worker images and charts: WAL PVC, StatefulSet, KEDA autoscaling of workers | Your implementation of dep.06 passes its course checks. |
| 13 | Observability for the control plane: workflow and activity spans, queue and DLQ panels Observability for the control plane: workflow and activity spans, queue and DLQ panels | Your implementation of obs.05 passes its course checks. |
| 14 | Resilience tests (R10) Resilience tests (R10) | Your implementation of craft.21 passes its course checks. |
| 15 | The durable server is SIGKILLed in a loop during a corpus build The durable server is SIGKILLed in a loop during a corpus build | You complete the drill and its resolve check passes. |
| 16 | A poison task lands in the dead-letter queue A poison task lands in the dead-letter queue | You complete the drill and its resolve check passes. |
| 17 | Milestone durable Pass 8 milestones | The MS-durable gate passes for your system. |
| 18 | Milestone P8 Pass 8 milestones | The MS-P8 gate passes for your system. |
| 19 | Raft HA for the durable log (optional) Raft HA for the durable log (optional) | Your implementation of dur.10 passes its course checks. |
| 20 | Milestone durable-ha Pass 8 milestones | The MS-durable-ha gate passes for your system. |