Bỏ qua nội dung

Data Platform Engineer

Data Platform Engineer không chỉ viết pipeline cho một use case. Họ xây nền tảng để nhiều team tự tạo, chạy và vận hành pipeline an toàn hơn. Nếu Data Engineer là người xây đường ống, Data Platform Engineer là người làm hệ thống đường, biển báo, trạm kiểm soát và quy chuẩn thi công.

Vai trò này giao giữa Data Engineering, DevOps, SRE và Platform Engineering.

Khi nào tổ chức cần Data Platform?

  • Nhiều team cùng viết pipeline nhưng mỗi team có chuẩn riêng.
  • Onboarding pipeline mới mất nhiều tuần vì phải xin quyền, tạo infra, cấu hình CI/CD thủ công.
  • Sự cố lặp lại vì không có template, observability hoặc runbook chung.
  • Chi phí cloud khó quy về team/dataset/workload.
  • Dữ liệu nhạy cảm được xử lý thiếu kiểm soát.

Nếu công ty chỉ có vài pipeline đơn giản, một platform lớn có thể là over-engineering. Nền tảng chỉ đáng xây khi nó giảm ma sát thật cho nhiều người.

Checkpoint cần đạt

MảngCần biết
Infrastructure as CodeTerraform module, environment, state, review plan.
Kubernetes/containerWorkload, secret, config, resource limit, operator.
Orchestration platformAirflow/Dagster/Prefect deployment, executor, scaling.
ObservabilityLogs, metrics, traces, data freshness, alert routing.
SecurityIAM, network boundary, secret management, audit.
Developer experienceTemplate, CLI, documentation, golden path.

1. Golden path cho pipeline

Một platform tốt không ép mọi người học hết hạ tầng. Nó đưa ra “golden path”:

  1. Tạo repo từ template.
  2. Khai báo source, schedule, owner, SLA.
  3. CI chạy lint, unit test, data contract check.
  4. Terraform tạo quyền và tài nguyên cần thiết.
  5. Deploy DAG/job lên môi trường phù hợp.
  6. Observability và alert tự gắn theo owner.

Mục tiêu là giảm quyết định lặp lại, không phải xóa hết quyền tự chủ của team dữ liệu.

Đọc trong site: Data Platform Architecture, DataOps, Software-defined Assets, Data Ownership.

flowchart TD
    A["Pipeline template"] --> B["CI checks"]
    B --> C["Terraform plan"]
    C --> D["Deploy orchestration"]
    D --> E["Run workload"]
    E --> F["Logs, metrics, freshness"]
    F --> G["Alert owner"]

2. Terraform và hạ tầng có review

Terraform hữu ích vì biến hạ tầng thành code có version, review và plan trước khi apply. HashiCorp mô tả Terraform như công cụ định nghĩa và quản lý infrastructure bằng configuration files, phù hợp với nhu cầu review hạ tầng trước khi thay đổi: Terraform intro. Với data platform, Terraform thường quản lý:

  • Bucket/container và lifecycle policy.
  • IAM role/service account.
  • Warehouse dataset/schema.
  • Kubernetes namespace, secret reference, resource quota.
  • Monitoring dashboard và alert rule.

Quy tắc thực tế: module nên che bớt độ phức tạp nhưng không giấu những quyết định quan trọng như retention, quyền truy cập và chi phí. Interface của một module tốt trông như thế này — người dùng chỉ khai báo quyết định, không khai báo chi tiết hạ tầng:

module "orders_dataset" {
source = "git::internal/modules/data-dataset?ref=v2.3"
name = "orders"
owner_team = "commerce-data" # bắt buộc → alert & cost đi theo team
pii_level = "high" # quyết định masking + audit tự động
retention_days = 730 # quyết định lộ ra, không chôn trong module
readers = ["analyst-role"]
writers = ["etl-orders-sa"]
}

Ba field owner_team, pii_level, retention_days là ví dụ của “quyết định phải lộ ra”: chúng buộc người tạo dataset trả lời câu hỏi governance ngay lúc khai sinh tài nguyên, thay vì để đến audit cuối năm. Đó là cách platform mã hóa chính sách thành interface — hiệu quả hơn mọi tài liệu quy định.

Đọc trong site: Access Control, Cloud Storage, Cost Optimization.

3. Kubernetes có cần thiết không?

Kubernetes mạnh nhưng không miễn phí về vận hành. Kubernetes cung cấp abstraction cho workload, service discovery, rollout và resource scheduling, nhưng abstraction đó kéo theo chi phí vận hành riêng: Kubernetes overview. Dùng khi bạn cần chuẩn hóa workload container, autoscaling, isolation, operator hoặc chạy nhiều engine trên cùng nền.

Không nên dùng Kubernetes chỉ vì “hiện đại”. Nếu managed workflow/serverless giải quyết đủ tốt, hãy dùng managed service. Platform Engineer giỏi là người giảm gánh nặng vận hành, không thêm một cụm mới để chăm.

Đọc trong site: Airflow Celery vs K8s Executor, Airflow Scheduler, Serverless Data.

4. Observability cho cả platform lẫn dữ liệu

Bạn cần hai lớp:

  • Platform observability: pod/job fail, CPU/memory, queue backlog, scheduler health, API latency.
  • Data observability: freshness, volume, schema, distribution, reconciliation, lineage.

Nếu chỉ có lớp platform, job có thể xanh nhưng dữ liệu sai. Nếu chỉ có lớp data, bạn biết dữ liệu trễ nhưng không biết scheduler nghẽn hay cluster thiếu tài nguyên.

Đọc trong site: Data Observability, Freshness Monitoring, Alerting Incident Response, Root Cause Analysis.

5. Platform như một sản phẩm

Data platform có người dùng: Data Engineer, Analyst, Scientist, BI, Security, Finance. Vì vậy cần product thinking:

  • Ai là user chính?
  • Việc gì đang mất thời gian nhất?
  • Golden path có giảm ticket không?
  • Documentation có giúp người mới tự làm không?
  • Metric thành công là adoption, lead time, incident reduction hay cost visibility?

Checklist đọc concept

Mốc họcConcept nội bộ cần đọc
Platform foundationData Platform Architecture, DataOps
Orchestration platformApache Airflow, Airflow Scheduler, Airflow Celery vs K8s Executor
ObservabilityData Observability, Freshness Monitoring, Schema Drift
GovernanceAccess Control, Data Lineage, Data Catalog

Dự án thực hành

Dự án: Internal data pipeline starter kit

  1. Tạo template repo cho pipeline Python/SQL.
  2. Thêm CI: lint, test, secret scan, markdown check.
  3. Viết Terraform module tạo bucket, IAM và dataset.
  4. Deploy DAG lên Airflow local/Kubernetes.
  5. Tự động tạo alert theo owner trong config.
  6. Viết docs: “từ repo trống đến pipeline chạy production”.

Góc phỏng vấn

  • Data Platform khác Data Engineering thông thường ở đâu?
  • Khi nào nên dùng Kubernetes, khi nào không?
  • Terraform state hỏng hoặc drift thì xử lý thế nào?
  • Golden path nên linh hoạt đến mức nào?
  • Làm sao đo platform có tạo giá trị thật?

References

Bình luận & Thảo luận