Learning Platform
Глоссарий Troubleshooting
Урок 08.07 · 90 мин
Продвинутый
LabEvidence PipelineGE 1.17.1OpenLineageJira webhookS3 Object LockDocker ComposeArchitecture

Введение

6 уроков M7 покрыли типы evidence (M7.1), сбор (M7.2), OpenLineage trail (M7.3), управление замечаниями (M7.4), цикл attestation (M7.5), дашборды (M7.6). Лаб — практический синтез: вы как CDO Office SwiftRide T+10M строите evidence pipeline для CDE-SWR-003 (driver_earnings_ledger) end-to-end. Архитектурные решения, список компонентов, план развёртывания, self-check.

Лаб — doc-centric (обязательный). Вывод — документ архитектуры evidence pipeline Markdown / YAML с 7 секциями: (1) архитектурное решение; (2) список компонентов + обязанности; (3) схема данных (evidence-schema-v1); (4) план развёртывания; (5) operations runbook; (6) критерии self-check; (7) opt-in docker-compose setup. Big 4 Q4 walkthrough оценивает артефакт напрямую.

Inputs

  • M7.1 типы evidence — 6 IPE-атрибутов + иерархия надёжности
  • M7.2 evidence pipeline — 5-стадийная архитектура (engine → emitter → store → attestation → auditor)
  • M7.3 OpenLineage trail — RunEvents + DatasetEvents + Marquez backend + S3 archive
  • M7.4 управление замечаниями — 6-стадийный workflow по severity; SLA tiers
  • M7.5 цикл attestation — 28-дневный квартальный ритм; sign-off обязателен 3 секции
  • M7.6 дашборды — виды по аудиториям; CDO операционный + Audit Committee стратегический + External Auditor evidence

Плюс из предшествующих модулей:

  • M4.5 реестр — запись CDE-SWR-003 с owner, lineage refs, control refs
  • M5.9 controls matrix — CTL-CDE-SWR-003-001..008 (8 контролей)
  • M2.7 реестр рисков — записи R-DE-001..008, связанные с контролями

Workflow лаба

Workflow M7 Lab — 7 шагов к evidence pipeline

Последовательный синтез; inputs из M7.1-M7.6; вывод документ архитектуры evidence pipeline + план развёртывания + opt-in docker-compose.

1. РешениеШаг 1 — архитектурное решение: GE 1.17.1 vs Soda 4.0 vs оба
2. КомпонентыШаг 2 — список компонентов + обязанности; per-stage чёткое владение
3. СхемаШаг 3 — evidence schema v1 — форма JSON по IPE-атрибутам
4. ДеплойШаг 4 — план развёртывания: AWS аккаунты, IAM, KMS, networking
5. ОперацииШаг 5 — operations runbook: реагирование на инциденты, верификация evidence, retention
6. Self-checkШаг 6 — self-check против 6 категорий критериев
7. Opt-inШаг 7 — opt-in docker-compose для локальной разработки + тестирования

Шаг 1 — Архитектурное решение

Требуемое решение: GE 1.17.1 / Soda Core 4.0 / оба?

Матрица решения:

КритерийGE 1.17.1Soda Core 4.0Оба
Выразительность правилСильная — 50+ встроенных expectations; Python extensionСильная — SodaCL DSL contract-firstМаксимальное покрытие
Lineage правилGit-versioned expectations YAMLGit-versioned contracts YAMLПрименимо оба
Схема выводаvalidation_result.json + Data Docs HTMLscan_results.jsonДва формата требуют нормализации
Стоимость инструментарияOSS Core; коммерческий GX Cloud отдельноOSS Core; коммерческий Soda CloudMaintenance overhead 2x
Знакомство команды SwiftRidePilot SwiftPay 2024-2025 — production experienceНовее; меньше внутреннего опытаСмешанное
Cloud интеграцияS3 + Snowflake battle-testedSnowflake + cloud-agnosticОба
Contract-firstНет (expectations standalone)Да (contracts первичный артефакт)Soda для контрактов
Anomaly detectionОграниченная (ручные пороги)Ограниченная (rule-based)Добавить Anomalo отдельно

Решение SwiftRide (T+10M):

architecture_decision:
  primary_engine: "Great Expectations 1.17.1"
  rationale: |
    Production experience GE из pilot SwiftPay 2024-2025;
    знакомство команды; rich expectation library; Data Docs HTML
    позволяет stakeholder review без отдельного слоя визуализации.
  
  supplementary_engine: "Soda Core 4.0 (только контракты)"
  supplementary_rationale: |
    Паттерн Soda contracts для cross-system data contracts
    (Aurora → Snowflake сверка); contract-first paradigm
    enforces явный type/null/uniqueness; дополняет GE
    для ad-hoc валидации значений.
  
  anomaly_detection: "Anomalo (pilot Q4 2026)"
  anomaly_rationale: |
    Детекция unknown-unknowns ML-based; дополняет
    rule-based GE/Soda; pilot для CDE-SWR-019 атрибуция SwiftAds
    (ожидается высокий false-positive нормализующий).

  rejected_alternatives:
    - "Только Soda Core 4.0 — потребовалось бы портировать все expectations GE SwiftPay; 6-месячная стоимость миграции"
    - "Оба равно — operational overhead поддержки 2 engines; capacity команды не поддерживает"
    - "Build custom — антипаттерн (M7.2); нет leveraging community rules"

Шаг 2 — Список компонентов

Матрица компонентов:

КомпонентСтадияTechAWS resourceВладение
GE Checkpoint runnerEnginePython 3.13 + GX Core 1.17.1Lambda swr-ge-runnerData Platform Team
Репозиторий GE expectationsEngineGitgithub.com/swiftride/dq-expectationsData Engineering + Risk Function review
Репозиторий Soda contractsEngineGitgithub.com/swiftride/dq-contractsData Engineering + Risk Function review
Soda scan runnerEnginePython 3.13 + Soda Core 4.0Lambda swr-soda-runnerData Platform Team
Evidence emitterEmitterPython 3.13Lambda swr-evidence-emitterData Platform + Audit
KMS signing keyEmitterAWS KMSalias/swr-evidence-signing-keySecurity Team
KMS encryption keyEmitterAWS KMSalias/swr-evidence-encryption-keySecurity Team
OpenLineage Kafka topicEmitterMSK Kafkaopenlineage.runs (3-broker)Data Platform
Marquez backendEmitterPostgreSQL + ECSmarquez-prod в swr-prodData Platform
Marquez Kafka consumerEmitterMarquezРазмещён вместе с MarquezData Platform
Evidence archive Kafka consumerStoreLambdaswr-evidence-archive-consumerData Platform
S3 evidence bucketStoreS3 + Object Lock Complianceswr-evidence-prod-cde-evidenceAudit + Security
S3 OpenLineage archive bucketStoreS3 + Object Lockswr-evidence-prod-openlineage-archiveAudit + Security
Snowflake evidence indexStoreSnowflakeaudit.evidence_indexAudit + Data Platform
Jira issue trackingIssue mgmtJira Cloudswr.atlassian.netEngineering + Audit
PagerDuty alertingIssue mgmtPagerDutyservices: data-tier1, data-tier2On-call rotation
Workiva attestationAttestationWorkivaswr.wdesk.comRisk Function + Audit
Looker CDO dashboardReportingLookerdashboard.looker.swr.internalCDO Office
Hex Audit Committee reportReportingHexhex.swr.internalAudit + CDO

Шаг 3 — Evidence schema v1

Обязательная JSON-схема для всех evidence payload. Согласно нормализованной схеме M7.2.

{
  "$schema": "https://swr.io/schemas/evidence-v1.json",
  "evidence_version": "1.0",
  "evidence_id": "ev_2026091506000000_ctl-cde-swr-003-002",
  "timestamp_utc": "2026-09-15T06:00:00.523Z",
  "control_id": "CTL-CDE-SWR-003-002",
  "cde_id": "CDE-SWR-003",
  "engine": {
    "tool": "great_expectations",
    "version": "1.17.1",
    "run_id": "ge-uuid-...",
    "expectation_suite_version": "v3.2.0",
    "expectation_suite_git_sha": "a3f7b2c4e5d1..."
  },
  "input_state": {
    "dataset_fqn": "snowflake.dl_marts.fct_driver_earnings",
    "snapshot_at": "2026-09-15T05:59:00Z",
    "snapshot_pointer": "snowflake_time_travel:2026-09-15T05:59:00Z",
    "input_hash": "sha256:7f3a..."
  },
  "rule": {
    "rule_id": "expect_column_values_to_be_between",
    "rule_logic_version": "v3.2.0",
    "thresholds": {
      "column": "gross_earnings_usd",
      "min_value": 0,
      "max_value": null
    }
  },
  "observed_values": {
    "element_count": 1238450,
    "unexpected_count": 0,
    "unexpected_percent": 0.0
  },
  "result": "pass",
  "exception": null,
  "lineage_event_id": "openlineage-uuid-...",
  "execution_metadata": {
    "runner_identity": "system:swr-ge-runner",
    "runtime_seconds": 4.821,
    "aws_account": "swr-evidence-prod",
    "aws_region": "eu-west-1"
  },
  "signature": {
    "algorithm": "HMAC-SHA256",
    "key_id": "alias/swr-evidence-signing-key",
    "value": "hex-of-hmac-..."
  }
}

Форма failed run:

{
  ...
  "result": "fail",
  "exception": {
    "incident_id": "DE-1547",
    "severity": "SEV-2",
    "detected_at": "2026-09-15T06:00:00.523Z",
    "compensating_control_activated": null,
    "regulatory_clock_started": null
  },
  ...
}

Closure update (связанная запись, не overwrite):

Когда инцидент DE-1547 закрыт, эмит’ится отдельная запись закрытия:

{
  "evidence_version": "1.0",
  "evidence_id": "ev_closure_de-1547",
  "timestamp_utc": "2026-09-16T10:00:00Z",
  "type": "incident_closure",
  "incident_id": "DE-1547",
  "original_evidence_ids": ["ev_2026091506000000_ctl-cde-swr-003-002"],
  "closure_status": "resolved",
  "closure_timestamp": "2026-09-16T10:00:00Z",
  "rca_url": "wiki.swr.internal/post-mortems/de-1547",
  "preventive_actions": [
    "Добавлен мониторинг replication lag Aurora (CTL-NEW-OPS-012)",
    "PR #4528 merged 2026-09-16; soak-период 30 дней"
  ],
  "preventive_soak_complete": false,
  "preventive_soak_completes_estimated": "2026-10-16T10:00:00Z",
  "signature": {...}
}

Original evidence + closure record оба сохранены в S3 Object Lock; связаны через original_evidence_ids и incident_id. Реконструкция аудита — запрос обеих связанных записей.

Шаг 4 — План развёртывания

Структура AWS-аккаунтов:

swr-prod (существующий операционный):
  - GE/Soda runners (Lambdas)
  - Snowflake (запрашиваемый evidence_index)
  - Looker/Hex дашборды

swr-evidence-prod (новый, выделенный):
  - Evidence emitter Lambda
  - KMS keys (signing + encryption)
  - S3 evidence bucket (Object Lock Compliance Mode 7 лет)
  - S3 OpenLineage archive bucket
  - MSK Kafka cluster
  - Marquez ECS service + Aurora PostgreSQL

swr-logging-prod (существующий):
  - CloudTrail logs
  - S3 access logs

IAM-роли:

roles:
  swr-ge-runner-role:
    permissions:
      - "lambda:InvokeFunction"
      - "snowflake:Read on dl_marts.fct_driver_earnings"
      - "sns:Publish openlineage.runs"
      - "kms:Encrypt"
    deny:
      - "s3:DeleteObject"
  
  swr-evidence-emitter-role:
    permissions:
      - "lambda:InvokeFunction"
      - "kms:Sign на alias/swr-evidence-signing-key"
      - "kms:Encrypt на alias/swr-evidence-encryption-key"
      - "s3:PutObject (с Object Lock metadata) на swr-evidence-prod-cde-evidence"
      - "kafka:Produce openlineage.runs"
      - "snowflake:Insert на audit.evidence_index"
    deny:
      - "s3:DeleteObject"
      - "s3:PutObjectRetention с retention < 7y"
  
  swr-audit-auditor-role:
    permissions:
      - "snowflake:Select на audit.evidence_index + audit.incidents"
      - "s3:GetObject на swr-evidence-prod-cde-evidence (read-only)"
      - "kms:Verify на alias/swr-evidence-signing-key (только verify, не sign)"
      - "kafka:Consume:None"  # нет Kafka доступа; архивированные события читаются через S3
      - "marquez-ui:Read"
    deny:
      - "s3:PutObject"
      - "s3:DeleteObject"
      - "snowflake:Insert/Update/Delete"

Networking:

  • VPC swr-evidence-prod-vpc (eu-west-1; eu-central-1 DR)
  • Private subnets для emitter Lambda + Marquez ECS
  • VPC endpoint S3 (нет интернета для пути хранения evidence)
  • VPC endpoint KMS
  • VPC endpoint Snowflake PrivateLink
  • VPC endpoint Kafka (MSK PrivateLink)

Backup + DR:

  • Cross-region replication S3 eu-west-1 → eu-central-1 (Object Lock реплицируется)
  • Aurora PostgreSQL Marquez nightly backup + PITR 35 дней
  • Tiered storage Kafka в S3 7 дней операционно; archive S3 Object Lock постоянно

Шаг 5 — Operations runbook

Ежедневные операции:

  1. Проверка целостности evidence — Lambda запускается ежедневно 06:00 UTC; samples 100 случайных evidence-записей из предыдущего дня; верифицирует HMAC-подписи; алерт при mismatch.

  2. Здоровье эмиссии OpenLineage — Lambda запускается каждый час; считает события по источнику (dbt / Spark / Airflow); сравнивает с базовой линией; алерт при падении > 30%.

  3. Верификация retention — Lambda запускается еженедельно в воскресенье; samples 100 объектов по бакету; запрашивает head-object retention metadata; алерт на объекты с retention < 7 лет.

Реагирование на инциденты:

  1. Sev-1 сбой evidence pipeline — ошибки emitter Lambda, сбои S3 upload, сбои KMS signing. PagerDuty page; откат к предыдущей версии Lambda; доступен ручной emit скрипт для backfill evidence < 1ч.

  2. Sev-2 пробел эмиссии evidence — падения эмиссии обнаружены (Шаг 5.1); investigate состояние dq engine; backfill из engine output logs (всё ещё доступно S3 raw logs 30 дней).

  3. Audit access provisioning — Big 4 senior associate провижен за 2 недели до audit kickoff; доступ истекает через 30 дней после финализации аудита; audit trail логируется.

Review retention:

  • Квартально Q4 — Risk Function review’ит метаданные retention; обеспечивает все CDE-классифицированные evidence на минимум 7 лет.
  • Годово — Audit Committee проинформирован; legal counsel sign-off на согласование политики retention с регуляторным ландшафтом.

Шаг 6 — Критерии self-check

6 категорий критериев для evidence pipeline; все 6 обязательны pass для audit defensibility.

Критерий 1 — Покрытие IPE-атрибутов

Все 6 атрибутов (M7.1) присутствуют в evidence-схеме:

  • Timestamp UTC ISO 8601 trusted source
  • Версия / хеш датасета присутствуют
  • Rule / Control ID стабильный идентификатор
  • Результат + наблюдаемые значения + пороги
  • Цепочка обработки исключений (при fail)
  • Неизменяемое хранилище + подпись

Критерий 2 — End-to-end восстановимость

Тест retrieval sample:

  • Вытащить evidence_id из audit.evidence_index за дату 90 дней назад
  • Скачать S3 payload
  • Верифицировать HMAC-подпись успешно
  • Пересчитать правило (откат снапшота Snowflake + ручной пересчёт)
  • Совпадение с ожидаемыми наблюдаемыми значениями

Критерий 3 — Покрытие lineage

  • Эмиссия OpenLineage активна per material CDE
  • Column-level lineage включён (DIRECT / INDIRECT / MASKING)
  • Marquez UI запрашиваем (read-only audit role)
  • S3-архив raw событий 7-летний retention

Критерий 4 — Обработка инцидентов

  • Тикеты Jira auto-create на каждый DQ fail
  • Маршрутизация Sev-1 PagerDuty для tier-1 CDE
  • Документы RCA связаны с инцидентами
  • Preventive actions отслеживаются через soak

Критерий 5 — Attestation cycle

  • Workiva connectors пуллят evidence квартально
  • Sign-off Business Owner 3-секционный шаблон (effectiveness + исключения + action items)
  • Review 2-й линии Risk Function обязателен
  • Электронная подпись захвачена OIDC
  • Sign-off архивирован S3 7 лет

Критерий 6 — Отчётность по аудиториям

  • Дашборд CDO Office Looker операционно
  • Отчёт Audit Committee Hex квартально
  • Доступ External Auditor провижен во время audit cycle
  • Нет агрегированных метрик в auditor view (raw evidence access)

Шаг 7 — Opt-in инструментарий: docker-compose

Opt-in (не обязательно). Поднять локальное окружение для валидации end-to-end пайплайна локально.

# docker-compose.yml — SwiftRide evidence pipeline local stack
version: '3.9'

services:
  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: marquez
      POSTGRES_USER: marquez
      POSTGRES_PASSWORD: marquez
    ports: ["5432:5432"]
    volumes:
      - postgres-data:/var/lib/postgresql/data
  
  marquez:
    image: marquezproject/marquez:0.51.0
    environment:
      MARQUEZ_DB_HOST: postgres
      MARQUEZ_DB_PORT: 5432
      MARQUEZ_DB_USER: marquez
      MARQUEZ_DB_PASSWORD: marquez
    ports: ["5000:5000"]
    depends_on: [postgres]
  
  marquez-web:
    image: marquezproject/marquez-web:0.51.0
    environment:
      MARQUEZ_HOST: marquez
      MARQUEZ_PORT: 5000
    ports: ["3000:3000"]
    depends_on: [marquez]
  
  kafka:
    image: confluentinc/cp-kafka:7.6.0
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
    depends_on: [zookeeper]
    ports: ["9092:9092"]
  
  zookeeper:
    image: confluentinc/cp-zookeeper:7.6.0
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
  
  minio:
    image: minio/minio:RELEASE.2025-04-22T22-12-26Z
    command: server /data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: swr-evidence
      MINIO_ROOT_PASSWORD: swr-evidence-local-dev
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - minio-data:/data
  
  ge-runner:
    build: ./ge-runner
    environment:
      OPENLINEAGE_URL: http://marquez:5000
      OPENLINEAGE_NAMESPACE: swr.local
      EVIDENCE_S3_ENDPOINT: http://minio:9000
      EVIDENCE_S3_BUCKET: swr-evidence-prod-cde-evidence
    depends_on: [marquez, kafka, minio]
    volumes:
      - ./expectations:/expectations
  
  evidence-emitter:
    build: ./evidence-emitter
    environment:
      KAFKA_BROKER: kafka:9092
      EVIDENCE_S3_ENDPOINT: http://minio:9000
      EVIDENCE_S3_BUCKET: swr-evidence-prod-cde-evidence
      HMAC_KEY_LOCAL: local-dev-key-not-for-production
    depends_on: [kafka, minio]
  
  jira-mock:
    image: wiremock/wiremock:3.13.0
    command: --port 8080
    ports: ["8080:8080"]
    volumes:
      - ./jira-mock-mappings:/home/wiremock/mappings

volumes:
  postgres-data:
  minio-data:

Локальный workflow разработки:

# Запустить стек
docker-compose up -d

# Инициализировать MinIO bucket с Object Lock (proxy для S3 Compliance Mode)
mc alias set swr-local http://localhost:9000 swr-evidence swr-evidence-local-dev
mc mb --with-lock swr-local/swr-evidence-prod-cde-evidence

# Инициализировать namespaces Marquez
curl -X POST http://localhost:5000/api/v1/namespaces/swr.local \
  -H "Content-Type: application/json" \
  -d '{"ownerName": "swr-data-team"}'

# Запустить GE checkpoint вручную  
docker-compose exec ge-runner python -m run_checkpoint \
  --suite cde-swr-003 \
  --dataset fct_driver_earnings_sample

# Проверить, что evidence сохранён
mc ls swr-local/swr-evidence-prod-cde-evidence/

# Проверить lineage Marquez
open http://localhost:3000/

Validation checklist:

  • GE Checkpoint производит validation_result.json
  • Evidence emitter нормализует к evidence-schema-v1
  • HMAC-подпись применена (local-dev ключ для тестирования)
  • S3 upload через MinIO с Object Lock
  • Событие OpenLineage emit’нуто в Marquez
  • Marquez UI показывает job + run + lineage
  • Тикет Jira создан при fail (через wiremock)
  • Snowflake INSERT воспроизводим (локальный Snowflake mock или ClickHouse substitute)

Типичные ошибки — детально

Ошибка 1 — Ротация KMS-ключа не запланирована

Паттерн: KMS signing key создан; ротация не запланирована.

Impact: Долгоживущий ключ — impact компрометации 7+ лет, если ключ exposed; deficiency аудита PCAOB / SOC 2.

Исправление: Запланировать ротацию 90 дней (KMS auto-rotation); сохранить исторические версии ключа для верификации старых подписей.

Ошибка 2 — S3 Object Lock Governance Mode (не Compliance)

Паттерн: Governance Mode, чтобы разрешить «occasional cleanup».

Impact: Root-аккаунт может обойти (s3:BypassGovernanceRetention); целостность evidence не WORM-гарантирована.

Исправление: Дефолт Compliance Mode; legal hold для критических периодов; легитимная очистка затем legal review согласно AWS guidance.

Ошибка 3 — Lambda timeout для большого evidence

Паттерн: Дефолтный Lambda 3-секундный timeout; эмиссия evidence с большими архивами input_state выходит по таймауту.

Impact: Evidence иногда не emit’ится; пробелы в audit trail; тихие сбои.

Исправление: Lambda timeout 300с для evidence-emitter; alarm на ошибки Lambda > 0.1%; backup S3 PutObject через step function fallback.

Ошибка 4 — Marquez как первичный evidence

Паттерн: Marquez PostgreSQL = хранилище evidence; nightly Aurora backup retention 35 дней.

Impact: PostgreSQL изменяем; Aurora PITR ограничен; 7-летний SOX retention невозможен; первичный evidence под риском при сбое Marquez.

Исправление: S3 raw OpenLineage event archive параллельно с ingestion Marquez (отдельный Kafka consumer); Marquez пересобирается из архива при компрометации.

Ошибка 5 — Snowflake-таблица = первичный evidence

Паттерн: audit.evidence_history Snowflake-таблица = первичная; «Time Travel + permanent table».

Impact: Time Travel максимум 90 дней; permanent table изменяема; DBA с MODIFY может переписать; не SOX-grade.

Исправление: Snowflake-таблица = только вторичный индекс; первичный evidence S3 Object Lock; обновления индекса через stored procedures с RBAC.

Ошибка 6 — Webhook chain неполный

Паттерн: Webhook Jira только к S3; closure metadata не пропагируется в Snowflake-индекс.

Impact: Audit-запрос «показать evidence + closure status» падает — данные разделены между системами.

Исправление: Closure event эмит’ится отдельно; S3 сохраняет; Snowflake audit.evidence_index обновляет closure metadata атомарно; cross-reference индекс полный.

Ошибка 7 — IAM разрешает s3:DeleteObject

Паттерн: Operations роль с DeleteObject «для cleanup utility».

Impact: Object Lock предотвращает удаление того, что в пределах retention; но объекты Object Lock без retention можно удалить; mishaps возможны.

Исправление: Default-deny s3:DeleteObject для evidence-бакетов; явный allow только break-glass scenarios.

Ошибка 8 — Размер выборки evidence недостаточен

Паттерн: Audit cycle samples 5 evidence-записей per control; аудитор ожидает ≥ 25.

Impact: Недостаточная гарантия качества evidence; аудитор расширяет выборку при concerns; timeline + стоимость аудита увеличивается.

Исправление: Pre-audit dry-run (M7.5) — Internal Audit samples ≥ 25 per material control; идентифицирует issues рано.

Мост к M8 (SDLC integration)

Evidence pipeline M7 установлен. M8 — операционная модель + интеграция SDLC. Ключевые мосты:

  1. PR-time gating — schema gating согласно M5.8 + impact analysis; эмиссия evidence согласно M7.2; SDLC интегрирует ВСЕ контроли внутри developer workflow.

  2. Онбординг нового CDE — engineering team добавляет CDE; авто-провижинг evidence pipeline через хук CDE registry (M4.5); zero-touch для сбора evidence. M8 детализирует автоматизацию.

  3. Зрелость операционной модели — квартальные ретро включают здоровье evidence pipeline; итерируем.

  4. Capstone (M9) — полный запуск программы; модель зрелости T+18M; готовность pre-IPO.

Резюме

  • Evidence pipeline = синтез M7.1-M7.6: IPE-атрибуты + сбор + lineage + управление замечаниями + attestation + дашборды.
  • Архитектурное решение — первичный engine (GE 1.17.1 для SwiftRide); supplementary engines добавлены для конкретных паттернов (Soda contracts; Anomalo anomaly detection).
  • Список компонентов охватывает 4 стадии × ~20 различных AWS / SaaS ресурсов; чёткое владение по модели Three Lines.
  • Evidence schema v1 обязательная нормализация — IPE-атрибуты захвачены в структурированном JSON; HMAC-подпись; неизменяемый S3 Object Lock Compliance Mode.
  • Развёртывание — отдельный AWS-аккаунт swr-evidence-prod; cross-region replication; жёсткий IAM с default-deny delete; VPC endpoints.
  • Operations runbook — ежедневные проверки целостности, ежечасное здоровье эмиссии, еженедельная верификация retention.
  • Self-check — 6 категорий критериев все обязательны pass: покрытие IPE + восстановимость + lineage + обработка инцидентов + цикл attestation + отчётность по аудиториям.
  • Opt-in docker-compose — окружение локальной разработки; MinIO заменяет S3 Object Lock; Marquez + Kafka + Wiremock Jira; валидация end-to-end до развёртывания в AWS.
  • Типичные ошибки — отсутствие ротации KMS; Governance Mode vs Compliance; Lambda timeout; Marquez как первичный; Snowflake-таблица как первичная; webhook chain неполный; IAM delete permissions; недостаточный размер выборки.

M7 закрывает фундамент evidence + attestation. M8 — операционная модель + интеграция SDLC; встраивает контроли внутрь developer workflow + автоматизирует онбординг; модель зрелости T+15M для готовности SOX dry-run.

Great Expectations 1.17.1 — checkpoint и emit Observability пайплайна — мониторинг health evidence системы

Проверьте понимание

Результат: 0 из 0
Прикладной
Вопрос 1 из 4. SwiftRide CDO Office final lab — architecture decision matrix: GE 1.17.1 vs Soda 4.0 vs both. Какой decision + rationale per SwiftRide T+10M context?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 7