」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 生產準備清單

生產準備清單

發佈於2024-08-05
瀏覽:380

Production Readiness Checklist

我一直在研究多個項目,我已將應用程式從 PoC 轉移到生產環境。
這些是我為自己和我的團隊準備的清單,以確保我們做好生產準備。
這裡檢查表是重點,因為應用程式採用 Python 程式語言並透過 Kubernetes 部署到 AWS。
並非所有這些都是強制性的,但它們是我發現最有用的。

1. 警報和指標

  • [ ] 是否針對基礎設施問題設定了警報(例如記憶體或 CPU 使用率增加、服務不可用)?
  • [ ] 是否為關鍵的應用程式特定邏輯故障設定警報?
  • [ ] 我們可以查看基礎設施和資源使用情況的歷史資料(過去幾個小時/幾天)嗎?
  • [ ] 是否有即時監控儀表板?

2. 儀表板和SOP

  • [ ] 是否有處理警報和已知問題的 SOP 文件?
  • [ ] 是否有適用於常見場景的操作手冊?
  • [ ] 是否有適當的事件回應計畫?

3. 待命映射和節奏

  • [ ] 是否有針對應用程式層級問題的待命人員映射?
  • [ ] 是否有針對基礎設施相關問題的待命人員映射?
  • [ ] 是否有明確的輪調時間表和升級政策?

4. 部署

  • [ ] 是否已確定適當的實例類型(GPU 或 CPU)?
  • [ ] 是否已指定所需的伺服器類型?
  • [ ] 是否支援故障轉移的多可用區?
  • [ ] 是否支援多區域?
  • [ ] 是否針對流量高峰設定了自動縮放(例如 HPA、Keda)?
  • [ ] 是否為伺服器配置了健康檢查?
  • [ ] 資源限制是否已定義並記錄?
  • [ ] 是否有藍綠或金絲雀部署策略?
  • [ ] 是否有明確的回溯計畫和程序?

5. 可觀察性和追蹤性

  • [ ] 是否有顯示相關指標的儀表板(例如請求計數、HTTP 狀態代碼、使用情況)?
  • [ ] 我們可以端到端追蹤單一請求以進行調試嗎?
  • [ ] 是否有日誌聚合與分析系統?
  • [ ] 是否實現了分散式追蹤?

6.負載測試

  • [ ] 是否已執行容量規劃來確定伺服器的負載處理能力?
  • [ ] 是否有明確的性能基準?
  • [ ] 是否進行了壓力測試?

7. 質量

  • [ ] 是否有自動化單元測試?
  • [ ] 是否有自動化整合測試?
  • [ ] 是否執行靜態程式碼分析(例如複雜度檢查)?
  • [ ] 代碼覆蓋率是否經過測量並處於可接受的水平?
  • [ ] 是否有生產健全性測試案例?
  • [ ] 是否有 CI/CD 管路?
  • [ ] 是否定期進行安全掃描與漏洞評估?

8. 發布

  • [ ] Swagger/OpenAPI 文件是否可用且是最新的?
  • [ ] 是否有 API 和版本的版本控制系統?
  • [ ] 是否有已建立的溝通管道用於定期維護?
  • [ ] 是否有變更管理流程?
  • [ ] 功能標誌是否用於逐步推出新功能?

9. 災難復原和業務連續性

  • [ ] 備份和復原程序是否已到位並經過測試?
  • [ ] 有資料複製策略嗎?
  • [ ] 是否已定義復原時間目標 (RTO) 與復原點目標 (RPO)?
  • [ ] 是否定期進行災難復原演習?

10. 合規性和安全性

  • [ ] 資料在靜態和傳輸過程中是否加密?
  • [ ] 存取控制和身分驗證機制是否到位?
  • [ ] 是否定期進行安全審核?
  • [ ] 應用是否符合相關行業標準(例如 GDPR、HIPAA)?

11. 文件

  • [ ] 系統架構文件是否可用且是最新的?
  • [ ] API 文件是否完整且最新?
  • [ ] 操作程序是否記錄在案?
  • [ ] 是否有全面的故障排除指南?
版本聲明 本文轉載於:https://dev.to/soumendrak/production-readiness-checklist-1io5?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • React 中的 UseEffect
    React 中的 UseEffect
    歡迎 React Hooks 的世界!今天,我們將深入探討最受歡迎的掛鉤之一:useEffect。別擔心,我們會讓它變得有趣且易於理解。那麼,就讓我們開始吧! ? ?什麼是useEffect useEffect 是一個 React Hook,可讓您在功能元件中執行副作用。副作用是在元件外部發生的操...
    程式設計 發佈於2024-11-06
  • 如何在 Google Cloud Platform 免費層上建立現代資料平台
    如何在 Google Cloud Platform 免費層上建立現代資料平台
    我在 Medium.com 上發布了一系列七篇免費公開文章「如何在 Google Cloud Platform 免費層上建立現代資料平台」。 主要文章位於:https://medium.com/@markwkiehl/building-a-data-platform-on-gcp-0427500f...
    程式設計 發佈於2024-11-06
  • 貼文 #f 掙扎
    貼文 #f 掙扎
    這篇文章是關於我迄今為止在編碼和學習方面的掙扎 一個。我只能保持專註一個小時,最多兩個小時。 b.我很容易分心 c.我不能久坐,否則我會開始感到煩躁和休息腿部問題。 我想到的有助於解決問題的解決方案 一個。我需要開始更頻繁地使用我的番茄工作法應用程式 B. 我開始將手機調成震動,如果我有另一個螢...
    程式設計 發佈於2024-11-06
  • 面向 Web 開發人員的熱門 Chrome 擴充功能 4
    面向 Web 開發人員的熱門 Chrome 擴充功能 4
    2024 年最適合 Web 開發者的 10 款 Chrome 擴展 隨著 2024 年的進展,Chrome 擴充功能已成為 Web 開發人員工具包中不可或缺的一部分,在瀏覽器中提供強大的功能。在這篇文章中,我們將探討今年在 Web 開發社群掀起波瀾的 10 大 Chrome 擴充功...
    程式設計 發佈於2024-11-06
  • 如何使用 React Router v4/v5 巢狀路由:簡化指南
    如何使用 React Router v4/v5 巢狀路由:簡化指南
    React Router v4/v5 的嵌套路由:簡化指南使用React Router 時,嵌套路由是組織的關鍵技術您的應用程式的導航。然而,新手經常面臨設定嵌套路由的挑戰。本文旨在簡化使用 React Router v4/v5 的流程。 React Router v4 在路由嵌套方式上引入了重大轉...
    程式設計 發佈於2024-11-06
  • 如何使用 UTF8 字元編碼保留 MySQL 中的表格式?
    如何使用 UTF8 字元編碼保留 MySQL 中的表格式?
    使用UTF8 字元編碼增強MySQL 命令列格式使用儲存在資料庫表中的瑞典語和挪威語字串時,查詢資料時可能會遇到表格式問題使用不同的字元集。 問題陳述預設情況下,使用「set names latin1;」產生失真的輸出: ----------------------------------- | ...
    程式設計 發佈於2024-11-06
  • CSS 盒子模型
    CSS 盒子模型
    CSS 盒子模型是 Web 開發中的一個基本概念,它構成了 Web 佈局和設計的基礎。它決定了元素的大小、內容的呈現方式以及它們如何在網頁上相互互動。掌握盒模型對於任何使用 HTML 和 CSS 的開發人員來說都是至關重要的,因為它會影響元素的顯示、間隔和對齊方式。 在本文中,我們將詳細探討 CS...
    程式設計 發佈於2024-11-06
  • 我如何寫 CSS 選擇器
    我如何寫 CSS 選擇器
    有很多 CSS 方法,但我討厭它們。有些多(順風等),有些少(BEM、OOCSS 等)。但歸根結底,它們都有缺陷。 當然,人們使用這些方法有充分的理由,並且解決的許多問題我也遇到過。因此,在這篇文章中,我想寫下我自己的關於如何保持 CSS 組織的指南。 這不是任何人都可以開始使用的完整描述的 C...
    程式設計 發佈於2024-11-06
  • 為什麼輸入元素不支援 HTML5 中的 ::after 偽元素?
    為什麼輸入元素不支援 HTML5 中的 ::after 偽元素?
    ::before 和::after 的偽元素相容性在HTML5 中,::before 和::after 偽元素可以使用附加內容(例如圖示或複選標記)增強元素。然而,並非所有元素都完全支援這些偽元素。 輸入元素和 ::after在提供的範例中,::after 偽元素不是顯示在輸入元素上。這是因為類似 ...
    程式設計 發佈於2024-11-06
  • 如何使用 PHP 決定特定時區的星期?
    如何使用 PHP 決定特定時區的星期?
    在PHP 中確定指定時區的星期幾在PHP 中處理日期和時間時,處理起來可能具有挑戰性時區並計算具體值,例如星期幾。本文將引導您完成使用 PHP 尋找特定時區中的星期幾的過程。 了解使用者的時區要確定使用者的時區,您需要使用 PHP 函數 date_default_timezone_get()。此函數...
    程式設計 發佈於2024-11-06
  • 如何在 Go 頻道中有效地產生不同的值?
    如何在 Go 頻道中有效地產生不同的值?
    在 Go Channel 中高效產生不同值在 Go 中,Channel 為並發通訊提供了強大的機制。但是,在使用通道時,您可能會遇到需要過濾掉重複值或確保僅發出不同值的情況。本文探討了建立僅輸出唯一值的通道的有效方法。 產生不同值的挑戰考慮以下場景:您有一個通道接收多個值,並且您希望迭代它,同時僅打...
    程式設計 發佈於2024-11-06
  • 如何使用 Tailwind CSS 設定 os Next.js
    如何使用 Tailwind CSS 設定 os Next.js
    若要使用 Tailwind CSS 設定 Next.js,請依照下列步驟: 第 1 步:建立一個新的 Next.js 項目 如果您尚未建立 Next.js 項目,您可以使用 create-next-app 建立專案。 npx create-next-app@latest my-ne...
    程式設計 發佈於2024-11-06
  • 如何解決 PHPmailer HTML 內容渲染問題?
    如何解決 PHPmailer HTML 內容渲染問題?
    PHPmailer 無法渲染HTML 內容使用PHPmailer 發送電子郵件時,使用者遇到HTML 程式碼顯示為原始文字的問題交貨時。儘管使用了 IsHTML() 方法,所需的 HTML 內容仍然無法存取。 潛在問題此行為背後的原因在於方法呼叫的順序。與它的前身不同,PHPMailer 6 要求在...
    程式設計 發佈於2024-11-06
  • 如何使用 Java 從 HTML 文件中提取資料?
    如何使用 Java 從 HTML 文件中提取資料?
    Java HTML解析要從網站取得數據,首先必須了解HTML文件的結構。 HTML 元素使用標籤進行組織,標籤指定每個元素的類型和內容。 例如,以下HTML 表示具有特定CSS 類別的div 標籤:<div class="classname"></div>...
    程式設計 發佈於2024-11-06
  • 為什麼 Java 異常處理程式碼會產生「132Exception in thread main MyExc1」而不是「13Exception in thread main MyExc2」?
    為什麼 Java 異常處理程式碼會產生「132Exception in thread main MyExc1」而不是「13Exception in thread main MyExc2」?
    Java中的異常處理:解開歧義Java中的異常處理:解開歧義// Exception Heirarchy class MyExc1 extends Exception {} class MyExc2 extends Exception {} class MyExc3 extends MyExc2 {...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3