Bỏ qua nội dung

Cloud Data Engineer (Kỹ sư dữ liệu đám mây)

Cloud Data Engineer thiết kế và vận hành hệ thống dữ liệu trên AWS, Google Cloud, Azure hoặc môi trường hybrid. Điểm khó không nằm ở việc bấm tạo service. Điểm khó là chọn đúng dịch vụ, thiết kế quyền truy cập an toàn, kiểm soát chi phí và đảm bảo pipeline có thể chạy ổn khi dữ liệu tăng. Ba cloud lớn đều dùng framework kiến trúc để buộc team nhìn cùng lúc vào reliability, security, cost và operations: AWS Well-Architected, Google Cloud Architecture Framework, Azure Well-Architected.

Cloud tốt giúp team đi nhanh hơn. Cloud dùng sai biến hóa đơn, bảo mật và vận hành thành vấn đề lớn.

Ai nên theo hướng này?

  • Data Engineer muốn làm sâu về public cloud.
  • Backend/DevOps Engineer muốn chuyển sang workload dữ liệu.
  • Team đang đưa data lake/warehouse từ on-prem lên cloud.
  • Người muốn hiểu FinOps, IAM, network và kiến trúc dữ liệu hiện đại.

Checkpoint cần đạt

Năng lựcVí dụ thực tế
StorageThiết kế raw/bronze/silver/gold zone trên object storage.
ComputeChọn serverless, Spark, warehouse hoặc container tùy workload.
SecurityIAM least privilege, encryption, secrets, audit logs.
NetworkPrivate access, VPC/VNet, endpoint, egress control.
CostPartition, lifecycle policy, autoscaling, budget alert.
ReliabilityRetry, backfill, multi-zone, recovery plan.

1. Bắt đầu từ storage và data layout

Object storage như S3, Cloud Storage, ADLS thường là nền của data lake. Nhưng nếu cần schema evolution, snapshot hoặc table-level operation trên dữ liệu lakehouse, hãy đọc thêm table format như Apache Iceberg thay vì chỉ học bucket và file path: Apache Iceberg Documentation. Hãy học:

  • Quy ước đường dẫn theo domain, dataset, ngày.
  • File format: CSV cho trao đổi, Parquet/ORC cho phân tích.
  • Partition hợp lý, tránh partition quá nhỏ.
  • Lifecycle policy: dữ liệu nóng, lạnh, archive.
  • Encryption và quyền truy cập theo nguyên tắc tối thiểu.

Một data lake đáng tin không chỉ là bucket chứa file. Nó cần catalog, ownership, retention, lineage và quy trình dọn dữ liệu cũ.

Để thấy layout ảnh hưởng chi phí trực tiếp thế nào, so sánh hai cách tổ chức cùng một dữ liệu orders 500 GB trên BigQuery/Athena:

# Layout xấu: file JSON, không partition
s3://lake/orders/all_orders.json → mọi query scan 500 GB
# Query "doanh thu hôm qua": scan 500 GB ≈ $2.50/query (Athena $5/TB)
# Layout tốt: Parquet + partition ngày + chỉ đọc cột cần
s3://lake/orders/dt=2026-07-10/*.parquet → scan ~800 MB
# Cùng query: scan 0.8 GB ≈ $0.004/query — rẻ hơn ~600 lần

Nhân con số này với hàng nghìn query mỗi tháng của cả team analyst, bạn hiểu vì sao quyết định layout lúc thiết kế là quyết định FinOps lớn nhất mà Cloud Data Engineer đưa ra — trước cả khi chọn engine.

Đọc trong site: Cloud Storage, Data Lake, Parquet Internals, Data Catalog, Metadata Management.

2. Warehouse, lakehouse và serverless processing

Không có một engine đúng cho mọi việc:

WorkloadLựa chọn thường gặp
BI và ad hoc analyticsBigQuery, Snowflake, Redshift, Synapse/Fabric
Transform batch lớnSpark, Dataflow/Beam, Glue, Databricks
Event-driven nhỏCloud Functions/Lambda, queues, managed workflows
Table cần update/delete/time travelIceberg, Delta Lake, Hudi
Low-latency servingBigQuery BI Engine, ClickHouse, Druid, Elasticsearch tùy case

Senior Cloud Data Engineer biết nói “không cần Spark cho việc này” cũng quan trọng như biết tối ưu Spark.

Đọc trong site: Serverless Data, Google BigQuery, Amazon Redshift, Lakehouse, Table Format.

3. Security và governance

Cloud làm mọi thứ dễ tạo hơn, vì vậy cũng dễ tạo sai hơn. Học kỹ:

  • IAM theo role nhỏ, không dùng quyền admin cho pipeline. Ví dụ policy tối thiểu cho job ingestion chỉ được ghi vào đúng prefix của nó:
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::lake-bronze/orders/*",
"Condition": {"StringEquals": {"s3:x-amz-server-side-encryption": "aws:kms"}}
}
  • Service account riêng cho từng workload quan trọng.
  • Secret Manager hoặc Vault, không để secret trong repo.
  • Encryption at rest và in transit.
  • Audit log cho truy cập dữ liệu nhạy cảm.
  • Data classification và masking/tokenization cho PII.

Đọc trong site: Access Control, Audit Logging, Data Classification, Data Masking Encryption, Data Governance.

4. FinOps cho dữ liệu

Chi phí dữ liệu thường tăng âm thầm: query scan toàn bảng, table rebuild mỗi ngày, file nhỏ quá nhiều, cluster chạy quên tắt, egress giữa vùng/cloud.

Thói quen cần có:

  • Gắn tag/label theo team, project, environment.
  • Budget alert cho dataset hoặc workload quan trọng.
  • Dashboard chi phí theo ngày và theo pipeline.
  • Review query scan bytes hoặc warehouse credit.
  • Lifecycle policy cho raw data và backup.

Đọc trong site: Cost Optimization, FinOps Data Engineering, Partitioning, Clustering.

Checklist đọc concept

Mốc họcConcept nội bộ cần đọc
Thiết kế storageCloud Storage, Data Lake, File Formats Deep Dive
Chọn computeServerless Data, Apache Spark, MPP Architecture Dremel
Bảo mậtAccess Control, Data Masking Encryption, Audit Logging
Chi phíCost Optimization, FinOps Data Engineering

Dự án thực hành

Dự án: Cloud lakehouse pipeline

  1. Tạo landing zone trên object storage.
  2. Ingest file JSON/CSV hằng ngày.
  3. Convert sang Parquet, partition theo ngày.
  4. Catalog bảng để query từ warehouse/Spark.
  5. Thêm IAM riêng cho ingestion, transform và analyst.
  6. Thêm lifecycle policy và cost dashboard.
  7. Viết runbook restore một partition bị lỗi.

Góc phỏng vấn

  • Data lake khác warehouse khác lakehouse thế nào?
  • Partition theo ngày có rủi ro gì khi dữ liệu skew?
  • Vì sao IAM theo service account riêng tốt hơn dùng một account chung?
  • Làm sao phát hiện pipeline gây tăng chi phí?
  • Khi nào chọn serverless thay vì cluster tự quản?

References

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