# 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.
