<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Incident Management · Nhân Tài Đức</title>
    <link>https://jared.lynskey.co.nz/vi/tags/incident-management/</link>
    <description>Những câu chuyện ngắn về kỹ thuật phần mềm và lãnh đạo đội ngũ kỹ sư — performance review, tuyển dụng và mở rộng team, CI/CD, giám sát DevOps và AI agent. Viết từ Seoul.</description>
    <generator>Hugo</generator>
    <language>vi</language>
    <copyright>© 2026 Nhân Tài Đức</copyright>
    <lastBuildDate>Wed, 28 Oct 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/vi/tags/incident-management/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Blameless postmortem và kế hoạch khôi phục sau thảm hoạ: xử lý lỗi do con người trong IT</title>
      <link>https://jared.lynskey.co.nz/vi/posts/2023/2023-10-07-handling-human-errors/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/vi/posts/2023/2023-10-07-handling-human-errors/</guid>
      <pubDate>Sat, 07 Oct 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Blameless Postmortem</category>
      <category>Incident Management</category>
      <category>Disaster Recovery</category>
      <category>Human Error</category>
      <category>Risk Management</category>
      <category>SRE</category>
      <description>Blameless postmortem là gì, một mẫu báo cáo sự cố đơn giản, và những thói quen nhàm chán giúp lỗi do con người không thành thảm hoạ: viết quy trình, tự động hoá, và kế hoạch khôi phục đã được diễn tập.</description>
      <content:encoded><![CDATA[<p>Blameless postmortem (bản rút kinh nghiệm sự cố không đổ lỗi) là một bản viết lại về sự cố, trong đó câu hỏi đặt ra là hệ thống đã để lỗi xảy ra như thế nào, chứ không phải ai đã gây ra lỗi. Đây là thói quen hữu ích nhất mà tôi biết để xử lý lỗi do con người trong IT, vì người ta chỉ dám nhận lỗi sớm khi biết chắc mình sẽ không bị phạt. Phần còn lại thì chẳng có gì hào nhoáng: giảm bớt cơ hội mắc lỗi ngay từ đầu, và có sẵn một kế hoạch đã diễn tập cho lúc chuyện lớn vẫn xảy ra.</p>
<p>Hồi còn ở New Zealand, tôi từng làm một năm ở bộ phận vận hành mạng (network operations) của nhà mạng Spark, và bài học đọng lại khá đơn giản: con người sẽ mắc lỗi, hệ thống sẽ hỏng, và chúng cứ theo lịch của riêng mình, chẳng thèm hỏi bạn đã sẵn sàng chưa. Thứ duy nhất bạn kiểm soát được là mình đã chuẩn bị đến đâu khi chuyện xảy ra.</p>

<h3 class="relative group">Để mọi người dám nhận lỗi: blameless postmortem
    <div id="để-mọi-người-dám-nhận-lỗi-blameless-postmortem" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%c4%91%e1%bb%83-m%e1%bb%8di-ng%c6%b0%e1%bb%9di-d%c3%a1m-nh%e1%ba%adn-l%e1%bb%97i-blameless-postmortem" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Cải thiện lớn nhất lại không nằm ở kỹ thuật. Nếu mắc lỗi là bị phạt, người ta sẽ giấu lỗi, và một lỗi bị giấu sẽ được sửa muộn hơn đáng lẽ hàng giờ, thậm chí hàng ngày. Một đội mà ai đó dám nói “Tôi làm hỏng rồi, đây là chính xác những gì tôi đã làm” chỉ trong vài phút thì lúc nào cũng khắc phục nhanh hơn. Bước tiếp theo cũng quan trọng không kém: đừng dừng lại ở chỗ vá triệu chứng. Hãy đào đến tận nguyên nhân gốc, không thì cùng một lỗi sẽ quay lại dưới một hình dạng khác.</p>
<p>Bước tiếp theo đó chính là việc của một bản blameless postmortem. Sau mỗi sự cố đáng để rút kinh nghiệm, sẽ có người viết lại: chuyện gì đã xảy ra, thiệt hại ra sao, đã khắc phục thế nào. Bản viết này mặc định rằng ai cũng đã hành động với thiện ý, dựa trên những gì họ biết vào lúc đó, nên thay vì hỏi lỗi tại ai, nó hỏi điều gì đã khiến lỗi dễ xảy ra đến vậy: thiếu một bước xác nhận, bảng điều khiển (dashboard) dễ gây hiểu nhầm, hay tài liệu hướng dẫn xử lý (runbook) vốn chưa từng có. Câu “Một kỹ sư lỡ tay chạy migration trên production” sẽ trở thành “Script triển khai cho phép chạy migration trên production mà không cần xác nhận gì cả”. Sau đó bản viết được chia sẻ để các đội khác cũng học được, và kết thúc bằng danh sách việc cần làm (action item), mỗi việc có người phụ trách và hạn chót, để nó không biến thành một tài liệu chẳng ai làm theo. Nếu muốn đọc bản đầy đủ, chương về postmortem trong sách SRE của Google, <a href="https://sre.google/sre-book/postmortem-culture/"  target="_blank" rel="noreferrer">Postmortem Culture: Learning from Failure</a>, viết rất kỹ, kèm cả <a href="https://sre.google/sre-book/example-postmortem/"  target="_blank" rel="noreferrer">một ví dụ hoàn chỉnh</a>.</p>

<h3 class="relative group">Mẫu blameless postmortem
    <div id="mẫu-blameless-postmortem" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#m%e1%ba%abu-blameless-postmortem" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Lúc đầu chỉ cần chừng này là đủ. Hãy giữ nó đủ ngắn để mọi người chịu điền vào.</p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Postmortem: &lt;tiêu đề ngắn&gt;
</span></span></span><span class="line"><span class="cl">Ngày: YYYY-MM-DD · Người viết: &lt;tên&gt; · Trạng thái: bản nháp / đã rà soát
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Tóm tắt
</span></span></span><span class="line"><span class="cl">Hai, ba câu: cái gì hỏng, hỏng bao lâu, khắc phục thế nào.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Ảnh hưởng
</span></span></span><span class="line"><span class="cl">Ai bị ảnh hưởng, bao nhiêu người, trong bao lâu. Có mất dữ liệu hay doanh thu không.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Dòng thời gian
</span></span></span><span class="line"><span class="cl">Dùng một múi giờ duy nhất.
</span></span><span class="line"><span class="cl"><span class="k">-</span> 14:02 bắt đầu triển khai
</span></span><span class="line"><span class="cl"><span class="k">-</span> 14:09 cảnh báo đầu tiên bắn ra
</span></span><span class="line"><span class="cl"><span class="k">-</span> 14:15 bắt đầu rollback
</span></span><span class="line"><span class="cl"><span class="k">-</span> 14:21 tỷ lệ lỗi trở lại bình thường
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Các yếu tố góp phần
</span></span></span><span class="line"><span class="cl">Điều gì trong hệ thống, quy trình hay công cụ đã để chuyện này xảy ra. Không ghi tên người.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Điều đã làm tốt
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Điều chưa tốt
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## Việc cần làm
</span></span></span><span class="line"><span class="cl">| Việc                                    | Người phụ trách | Hạn        |
</span></span><span class="line"><span class="cl">|-----------------------------------------|-----------------|------------|
</span></span><span class="line"><span class="cl">| Thêm bước xác nhận vào script migration | &lt;tên&gt;           | YYYY-MM-DD |</span></span></code></pre></div></div>

<h3 class="relative group">Giảm khả năng mắc lỗi ngay từ đầu
    <div id="giảm-khả-năng-mắc-lỗi-ngay-từ-đầu" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gi%e1%ba%a3m-kh%e1%ba%a3-n%c4%83ng-m%e1%ba%afc-l%e1%bb%97i-ngay-t%e1%bb%ab-%c4%91%e1%ba%a7u" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Ở phần này, ba việc nhàm chán gánh gần hết công sức. Một là giữ kỹ năng luôn được cập nhật — lỗi rất “ưa” kiến thức lỗi thời, nên đào tạo định kỳ là bảo trì chứ không phải phúc lợi. Hai là viết quy trình ra thành văn bản — rất nhiều “lỗi do con người” thực chất là lỗi do mơ hồ, ai đó phải đoán vì tài liệu vốn không tồn tại. Ba là tự động hoá những việc lặp đi lặp lại: con người cực kỳ kém khoản làm đúng một việc năm trăm lần liền, còn máy tính thì sinh ra chính là để làm việc đó. Ngoài ba việc này, hãy để thêm một người nữa soát lại mọi thứ có rủi ro. Rà soát chéo, hay thậm chí chỉ là một bước tự kiểm tra có bài bản, cũng bắt được một tỷ lệ lỗi nhiều đến đáng xấu hổ trước khi chúng kịp lọt ra ngoài.</p>

<h3 class="relative group">Lên kế hoạch cho sự cố lớn trước khi nó ập đến
    <div id="lên-kế-hoạch-cho-sự-cố-lớn-trước-khi-nó-ập-đến" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#l%c3%aan-k%e1%ba%bf-ho%e1%ba%a1ch-cho-s%e1%bb%b1-c%e1%bb%91-l%e1%bb%9bn-tr%c6%b0%e1%bb%9bc-khi-n%c3%b3-%e1%ba%adp-%c4%91%e1%ba%bfn" aria-label="Cọc dấu">#</a>
    </span>
    
</h3>
<p>Hãy bắt đầu bằng một bản đánh giá rủi ro trung thực: điểm yếu bên trong như hạ tầng CNTT, mối đe doạ bên ngoài như thiên tai. Thiết lập <a href="https://jared.lynskey.co.nz/vi/posts/2025/2025-10-13-devops-monitoring/" >giám sát</a> theo thời gian thực làm hệ thống cảnh báo sớm. Sau đó viết ra các kế hoạch: kế hoạch duy trì hoạt động kinh doanh (business continuity plan) cho các sự cố gián đoạn nói chung, và kế hoạch khôi phục sau thảm hoạ (disaster recovery plan) dành riêng cho mảng CNTT. Kế hoạch khôi phục cần ghi rõ mỗi hệ thống được phép ngừng tối đa bao lâu và được phép mất tối đa bao nhiêu dữ liệu (thời gian khôi phục mục tiêu RTO và điểm khôi phục mục tiêu RPO).</p>
<p>Kế hoạch chưa thử thì chỉ là phỏng đoán, nên hãy tổ chức diễn tập. Quyết định trước ai sẽ báo gì cho bên liên quan nào, vì truyền thông khủng hoảng kiểu ứng biến chính là cách sự hoảng loạn lan ra. Và đừng bỏ qua những việc chẳng mấy hào nhoáng còn lại: giữ liên lạc với chính quyền địa phương, bảo trì đều đặn, mua đúng loại bảo hiểm.</p>
<p>Chẳng việc nào ở đây thú vị cả, có lẽ vì thế mà nó hiệu quả. Những công ty xử lý sự cố tốt không phải nhờ may mắn — họ đã lên kế hoạch cho sự cố từ khi mọi thứ còn yên ổn.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-10-07-handling-human-errors/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
