Học Platform engineering (7)
CROSS-CUTTING - TECHNICAL LEADERSHIP
Tài nguyên: The Staff Engineer's Path (Tanya Reilly), Staff Engineer (Will Larson), The Pyramid Principle (Minto), Good Strategy Bad Strategy (Rumelt), Team Topologies, Radical Candor (Scott), Thinking in Bets (Duke), Specifying Systems (Lamport), Practical TLA+ (Wayne), "How Amazon Web Services Uses Formal Methods".
KHỐI A - Technical Writing & Influence (Ngày 1-24) → P1
Ngày 1: Khởi động Leadership
Mục tiêu: Vì sao soft skills quyết định impact ở Staff/Principal.
Lý thuyết: ảnh hưởng qua viết & quyết định, không qua thẩm quyền.
Thực hành: Repo
leadership/; tự đánh giá điểm mạnh/yếu 6 mảng.
Ngày 2: Written-first & async
Mục tiêu: Viết là đòn bẩy.
Lý thuyết: written-first culture, async > meeting cho quyết định lớn.
Thực hành: Chuyển một quyết định thành doc thay vì họp.
Ngày 3: Phân tích audience
Mục tiêu: Viết cho đúng người.
Lý thuyết: engineer vs exec vs cross-functional - nhu cầu khác.
Thực hành: Viết cùng ý cho 2 audience khác nhau.
Ngày 4: BLUF & Pyramid Principle
Mục tiêu: Cấu trúc thuyết phục.
Lý thuyết: bottom-line-up-front, ý chính trước, chi tiết sau (Minto).
Thực hành: Cấu trúc lại một doc theo pyramid.
Ngày 5: RFC process
Mục tiêu: Đề xuất thay đổi có đồng thuận.
Lý thuyết: RFC lifecycle, review culture (nối Layer 6/13).
Thực hành: Viết một RFC.
Ngày 6: ADR
Mục tiêu: Ghi lại quyết định.
Lý thuyết: Architecture Decision Record, context/decision/consequence (nối Layer 6).
Thực hành: Viết 2 ADR.
Ngày 7: Design doc
Mục tiêu: Thiết kế trước khi code.
Lý thuyết: Google design doc format (context/goals/design/alternatives).
Thực hành: Viết một design doc.
Ngày 8: Narrative memo
Mục tiêu: Kể chuyện thay bullet.
Lý thuyết: Amazon 6-pager, narrative memo, no-slides.
Thực hành: Viết một narrative memo.
Ngày 9: Lập luận thuyết phục
Mục tiêu: Data + narrative.
Lý thuyết: kết hợp số liệu và câu chuyện.
Thực hành: Củng cố một đề xuất bằng data + narrative.
Ngày 10: Làm rõ ngầm định
Mục tiêu: Nói ra điều mặc định.
Lý thuyết: surface assumptions, giảm hiểu lầm.
Thực hành: Liệt kê assumption ẩn của một quyết định.
Ngày 11: Viết cho executive
Mục tiêu: Dịch tech → business.
Lý thuyết: exec đọc gì, impact/cost/risk.
Thực hành: Viết exec summary một dự án kỹ thuật.
Ngày 12: Viral internal docs
Mục tiêu: Doc tự lan toả.
Lý thuyết: doc được đọc & chia sẻ, clarity + timing.
Thực hành: Phân tích vì sao một doc lan toả.
Ngày 13: Shared understanding
Mục tiêu: Đồng bộ nhận thức đội.
Lý thuyết: doc xây shared mental model.
Thực hành: Viết doc tạo shared understanding một hệ.
Ngày 14: Review/edit doc người khác
Mục tiêu: Nâng chất lượng chung.
Lý thuyết: editing có tính xây dựng.
Thực hành: Review + biên tập một doc.
Ngày 15: Docs as leverage
Mục tiêu: Nhân bản chính mình.
Lý thuyết: viết một lần, nhiều người dùng.
Thực hành: Chuyển kiến thức lặp lại thành doc.
Ngày 16: Storytelling cho engineer
Mục tiêu: Làm kỹ thuật hấp dẫn.
Lý thuyết: problem → tension → resolution.
Thực hành: Viết một câu chuyện kỹ thuật.
Ngày 17: Bất đồng trong văn bản
Mục tiêu: Phản biện nhã nhặn.
Lý thuyết: disagree bằng doc, tôn trọng.
Thực hành: Viết một phản biện có tính xây dựng.
Ngày 18: Viết ngắn gọn
Mục tiêu: Cắt fluff.
Lý thuyết: concise = tôn trọng người đọc.
Thực hành: Cắt 30% một doc mà giữ nội dung.
Ngày 19: Template & chuẩn doc
Mục tiêu: Nhất quán ở quy mô.
Lý thuyết: template RFC/ADR/design doc.
Thực hành: Bộ template dùng chung.
Ngày 20: Đo impact của doc
Mục tiêu: Doc có tác dụng thật.
Lý thuyết: decision made, alignment, reuse.
Thực hành: Định nghĩa cách đo impact.
Ngày 21: P1 - persuasive RFC
Mục tiêu: Đóng khung P1.
Lý thuyết: RFC thuyết phục cho một thay đổi lớn.
Thực hành: Viết RFC hoàn chỉnh.
Ngày 22: P1 - ADR portfolio
Mục tiêu: Ghi quyết định.
Lý thuyết: bộ ADR cho một hệ.
Thực hành: 3-5 ADR.
Ngày 23: P1 - design doc
Mục tiêu: Thiết kế thuyết phục.
Lý thuyết: design doc có alternatives + tradeoff.
Thực hành: Design doc hoàn chỉnh.
Ngày 24: P1 - Technical writing portfolio
Mục tiêu: Release P1.
Lý thuyết: rà "done": RFC + ADR + design doc thuyết phục.
Thực hách: Đóng gói + blog #129 ("Viết để dẫn dắt: RFC, ADR, design doc thuyết phục"). P1 done. Đã đi 24/90 (27%).
KHỐI B - Tradeoff Analysis & Decision-making (Ngày 25-39) → P2
Ngày 25: Làm rõ tradeoff
Mục tiêu: Đánh đổi minh bạch.
Lý thuyết: mọi quyết định là tradeoff, nói rõ được/mất.
Thực hành: Bảng tradeoff cho một quyết định.
Ngày 26: Decision framework
Mục tiêu: Ai quyết, ai góp ý.
Lý thuyết: RAPID/DACI, rõ vai trò.
Thực hành: Áp DACI cho một quyết định.
Ngày 27: "Đủ tốt"
Mục tiêu: Không tối ưu quá đà.
Lý thuyết: satisficing vs optimizing, chọn "đủ tốt".
Thực hành: Nhận diện over-engineering.
Ngày 28: Cửa một chiều/hai chiều
Mục tiêu: Quyết nhanh khi đảo được.
Lý thuyết: reversible (two-way door) vs irreversible.
Thực hành: Phân loại quyết định theo cửa.
Ngày 29: Cost of delay
Mục tiêu: Chậm cũng tốn.
Lý thuyết: cost of delay, opportunity cost.
Thực hành: Ước tính cost of delay một quyết định.
Ngày 30: CỘT MỐC 30
Mục tiêu: Chốt writing + đầu tradeoff.
Lý thuyết: Ôn A + đầu B; kiểm kê: writing portfolio + khung tradeoff.
Thực hành: Đề thi #1 (tự đánh giá: viết một RFC + phân tích một tradeoff theo rubric); blog #130 ("Ra quyết định kỹ thuật: cửa một chiều, đủ tốt, và cost of delay"); tag
leadership-day030; nghỉ nửa ngày. Đã đi 30/90 (33%).
Ngày 31: Quyết định dưới bất định
Mục tiêu: Không cần chắc 100%.
Lý thuyết: reasoning under uncertainty, xác suất (nối Layer 0).
Thực hành: Quyết định với thông tin thiếu.
Ngày 32: Second-order thinking
Mục tiêu: Nghĩ xa hơn hệ quả đầu.
Lý thuyết: "và rồi sao nữa?", hệ quả bậc hai.
Thực hành: Phân tích second-order cho một quyết định.
Ngày 33: Pre-mortem
Mục tiêu: Tưởng tượng thất bại trước.
Lý thuyết: pre-mortem, risk surfacing.
Thực hành: Pre-mortem một dự án.
Ngày 34: Disagree and commit
Mục tiêu: Bất đồng nhưng tiến.
Lý thuyết: disagree-and-commit, không cản sau khi chốt.
Thực hành: Kịch bản disagree-and-commit.
Ngày 35: Tránh analysis paralysis
Mục tiêu: Quyết đúng lúc.
Lý thuyết: đủ dữ liệu để quyết, tránh phân tích vô tận.
Thực hành: Đặt deadline quyết định.
Ngày 36: Technical judgment
Mục tiêu: "Khẩu vị" kỹ thuật.
Lý thuyết: taste, kinh nghiệm, pattern (nối Layer 12/13).
Thực hành: Ghi lại một judgment call + lý do.
Ngày 37: Decision records
Mục tiêu: Lưu quyết định.
Lý thuyết: decision log, revisit khi context đổi.
Thực hành: Decision record cho một quyết định.
Ngày 38: P2 - khung tradeoff
Mục tiêu: Đóng khung P2.
Lý thuyết: framework: options → criteria → tradeoff → decision.
Thực hách:
tradeoff-framework.md.
Ngày 39: P2 - Tradeoff analysis + decision doc
Mục tiêu: Release P2.
Lý thuyết: rà "done": khung + một decision doc thật.
Thực hành: Đóng gói + blog #131 ("Phân tích đánh đổi và ra quyết định 'đủ tốt'"). P2 done.
KHỐI C - Mentoring & Sponsorship (Ngày 40-54) → P3
Ngày 40: Mentoring vs sponsorship
Mục tiêu: Phân biệt hai vai.
Lý thuyết: mentor (dạy) vs sponsor (bảo trợ/tạo cơ hội).
Thực hành: Xác định khi nào cần cái nào.
Ngày 41: Nâng cấp đội ngũ
Mục tiêu: Phát triển người khác.
Lý thuyết: career development, growth areas.
Thực hành: Growth plan cho một người.
Ngày 42: Code review giáo dục
Mục tiêu: Review nâng người (nối Layer 13).
Lý thuyết: review dạy, không chỉ gác cổng.
Thực hành: Review có giải thích + gợi mở.
Ngày 43: Feedback - radical candor
Mục tiêu: Thẳng thắn mà quan tâm.
Lý thuyết: care personally + challenge directly.
Thực hành: Đưa một feedback khó theo radical candor.
Ngày 44: Difficult conversations
Mục tiêu: Nói chuyện khó.
Lý thuyết: cấu trúc, empathy, cụ thể.
Thực hành: Chuẩn bị một cuộc nói chuyện khó.
Ngày 45: Coaching vs telling
Mục tiêu: Hỏi thay vì bảo.
Lý thuyết: coaching questions, để người khác tự tìm ra.
Thực hành: Coach một vấn đề bằng câu hỏi.
Ngày 46: Sponsorship
Mục tiêu: Bảo trợ & khuếch đại.
Lý thuyết: advocate cho người khác, amplify tiếng nói.
Thực hành: Một hành động sponsorship cụ thể.
Ngày 47: Tạo cơ hội
Mục tiêu: Mở đường cho người khác.
Lý thuyết: giao stretch assignment, visibility.
Thực hành: Giao một cơ hội có kiểm soát rủi ro.
Ngày 48: Văn hoá học tập
Mục tiêu: Đội tự nâng cấp (nối Layer 6).
Lý thuyết: tech talk, pairing, brown bag.
Thực hành: Thiết kế một chương trình học nội bộ.
Ngày 49: Scale kiến thức
Mục tiêu: Dạy để nhân bản.
Lý thuyết: docs + teaching thay vì tự làm hết.
Thực hành: Biến một kỹ năng thành tài liệu dạy.
Ngày 50: Onboarding người mới
Mục tiêu: Ramp nhanh (nối Layer 6).
Lý thuyết: onboarding path, buddy.
Thực hành: Onboarding plan.
Ngày 51: Nhận diện & phát triển tài năng
Mục tiêu: Thấy tiềm năng.
Lý thuyết: strengths-based development.
Thực hành: Đánh giá + kế hoạch cho một người.
Ngày 52: Psychological safety
Mục tiêu: Đội dám nói.
Lý thuyết: safety để nêu ý kiến/sai lầm (nối Layer 11 blameless).
Thực hành: Hành động tăng psychological safety.
Ngày 53: P3 - mentoring/growth plan
Mục tiêu: Đóng khung P3.
Lý thuyết: mentoring + sponsorship + learning culture.
Thực hách:
mentoring-plan.md.
Ngày 54: P3 - Mentoring & sponsorship plan
Mục tiêu: Release P3.
Lý thuyết: rà "done": growth plan + review giáo dục + sponsorship.
Thực hành: Đóng gói + blog #132 ("Mentoring và sponsorship: nâng cấp đội ngũ, không chỉ code"). P3 done.
KHỐI D - Technical Strategy & Org Design (Ngày 55-69) → P4
Ngày 55: Strategy vs tactics
Mục tiêu: Phân biệt chiến lược.
Lý thuyết: vision → strategy → tactics.
Thực hành: Tách strategy vs tactic một sáng kiến.
Ngày 56: Định hướng nhiều quý
Mục tiêu: Nhìn xa.
Lý thuyết: multi-quarter technical direction.
Thực hành: Draft định hướng 3-4 quý.
Ngày 57: Good Strategy Bad Strategy
Mục tiêu: Chiến lược tốt là gì (Rumelt).
Lý thuyết: diagnosis → guiding policy → coherent action; tránh "fluff".
Thực hành: Viết một strategy kernel.
Ngày 58: Conway's Law
Mục tiêu: Tổ chức ↔ kiến trúc.
Lý thuyết: hệ thống phản chiếu cấu trúc giao tiếp.
Thực hành: Map org ↔ architecture hiện tại.
Ngày 59: Inverse Conway
Mục tiêu: Thiết kế org để có kiến trúc mong muốn.
Lý thuyết: inverse Conway maneuver.
Thực hành: Đề xuất org đổi để đạt kiến trúc mục tiêu.
Ngày 60: CỘT MỐC 60
Mục tiêu: Chốt mentoring + đầu strategy.
Lý thuyết: Ôn C + đầu D; kiểm kê: mentoring plan + tư duy Conway/strategy.
Thực hành: Đề thi #2 (tự đánh giá: viết một strategy kernel + Conway mapping theo rubric); blog #133 ("Conway's Law và chiến lược kỹ thuật nhiều quý"); tag
leadership-day060; nghỉ nửa ngày. Đã đi 60/90 (67%).
Ngày 61: Team Topologies recap
Mục tiêu: Mô hình đội (nối Layer 6).
Lý thuyết: platform/stream-aligned/enabling/complicated-subsystem.
Thực hành: Áp Team Topologies cho một org.
Ngày 62: Org design cho engineering
Mục tiêu: Ranh giới đội.
Lý thuyết: team boundary, ownership, interface.
Thực hành: Thiết kế ranh giới đội.
Ngày 63: Cognitive load & team
Mục tiêu: Đội không quá tải (nối Layer 6).
Lý thuyết: cognitive load giới hạn scope đội.
Thực hành: Đánh giá + giảm tải một đội.
Ngày 64: Platform strategy
Mục tiêu: Build/buy/partner.
Lý thuyết: khi nào tự xây, mua, hợp tác (nối Layer 6/11).
Thực hành: Quyết định build/buy cho một capability.
Ngày 65: Migration strategy
Mục tiêu: Đổi mà không đứt.
Lý thuyết: sequencing, strangler fig, incremental.
Thực hành: Kế hoạch migration một hệ.
Ngày 66: Technical bets
Mục tiêu: Đặt cược có tính toán.
Lý thuyết: bet size, reversibility, timing.
Thực hành: Đề xuất một technical bet.
Ngày 67: Roadmap ↔ org
Mục tiêu: Khớp lộ trình & tổ chức (nối Layer 11).
Lý thuyết: roadmap khả thi với org hiện có.
Thực hành: Align roadmap với năng lực org.
Ngày 68: P4 - technical strategy doc
Mục tiêu: Đóng khung P4.
Lý thuyết: strategy + org mapping + bets + sequencing.
Thực hách:
tech-strategy.md.
Ngày 69: P4 - Technical strategy + org mapping
Mục tiêu: Release P4.
Lý thuyết: rà "done": strategy kernel + Conway mapping + roadmap align.
Thực hành: Đóng gói + blog #134 ("Chiến lược kỹ thuật và org design: định hướng nhiều quý"). P4 done.
KHỐI E - Stakeholder Management (Ngày 70-78) → P5
Ngày 70: Influence without authority
Mục tiêu: Dẫn dắt không cần quyền.
Lý thuyết: ảnh hưởng qua uy tín, giá trị, quan hệ.
Thực hành: Kế hoạch ảnh hưởng một sáng kiến.
Ngày 71: Làm việc với Product
Mục tiêu: Đồng minh product.
Lý thuyết: cân bằng feature vs platform/reliability (nối Layer 6/11).
Thực hành: Kịch bản align với PM.
Ngày 72: Security & Finance
Mục tiêu: Đối tác quản trị (nối Layer 8/11).
Lý thuyết: làm việc với security & finance (FinOps).
Thực hành: Trình bày tradeoff bảo mật/chi phí.
Ngày 73: Managing up / leadership
Mục tiêu: Làm việc với lãnh đạo.
Lý thuyết: managing up, mang giải pháp không chỉ vấn đề.
Thực hành: Update cho leadership hiệu quả.
Ngày 74: Dịch tech ↔ business
Mục tiêu: Cầu nối hai thế giới.
Lý thuyết: nói impact/risk/cost thay jargon.
Thực hành: Dịch một quyết định kỹ thuật sang ngôn ngữ business.
Ngày 75: Negotiation & conflict
Mục tiêu: Giải quyết mâu thuẫn.
Lý thuyết: interest-based negotiation, tìm win-win.
Thực hành: Giải một conflict giả định.
Ngày 76: Xây trust & alignment
Mục tiêu: Nền của ảnh hưởng.
Lý thuyết: trust qua nhất quán, minh bạch.
Thực hành: Kế hoạch xây trust với một stakeholder.
Ngày 77: P5 - stakeholder + influence plan
Mục tiêu: Đóng khung P5.
Lý thuyết: map stakeholder + chiến lược ảnh hưởng.
Thực hách:
stakeholder-plan.md.
Ngày 78: P5 - Stakeholder management plan
Mục tiêu: Release P5.
Lý thuyết: rà "done": stakeholder map + influence + communication.
Thực hành: Đóng gói + blog #135 ("Stakeholder management: ảnh hưởng không cần thẩm quyền"). P5 done.
KHỐI F - Formal Methods / TLA+ (Ngày 79-90) → P6 flagship
Ngày 79: Vì sao formal methods
Mục tiêu: Bắt bug thiết kế trước khi code.
Lý thuyết: distributed systems khó test hết; spec để tìm bug logic (nối Layer 3/4).
Thực hành: Đọc "How AWS Uses Formal Methods".
Ngày 80: Spec vs implementation
Mục tiêu: Tách "cái gì" khỏi "thế nào".
Lý thuyết: specification mô tả hành vi đúng, không phải code.
Thực hành: Viết spec bằng lời cho một giao thức.
Ngày 81: TLA+ - tổng quan
Mục tiêu: Ngôn ngữ spec.
Lý thuyết: state, action, temporal logic, next-state relation.
Thực hành: Cài TLA+ Toolbox; chạy ví dụ.
Ngày 82: TLA+ - invariants & safety
Mục tiêu: "Điều xấu không xảy ra".
Lý thuyết: invariant, safety property.
Thực hành: Viết một invariant + kiểm.
Ngày 83: TLA+ - liveness & fairness
Mục tiêu: "Điều tốt cuối cùng xảy ra".
Lý thuyết: liveness, fairness, temporal operators.
Thực hành: Viết một liveness property.
Ngày 84: PlusCal
Mục tiêu: Viết thuật toán dễ hơn.
Lý thuyết: PlusCal → dịch sang TLA+.
Thực hành: Viết một thuật toán bằng PlusCal.
Ngày 85: TLC model checker
Mục tiêu: Kiểm tự động.
Lý thuyết: state space exploration, counterexample.
Thực hành: Chạy TLC; đọc counterexample.
Ngày 86: Spec một thuật toán phân tán
Mục tiêu: Áp vào bài toán thật.
Lý thuyết: spec một lock/consensus đơn giản (nối Layer 3/4).
Thực hành: Viết spec + invariant.
Ngày 87: Tìm bug qua model checking
Mục tiêu: Giá trị thực.
Lý thuyết: model checking phát hiện race/deadlock (nối Layer 3/4).
Thực hành: Gài một bug; TLC tìm ra.
Ngày 88: Apalache & công nghiệp
Mục tiêu: Scale & thực tế.
Lý thuyết: Apalache (symbolic), TLA+ ở AWS/Azure; Alloy/P (khác).
Thực hành: So TLC vs Apalache; đọc case công nghiệp.
Ngày 89: P6 - spec một thiết kế phân tán
Mục tiêu: Đóng khung P6.
Lý thuyết: chọn một thành phần của Grand Capstone (control plane/consensus).
Thực hành: Viết TLA+ spec + invariants.
Ngày 90: HOÀN THÀNH Technical Leadership
Mục tiêu: Chốt Cross-cutting Leadership.
Lý thuyết: Ôn toàn phần; kiểm kê tổng: P1 writing + P2 tradeoff + P3 mentoring + P4 strategy + P5 stakeholder + P6 TLA+ spec + model checking.
Thực hành: P6 done; đề thi #3 tích lũy (tự đánh giá 6 mảng theo rubric Staff/Principal); blog #136 ("Nhìn lại Technical Leadership: viết, quyết định, mentoring, chiến lược, stakeholder, và TLA+"); tag
leadership-complete; nghỉ nửa ngày.
GRAND CAPSTONE - CLOUD-NATIVE PLATFORM OPERATING SYSTEM
PHASE 0 - Foundation & Design (Ngày 1-18)
Ngày 1: Khởi động Grand Capstone
Mục tiêu: Vision & scope của Platform OS.
Lý thuyết: platform-as-product (nối Layer 6/11), mục tiêu tích hợp.
Thực hành: Repo
platform-os/; viết vision doc.
Ngày 2: Requirements & personas
Mục tiêu: Ai dùng platform.
Lý thuyết: personas dev/SRE/security/data (nối Layer 6).
Thực hành: Persona + jobs-to-be-done.
Ngày 3: Kiến trúc tổng thể
Mục tiêu: Bức tranh lớn.
Lý thuyết: control plane + data plane + platform services.
Thực hành: Vẽ high-level architecture.
Ngày 4: Foundational ADRs
Mục tiêu: Ghi quyết định nền (nối Leadership).
Lý thuyết: ADR cho các lựa chọn lớn.
Thực hành: 5 ADR nền tảng.
Ngày 5: API design as product
Mục tiêu: API bền vững (nối Layer 6/11).
Lý thuyết: versioning, backward compatibility.
Thực hành: API design principles doc.
Ngày 6: Repo & build
Mục tiêu: Nền code.
Lý thuyết: monorepo/multi-repo, build system.
Thực hành: Cấu trúc repo + build.
Ngày 7: Tech stack
Mục tiêu: Chọn công nghệ.
Lý thuyết: Go (control plane), Rust (DSL/perf), language mix (nối Layer 0/1).
Thực hành: ADR tech stack.
Ngày 8: Reconciliation model
Mục tiêu: Nền control plane (nối Layer 4).
Lý thuyết: desired vs actual, level-triggered.
Thực hành: Thiết kế reconciliation model.
Ngày 9: Domain model
Mục tiêu: Platform quản lý gì.
Lý thuyết: Platform/App/Environment/Tenant resources.
Thực hành: Domain model doc.
Ngày 10: Multi-tenancy model
Mục tiêu: Dùng chung an toàn (nối Layer 4).
Lý thuyết: namespace/vcluster/tenant isolation.
Thực hành: Multi-tenancy design.
Ngày 11: Golden path vision
Mục tiêu: DX mục tiêu (nối Layer 6).
Lý thuyết: self-service từ DSL → prod.
Thực hành: Golden path vision doc.
Ngày 12: NFRs
Mục tiêu: Yêu cầu phi chức năng.
Lý thuyết: SLO targets, security posture, cost (nối Layer 7/8/11).
Thực hành: NFR doc.
Ngày 13: Threat model
Mục tiêu: An toàn từ thiết kế (nối Layer 8).
Lý thuyết: STRIDE cho platform.
Thực hành: Threat model doc.
Ngày 14: Roadmap & phasing
Mục tiêu: Lộ trình build (nối Layer 11).
Lý thuyết: phase sequencing.
Thực hành: Roadmap 12 phase.
Ngày 15: RFC tổng thể
Mục tiêu: Đề xuất thiết kế (nối Leadership).
Lý thuyết: RFC platform design.
Thực hành: Viết RFC chính.
Ngày 16: CI/CD & dev env
Mục tiêu: Nền vận hành (nối Layer 6).
Lý thuyết: pipeline, dev environment.
Thực hành: CI/CD + dev setup.
Ngày 17: Testing strategy
Mục tiêu: Chất lượng từ đầu (nối Layer 4).
Lý thuyết: unit/integration/e2e/envtest.
Thực hành: Testing strategy doc.
Ngày 18: Foundation complete
Mục tiêu: Chốt nền.
Lý thuyết: rà design docs + repo + CI.
Thực hành: Kiểm kê Phase 0; sẵn sàng build.
PHASE 1 - Control Plane, CRD, Operator (Ngày 19-42) → P1
Ngày 19: Control plane architecture
Mục tiêu: Reconciliation core (nối Layer 4).
Lý thuyết: manager, controllers, cache.
Thực hành: Scaffold control plane.
Ngày 20: Core CRDs
Mục tiêu: API của platform.
Lý thuyết: Platform/Application/Environment/Tenant CRD.
Thực hành: Định nghĩa CRD types.
Ngày 21: CRD schema & versioning
Mục tiêu: API bền (nối Layer 4/6).
Lý thuyết: validation, defaulting, conversion webhook.
Thực hành: Schema + v1alpha→v1.
Ngày 22: controller-runtime
Mục tiêu: Framework.
Lý thuyết: Manager, Reconciler, Client.
Thực hành: Setup manager.
Ngày 23: Application controller
Mục tiêu: Reconcile app.
Lý thuyết: CR → child resources.
Thực hành: Cài Application reconcile.
Ngày 24: Tạo child resources
Mục tiêu: Từ CR ra k8s objects.
Lý thuyết: Deployment/Service/ConfigMap.
Thực hành: Reconcile tạo child.
Ngày 25: Owner refs & GC
Mục tiêu: Dọn tài nguyên (nối Layer 4).
Lý thuyết: ownerReferences, cascade delete.
Thực hành: Set owner refs.
Ngày 26: Finalizers
Mục tiêu: Cleanup ngoài.
Lý thuyết: finalizer, external cleanup.
Thực hành: Thêm finalizer.
Ngày 27: Status & conditions
Mục tiêu: Báo cáo trạng thái.
Lý thuyết: status subresource, conditions.
Thực hành: Cập nhật status.
Ngày 28: Admission webhooks
Mục tiêu: Chặn cấu hình sai (nối Layer 4).
Lý thuyết: validating + mutating.
Thực hành: Webhook cho CRD.
Ngày 29: Environment controller
Mục tiêu: Provision môi trường.
Lý thuyết: namespace/vcluster per env (nối Layer 4).
Thực hành: Environment reconcile.
Ngày 30: CỘT MỐC 30
Mục tiêu: Chốt nền control plane.
Lý thuyết: Ôn Phase 0-1 tới giờ; kiểm kê: CRD + Application/Environment controller.
Thực hành: Đề thi #1 (control plane/CRD/reconcile) + tự chấm; blog #137 ("Xây control plane cho một Platform OS: reconciliation từ số 0"); tag
capstone-day030; nghỉ nửa ngày. Đã đi 30/180 (17%).
Ngày 31: Tenant controller
Mục tiêu: Multi-tenancy (nối Layer 4/8).
Lý thuyết: RBAC + quota + NetworkPolicy per tenant.
Thực hành: Tenant reconcile áp isolation.
Ngày 32: Platform API
Mục tiêu: Cửa API.
Lý thuyết: aggregated API vs CRD-based.
Thực hành: Expose platform API.
Ngày 33: Dependency ordering
Mục tiêu: Thứ tự đúng.
Lý thuyết: reconcile phụ thuộc giữa resources.
Thực hành: Ordering + wait-for-ready.
Ngày 34: Error & requeue
Mục tiêu: Bền với lỗi.
Lý thuyết: backoff, requeueAfter.
Thực hành: Chiến lược requeue.
Ngày 35: Leader election & HA
Mục tiêu: Control plane HA.
Lý thuyết: leader election, replica.
Thực hành: Bật leader election.
Ngày 36: Observability controller
Mục tiêu: Nhìn control plane (nối Layer 7).
Lý thuyết: metrics/logs/traces reconcile.
Thực hành: Instrument controllers.
Ngày 37: Performance & scale
Mục tiêu: Chịu tải.
Lý thuyết: concurrent reconciles, cache.
Thực hành: Load test control plane.
Ngày 38: Testing controllers
Mục tiêu: Tin cậy (nối Layer 4).
Lý thuyết: envtest + e2e.
Thực hành: Test suite reconcile.
Ngày 39: RBAC least-privilege
Mục tiêu: An toàn (nối Layer 8).
Lý thuyết: quyền tối thiểu cho platform.
Thực hành: Siết RBAC.
Ngày 40: Packaging
Mục tiêu: Cài đặt được (nối Layer 4).
Lý thuyết: Helm/kustomize + OLM.
Thực hành: Đóng gói control plane.
Ngày 41: P1 - integrate & test
Mục tiêu: Control plane hoàn chỉnh.
Lý thuyết: rà toàn bộ controllers.
Thực hành: E2E: apply Platform CR → mọi thứ dựng.
Ngày 42: P1 - Control Plane + Operator/CRD
Mục tiêu: Release P1.
Lý thuyết: rà "done": CRD + controllers + webhook + HA + tests.
Thực hành: Đóng gói + blog #138 ("Control plane + Operator hoàn chỉnh cho Platform OS"). P1 done.
PHASE 2 - DSL (compiler/parser/validator/runtime) (Ngày 43-66) → P2
Ngày 43: DSL - vì sao
Mục tiêu: Ngôn ngữ riêng cho platform (nối Layer 1).
Lý thuyết: DSL cho provisioning/policy/workflow, hơn YAML.
Thực hành: DSL requirements doc.
Ngày 44: DSL language design
Mục tiêu: Cú pháp & ngữ nghĩa.
Lý thuyết: declarative, composable, typed.
Thực hành: Đặc tả ngôn ngữ.
Ngày 45: Grammar & AST
Mục tiêu: Nền compiler (nối Layer 1).
Lý thuyết: grammar, AST design.
Thực hành: Định nghĩa grammar + AST.
Ngày 46: Lexer
Mục tiêu: Token hoá.
Lý thuyết: lexical analysis.
Thực hành: Cài lexer.
Ngày 47: Parser
Mục tiêu: Dựng AST.
Lý thuyết: recursive descent/parser combinator.
Thực hành: Cài parser.
Ngày 48: Semantic analysis
Mục tiêu: Kiểm nghĩa (nối Layer 1).
Lý thuyết: type checking, scope, references.
Thực hành: Cài semantic analysis.
Ngày 49: Validator
Mục tiêu: Chặn cấu hình sai sớm.
Lý thuyết: static checks, policy constraints (nối Layer 5/8).
Thực hành: Validator rules.
Ngày 50: DSL - provisioning
Mục tiêu: Khai báo tài nguyên.
Lý thuyết: map DSL → platform resources.
Thực hành: DSL provisioning syntax.
Ngày 51: DSL - policy
Mục tiêu: Guardrails (nối Layer 5/8).
Lý thuyết: policy-as-DSL, OPA-like semantics.
Thực hành: DSL policy syntax.
Ngày 52: DSL - workflow
Mục tiêu: Pipeline/orchestration.
Lý thuyết: DAG/workflow in DSL.
Thực hành: DSL workflow syntax.
Ngày 53: IR
Mục tiêu: Biểu diễn trung gian (nối Layer 1).
Lý thuyết: IR để lowering.
Thực hành: Thiết kế IR.
Ngày 54: Compiler backend
Mục tiêu: DSL → manifests/CRD.
Lý thuyết: lowering IR → platform CRs.
Thực hành: Backend sinh CR.
Ngày 55: Runtime
Mục tiêu: Thực thi DSL.
Lý thuyết: interpret workflow, apply resources.
Thực hành: Runtime chạy DSL.
Ngày 56: Diagnostics
Mục tiêu: Lỗi rõ ràng (nối Layer 6 DX).
Lý thuyết: error message tốt, gợi ý sửa.
Thực hành: Diagnostics chất lượng.
Ngày 57: DSL tooling
Mục tiêu: DX cho DSL (nối Layer 1/6).
Lý thuyết: LSP, formatter, docs gen.
Thực hành: LSP + formatter cơ bản.
Ngày 58: DSL testing
Mục tiêu: DSL đúng.
Lý thuyết: test lexer/parser/semantics/backend.
Thực hành: Test suite DSL.
Ngày 59: DSL versioning
Mục tiêu: Tiến hoá DSL (nối Layer 6).
Lý thuyết: versioning, migration.
Thực hành: DSL version policy.
Ngày 60: CỘT MỐC 60
Mục tiêu: Chốt nền DSL.
Lý thuyết: Ôn Phase 2 tới giờ; kiểm kê: lexer→parser→semantic→backend→runtime.
Thực hành: Đề thi #2 (DSL/compiler) + tự chấm; blog #139 ("Một DSL riêng cho platform: compiler, validator, runtime"); tag
capstone-day060; nghỉ nửa ngày. Đã đi 60/180 (33%).
Ngày 61: DSL ↔ control plane
Mục tiêu: Nối Phase 1.
Lý thuyết: DSL compile → apply → reconcile.
Thực hành: DSL → platform CR → control plane dựng.
Ngày 62: DSL - composition
Mục tiêu: Tái sử dụng.
Lý thuyết: module, import, composition.
Thực hành: DSL modules.
Ngày 63: DSL - secrets & refs
Mục tiêu: An toàn (nối Layer 5).
Lý thuyết: tham chiếu secret, không hardcode.
Thực hành: Secret reference trong DSL.
Ngày 64: DSL - self-service
Mục tiêu: Golden path (nối Layer 6).
Lý thuyết: dev viết DSL → platform lo phần còn lại.
Thực hành: Self-service qua DSL.
Ngày 65: P2 - end-to-end
Mục tiêu: DSL chạy trọn.
Lý thuyết: compile → apply → reconcile → running.
Thực hành: E2E một app qua DSL.
Ngày 66: P2 - DSL with compiler
Mục tiêu: Release P2.
Lý thuyết: rà "done": compiler + validator + runtime + tooling + tests.
Thực hành: Đóng gói + blog #140 ("DSL cho platform từ số 0: từ grammar tới reconcile"). P2 done.
PHASE 3 - Mesh/Gateway/GitOps/Multi-cluster (Ngày 67-90) → P3
Ngày 67: Networking architecture
Mục tiêu: Mạng của platform (nối Layer 3/4).
Lý thuyết: CNI + mesh + gateway + multi-cluster.
Thực hành: Networking design doc.
Ngày 68: CNI & pod networking
Mục tiêu: Kết nối pod (nối Layer 2/4).
Lý thuyết: Cilium (eBPF), NetworkPolicy.
Thực hành: Cài Cilium.
Ngày 69: Service mesh
Mục tiêu: East-west (nối Layer 4).
Lý thuyết: Istio/Envoy, sidecar/ambient.
Thực hành: Cài mesh.
Ngày 70: mTLS everywhere
Mục tiêu: Zero trust (nối Layer 8).
Lý thuyết: mTLS mọi service.
Thực hành: Bật mTLS strict.
Ngày 71: xDS integration
Mục tiêu: Điều khiển proxy (nối Layer 4).
Lý thuyết: control plane cấp xDS.
Thực hành: Tích hợp xDS.
Ngày 72: Traffic management
Mục tiêu: Định tuyến (preview Phase 8).
Lý thuyết: routing, weighted, canary.
Thực hành: Traffic rules.
Ngày 73: API Gateway
Mục tiêu: North-south (nối Layer 4).
Lý thuyết: Gateway API.
Thực hành: Expose app qua gateway.
Ngày 74: Gateway - auth/rate/TLS
Mục tiêu: Bảo vệ biên (nối Layer 5/8).
Lý thuyết: auth, rate limit, cert-manager TLS.
Thực hành: Policy tại gateway.
Ngày 75: GitOps
Mục tiêu: Git là nguồn sự thật (nối Layer 4).
Lý thuyết: ArgoCD/Flux.
Thực hành: Cài GitOps.
Ngày 76: GitOps - platform config
Mục tiêu: Platform từ Git.
Lý thuyết: config + drift detection.
Thực hành: Platform config qua Git.
Ngày 77: App-of-apps
Mục tiêu: Quản lý nhiều app.
Lý thuyết: ApplicationSet.
Thực hành: App-of-apps cho platform.
Ngày 78: Multi-cluster - Cluster API
Mục tiêu: Cluster khai báo (nối Layer 3/4).
Lý thuyết: Cluster API.
Thực hành: Tạo cluster khai báo.
Ngày 79: Multi-cluster - fleet
Mục tiêu: Quản nhiều cluster (nối Layer 4).
Lý thuyết: fleet management, placement.
Thực hành: Fleet + placement policy.
Ngày 80: Workload placement
Mục tiêu: Đặt workload đúng cluster.
Lý thuyết: placement rule, affinity.
Thực hành: Deploy tới nhiều cluster.
Ngày 81: Cross-cluster mesh
Mục tiêu: Mesh xuyên cluster (nối Layer 4).
Lý thuyết: east-west gateway, shared trust.
Thực hành: Cross-cluster service call.
Ngày 82: Cross-cluster observability
Mục tiêu: Nhìn xuyên cluster (nối Layer 7).
Lý thuyết: aggregate signals.
Thực hành: Observability đa cluster.
Ngày 83: Network security
Mục tiêu: Segmentation (nối Layer 8).
Lý thuyết: NetworkPolicy, microsegmentation.
Thực hành: Default-deny + rules.
Ngày 84: Ingress/egress control
Mục tiêu: Kiểm soát vào/ra.
Lý thuyết: egress gateway, control.
Thực hành: Egress control.
Ngày 85: Service catalog
Mục tiêu: Discovery (nối Layer 6).
Lý thuyết: Backstage catalog integration.
Thực hành: Catalog services của platform.
Ngày 86: Self-service networking via DSL
Mục tiêu: Nối Phase 2.
Lý thuyết: khai báo networking trong DSL.
Thực hành: DSL → networking config.
Ngày 87: Testing networking
Mục tiêu: E2E.
Lý thuyết: connectivity + policy tests.
Thực hành: Networking e2e test.
Ngày 88: P3 - integrate
Mục tiêu: Mesh+gateway+gitops+multi-cluster.
Lý thuyết: rà toàn networking stack.
Thực hành: Tích hợp toàn bộ.
Ngày 89: P3 - cross-cluster deploy
Mục tiêu: Chứng minh.
Lý thuyết: deploy app xuyên cluster qua GitOps.
Thực hành: E2E cross-cluster deploy.
Ngày 90: CỘT MỐC 90
Mục tiêu: Chốt networking; release P3.
Lý thuyết: Ôn Phase 3; kiểm kê: mesh + gateway + GitOps + multi-cluster.
Thực hành: P3 done; đề thi #3 (mesh/gateway/gitops/multi-cluster) + tự chấm; blog #141 ("Nối platform: mesh, gateway, GitOps, multi-cluster"); tag
capstone-day090; nghỉ nửa ngày. Đã đi 90/180 (50%).
PHASE 4 - Virtualization/microVM (Ngày 91-102) → P4
Ngày 91: Isolation requirements
Mục tiêu: Workload nào cần microVM (nối Layer 2).
Lý thuyết: untrusted/multi-tenant workload.
Thực hành: Phân loại workload theo isolation.
Ngày 92: microVM integration
Mục tiêu: Chạy microVM (nối Layer 2).
Lý thuyết: Firecracker/Kata, containerd shim.
Thực hành: Chạy một microVM workload.
Ngày 93: RuntimeClass
Mục tiêu: Chọn runtime khai báo (nối Layer 4).
Lý thuyết: RuntimeClass (runc/kata/gvisor).
Thực hành: RuntimeClass cho microVM.
Ngày 94: Scheduling microVM
Mục tiêu: Đặt microVM đúng node.
Lý thuyết: node có KVM, taints.
Thực hành: Schedule microVM workload.
Ngày 95: microVM networking
Mục tiêu: Mạng cho microVM (nối Layer 2).
Lý thuyết: virtio-net + CNI.
Thực hành: microVM có mạng.
Ngày 96: microVM storage
Mục tiêu: Lưu trữ (nối Layer 2).
Lý thuyết: virtio-blk + CSI.
Thực hành: microVM có volume.
Ngày 97: microVM lifecycle
Mục tiêu: Quản qua control plane.
Lý thuyết: reconcile microVM workload.
Thực hành: Control plane quản microVM.
Ngày 98: Sandboxing tiers
Mục tiêu: Chọn mức cách ly (nối Layer 2).
Lý thuyết: container vs gVisor vs microVM.
Thực hành: Policy chọn tier theo tenant.
Ngày 99: Confidential computing
Mục tiêu: Cách ly mạnh nhất (nối Layer 8).
Lý thuyết: confidential containers (SEV/TDX).
Thực hành: Đọc + thử (nếu có phần cứng).
Ngày 100:
Mục tiêu: Kiểm kê lớn giữa Capstone.
Lý thuyết: Ôn Phase 0-4; kiểm kê lớn: control plane + DSL + networking + microVM; đối chiếu vision.
Thực hành: Đề thi #4 tích lũy (control plane+DSL+networking+microVM) + tự chấm theo rubric; blog #142 ("100 ngày Grand Capstone: control plane, DSL, networking, microVM"); tag
capstone-day100; nghỉ nửa ngày. Đã đi 100/180 (56%).
Ngày 101: P4 - microVM via DSL
Mục tiêu: Self-service isolation.
Lý thuyết: khai báo microVM trong DSL.
Thực hành: DSL → microVM workload chạy.
Ngày 102: P4 - microVM integration
Mục tiêu: Release P4.
Lý thuyết: rà "done": microVM runtime + networking + storage + lifecycle.
Thực hành: Đóng gói + blog #143 ("microVM cho workload cách ly trong Platform OS"). P4 done.
PHASE 5 - Observability (Ngày 103-120) → P5
Ngày 103: Observability architecture
Mục tiêu: 4 tín hiệu (nối Layer 7).
Lý thuyết: metrics/logs/traces/profiles + correlation.
Thực hành: Observability design doc.
Ngày 104: Instrumentation (OTel)
Mục tiêu: Phát tín hiệu (nối Layer 7).
Lý thuyết: OTel across platform + collector.
Thực hành: Instrument control plane + workloads.
Ngày 105: Metrics
Mục tiêu: Số đo (nối Layer 7).
Lý thuyết: Prometheus + long-term.
Thực hành: Metrics platform.
Ngày 106: Logs
Mục tiêu: Nhật ký (nối Layer 7).
Lý thuyết: Loki + pipeline + trace_id.
Thực hành: Logs platform.
Ngày 107: Traces
Mục tiêu: Dấu vết (nối Layer 7).
Lý thuyết: Tempo + tail sampling.
Thực hành: Traces platform.
Ngày 108: Profiling
Mục tiêu: Trụ 4 (nối Layer 7).
Lý thuyết: Pyroscope/Parca.
Thực hành: Continuous profiling.
Ngày 109: Correlation
Mục tiêu: Nối tín hiệu (nối Layer 7).
Lý thuyết: exemplars + trace_id + span profiles.
Thực hành: Correlation end-to-end.
Ngày 110: Platform dashboards
Mục tiêu: Sức khoẻ platform.
Lý thuyết: control plane health dashboard.
Thực hành: Dashboard platform.
Ngày 111: Per-tenant observability
Mục tiêu: Multi-tenant (nối Layer 7).
Lý thuyết: tenant isolation trong observability.
Thực hành: Signals theo tenant.
Ngày 112: SLO instrumentation
Mục tiêu: Chuẩn bị reliability (nối Layer 11).
Lý thuyết: SLI cho platform services.
Thực hành: SLI metrics.
Ngày 113: Alerting
Mục tiêu: Cảnh báo (nối Layer 7/11).
Lý thuyết: burn-rate alert.
Thực hành: Alert platform.
Ngày 114: Observability self-service
Mục tiêu: Dev thấy signals (nối Layer 6).
Lý thuyết: golden path tự nối observability.
Thực hành: Self-service dashboards.
Ngày 115: Auto-instrumentation
Mục tiêu: Không cần công (nối Layer 6).
Lý thuyết: golden path tự instrument.
Thực hành: App mới có sẵn signals.
Ngày 116: Observe DSL/control plane
Mục tiêu: Quan sát chính mình.
Lý thuyết: trace DSL compile + reconcile.
Thực hành: Observability cho platform internals.
Ngày 117: Cost of observability
Mục tiêu: Không phá ngân sách (nối Layer 11).
Lý thuyết: retention, sampling, cost.
Thực hành: Cost guardrail.
Ngày 118: Testing observability
Mục tiêu: Tín hiệu đúng.
Lý thuyết: verify signals + correlation.
Thực hành: Observability test.
Ngày 119: P5 - integrate
Mục tiêu: Observability hoàn chỉnh.
Lý thuyết: 4 tín hiệu + correlation + self-service.
Thực hành: Tích hợp toàn bộ.
Ngày 120: CỘT MỐC 120
Mục tiêu: Chốt observability; release P5.
Lý thuyết: Ôn Phase 5; kiểm kê: 4 tín hiệu + correlation + per-tenant.
Thực hành: P5 done; đề thi #5 (observability tích hợp) + tự chấm; blog #144 ("Observability 4 tín hiệu + correlation cho Platform OS"); tag
capstone-day120; nghỉ nửa ngày. Đã đi 120/180 (67%).
PHASE 6 - Security (Ngày 121-138) → P6
Ngày 121: Security architecture
Mục tiêu: Zero trust (nối Layer 8/5).
Lý thuyết: never trust, assume breach.
Thực hành: Security architecture doc.
Ngày 122: Workload identity
Mục tiêu: Máy có danh tính (nối Layer 5/8).
Lý thuyết: SPIFFE/SPIRE, mTLS identity.
Thực hành: Cấp SVID cho workload.
Ngày 123: PKI & cert
Mục tiêu: Chứng chỉ (nối Layer 5/8).
Lý thuyết: CA hierarchy, cert-manager.
Thực hành: PKI + auto-rotate cert.
Ngày 124: Secret management
Mục tiêu: Secret an toàn (nối Layer 5).
Lý thuyết: Vault, dynamic secret, injection.
Thực hành: Tích hợp Vault.
Ngày 125: Policy (OPA/Kyverno)
Mục tiêu: Guardrails (nối Layer 4/5/8).
Lý thuyết: validate/mutate/generate policy.
Thực hành: Bộ policy platform.
Ngày 126: Policy-as-code + tests
Mục tiêu: Policy tin cậy (nối Layer 8).
Lý thuyết: test policy, audit mode.
Thực hành: Policy có test.
Ngày 127: Admission verify
Mục tiêu: Chỉ chạy cái đã ký (nối Layer 8).
Lý thuyết: verify signature + provenance.
Thực hành: Admission verify image.
Ngày 128: Supply chain
Mục tiêu: Tin cậy artifact (nối Layer 8).
Lý thuyết: SBOM + SLSA + cosign.
Thực hành: Signed supply chain cho platform.
Ngày 129: Signed platform images
Mục tiêu: Platform tự an toàn.
Lý thuyết: ký image platform + enforce.
Thực hành: Sign + admission enforce.
Ngày 130: Runtime security
Mục tiêu: Phát hiện lúc chạy (nối Layer 8).
Lý thuyết: Falco/Tetragon.
Thực hành: Detection rules.
Ngày 131: Runtime enforcement
Mục tiêu: Chặn hành vi xấu (nối Layer 8).
Lý thuyết: enforcement + response.
Thực hành: Enforce + response.
Ngày 132: Network security
Mục tiêu: Segmentation (nối Layer 8).
Lý thuyết: NetworkPolicy, egress control (recap Phase 3).
Thực hành: Siết network security.
Ngày 133: Pod security
Mục tiêu: Pod an toàn (nối Layer 4/8).
Lý thuyết: PSA restricted, securityContext.
Thực hành: Enforce PSA.
Ngày 134: Encryption
Mục tiêu: Mã hoá dữ liệu (nối Layer 8).
Lý thuyết: at rest + in transit, KMS.
Thực hành: Encryption everywhere.
Ngày 135: Audit logging
Mục tiêu: Truy vết (nối Layer 7/8).
Lý thuyết: audit log tập trung.
Thực hành: Audit log platform.
Ngày 136: Compliance
Mục tiêu: Ánh xạ chuẩn (nối Layer 8).
Lý thuyết: CIS/NIST mapping.
Thực hành: Compliance-as-code check.
Ngày 137: Security via DSL
Mục tiêu: Policy trong DSL (nối Phase 2).
Lý thuyết: khai báo guardrail bằng DSL.
Thực hành: DSL policy → enforce.
Ngày 138: P6 - Security integrated
Mục tiêu: Release P6.
Lý thuyết: rà "done": zero-trust + policy + supply chain + runtime + compliance.
Thực hành: Đóng gói + blog #145 ("Bảo mật toàn diện cho Platform OS: zero trust, supply chain, runtime"). P6 done.
PHASE 7 - Data & AI Platform (Ngày 139-150) → P7
Ngày 139: Data platform architecture
Mục tiêu: Data dùng chung (nối Layer 9).
Lý thuyết: ingest → lakehouse → query → catalog.
Thực hành: Data platform design.
Ngày 140: Data - streaming + lakehouse
Mục tiêu: Đường dữ liệu (nối Layer 9).
Lý thuyết: Kafka/CDC → Iceberg/Delta.
Thực hành: Ingest → lakehouse.
Ngày 141: Data - query + catalog
Mục tiêu: Phục vụ & governance (nối Layer 9).
Lý thuyết: Trino + catalog + lineage.
Thực hành: Query + catalog.
Ngày 142: Data self-service
Mục tiêu: Golden path data (nối Layer 9/6).
Lý thuyết: khai báo pipeline qua DSL.
Thực hành: Self-service data pipeline.
Ngày 143: AI - GPU infra
Mục tiêu: Nền AI (nối Layer 10).
Lý thuyết: GPU scheduling/MIG/DCGM.
Thực hành: GPU infra trên platform.
Ngày 144: AI - training + registry
Mục tiêu: Vòng đời model (nối Layer 10).
Lý thuyết: distributed training + MLflow.
Thực hành: Train → registry.
Ngày 145: AI - serving + LLM
Mục tiêu: Phục vụ model (nối Layer 10).
Lý thuyết: KServe/Triton + vLLM.
Thực hành: Serve model/LLM.
Ngày 146: AI - RAG + LLMOps
Mục tiêu: Ứng dụng LLM (nối Layer 10).
Lý thuyết: vector DB + RAG + eval/guardrails.
Thực hành: RAG endpoint.
Ngày 147: Data/AI governance & security
Mục tiêu: An toàn dữ liệu (nối Layer 9/8).
Lý thuyết: PII/masking + access control.
Thực hành: Governance data/AI.
Ngày 148: Data/AI via DSL + golden path
Mục tiêu: Self-service (nối Phase 2/Layer 6).
Lý thuyết: khai báo data/AI workload qua DSL.
Thực hành: DSL → data/AI workload.
Ngày 149: P7 - integrate
Mục tiêu: Data + AI dùng chung.
Lý thuyết: rà toàn stack data/AI.
Thực hành: Tích hợp trên platform.
Ngày 150: CỘT MỐC 150
Mục tiêu: Chốt data & AI; release P7.
Lý thuyết: Ôn Phase 7; kiểm kê: data platform + AI platform dùng chung.
Thực hành: P7 done; đề thi #6 (data/AI platform tích hợp) + tự chấm; blog #146 ("Data & AI platform dùng chung trong Platform OS"); tag
capstone-day150; nghỉ nửa ngày. Đã đi 150/180 (83%).
PHASE 8 - Progressive Delivery (Ngày 151-156)
Ngày 151: Progressive delivery cho platform
Mục tiêu: Nâng cấp platform an toàn (nối Layer 6).
Lý thuyết: deploy tách release, canary.
Thực hành: Design progressive delivery.
Ngày 152: Canary platform components
Mục tiêu: Canary chính platform (nối Layer 6).
Lý thuyết: Argo Rollouts cho control plane/components.
Thực hành: Canary một component.
Ngày 153: SLO-based promotion
Mục tiêu: Promote theo độ tin cậy (nối Layer 11).
Lý thuyết: analysis theo SLO.
Thực hành: Promotion theo SLO.
Ngày 154: Feature flags
Mục tiêu: Tách release (nối Layer 6).
Lý thuyết: OpenFeature cho platform features.
Thực hành: Flag một tính năng platform.
Ngày 155: Auto-rollback
Mục tiêu: An toàn tự động (nối Layer 6).
Lý thuyết: rollback khi SLO vi phạm.
Thực hành: Auto-rollback platform upgrade.
Ngày 156: Test progressive delivery
Mục tiêu: Nâng cấp platform không downtime.
Lý thuyết: canary + rollback cho một upgrade.
Thực hành: Upgrade platform qua progressive delivery.
PHASE 9 - Reliability (Ngày 157-168) → P8
Ngày 157: Reliability architecture
Mục tiêu: SLO cho platform (nối Layer 11).
Lý thuyết: SLI/SLO/error budget.
Thực hành: SLO cho platform services.
Ngày 158: SLO dashboard
Mục tiêu: Nhìn độ tin cậy (nối Layer 11/7).
Lý thuyết: SLO + budget burndown.
Thực hành: SLO dashboard platform.
Ngày 159: Error budget policy
Mục tiêu: Budget dẫn quyết định (nối Layer 11).
Lý thuyết: freeze khi budget cạn.
Thực hành: Error budget policy.
Ngày 160: Chaos experiments
Mục tiêu: Tìm điểm gãy (nối Layer 11).
Lý thuyết: Chaos Mesh, hypothesis, blast radius.
Thực hành: Chaos experiments cho platform.
Ngày 161: Game-day
Mục tiêu: Diễn tập (nối Layer 11).
Lý thuyết: game-day plan + roles.
Thực hành: Game-day platform.
Ngày 162: DR - backup (Velero)
Mục tiêu: Sao lưu (nối Layer 11/4).
Lý thuyết: Velero backup/restore.
Thực hành: Backup platform state.
Ngày 163: DR - multi-region failover
Mục tiêu: Chuyển vùng (nối Layer 11/5).
Lý thuyết: multi-region, RTO/RPO.
Thực hành: Failover platform sang region khác.
Ngày 164: DR runbook
Mục tiêu: Phục hồi có hướng dẫn (nối Layer 11).
Lý thuyết: DR runbook + validation.
Thực hành: Viết DR runbook.
Ngày 165: Incident management
Mục tiêu: Xử sự cố (nối Layer 11).
Lý thuyết: on-call + escalation + postmortem.
Thực hành: Incident process cho platform.
Ngày 166: Capacity planning
Mục tiêu: Đủ tài nguyên (nối Layer 11).
Lý thuyết: demand forecast + headroom.
Thực hành: Capacity plan platform.
Ngày 167: P8 - reliability integrate
Mục tiêu: SLO + chaos + DR.
Lý thuyết: rà toàn reliability.
Thực hành: Game-day: chaos + failover, SLO chịu được.
Ngày 168: P8 - Reliability
Mục tiêu: Release P8.
Lý thuyết: rà "done": SLO dashboard + chaos + DR runbook.
Thực hành: Đóng gói + blog #147 ("Reliability cho Platform OS: SLO, chaos, DR"). P8 done.
PHASE 10 - Dashboards & OSS Release (Ngày 169-180) → P9 flagship
Ngày 169: Dashboard - DORA
Mục tiêu: Đo delivery (nối Layer 6).
Lý thuyết: deploy freq/lead time/CFR/MTTR.
Thực hành: DORA dashboard.
Ngày 170: Dashboard - SPACE/DevEx
Mục tiêu: Đo trải nghiệm (nối Layer 6).
Lý thuyết: SPACE + DevEx metrics.
Thực hành: DevEx dashboard.
Ngày 171: Dashboard - FinOps/Capacity
Mục tiêu: Đo chi phí (nối Layer 11).
Lý thuyết: cost allocation + capacity.
Thực hành: FinOps + capacity dashboard.
Ngày 172: Platform product metrics
Mục tiêu: Đo giá trị platform (nối Layer 6/11).
Lý thuyết: adoption, time-to-value, NPS.
Thực hành: Adoption dashboard.
Ngày 173: Docs - architecture
Mục tiêu: Tài liệu như OSS.
Lý thuyết: architecture doc + diagrams.
Thực hành: Architecture documentation.
Ngày 174: Docs - RFC/ADR archive
Mục tiêu: Lưu quyết định (nối Leadership).
Lý thuyết: RFC + ADR archive.
Thực hành: Tổng hợp RFC/ADR.
Ngày 175: Docs - runbook/roadmap
Mục tiêu: Vận hành + hướng đi (nối Layer 11).
Lý thuyết: runbook library + roadmap.
Thực hành: Runbooks + roadmap.
Ngày 176: Docs - getting-started/golden path
Mục tiêu: Dev tự dùng (nối Layer 6).
Lý thuyết: getting-started, golden path docs.
Thực hành: Onboarding docs.
Ngày 177: OSS readiness
Mục tiêu: Sẵn sàng cộng đồng (nối Layer 13).
Lý thuyết: CONTRIBUTING, governance, license.
Thực hành: OSS setup + governance.
Ngày 178: Full integration test
Mục tiêu: Toàn platform chạy.
Lý thuyết: E2E: DSL → control plane → mesh → observ → security → data/AI.
Thực hành: Full E2E test.
Ngày 179: Full game-day + final review
Mục tiêu: Chứng minh toàn diện.
Lý thuyết: chaos + DR + SLO dưới tải; rà toàn Capstone.
Thực hành: Game-day tổng + final review.
Ngày 180: HOÀN THÀNH GRAND CAPSTONE
Mục tiêu: Chốt Cloud-Native Platform OS - tích hợp toàn bộ chương trình.
Lý thuyết: Ôn toàn Capstone; kiểm kê tổng: P1 control plane + P2 DSL + P3 networking + P4 microVM + P5 observability + P6 security + P7 data/AI + P8 reliability + P9 full platform + dashboards + OSS docs.
Thực hành: P9 done; đề thi #7 tích lũy (toàn Capstone) + tự chấm theo rubric; blog #148 ("Cloud-Native Platform OS: tích hợp cả hành trình thành một sản phẩm"); tag
capstone-complete; nghỉ trọn một ngày ăn mừng.