Infrastructure

區分生產環境和其他環境的良好做法是什麼?

  • January 19, 2016

我的主要工作領域是程式,有時我必須在生產伺服器上執行一些操作(在部署應用程序或配置某些東西時……)。

所以我的問題是,應該做些什麼來確保我不會在生產伺服器上搞砸我打算在我的機器/測試環境上做的事情?例如,清除一些數據庫或刪除日誌。

我想到的是一些基本的東西,比如:

  • 讓生產控制台只打開我在那里工作所需的時間,然後關閉它
  • 將生產伺服器上的控制台配置為與其他控制台真正不同 - 例如紅色背景或類似的東西
  • 有每個命令都需要額外的確認

是否有任何其他規則可以幫助保持理智並且不會弄亂生產伺服器?

在防止錯誤和阻礙工作之間總是有一條細線。雖然我是一名敬業的管理員,但我們的組織足夠小,因此實施大企業希望確保生產安全的所有額外成本和繁文縟節是不切實際的。

除了您的規則,我們還有以下內容:

  • 永遠不要在測試和生產中使用相同的憑據(即登錄、數據庫),如果您不能正確收緊防火牆,請為常見錯誤設置丟棄規則,即從實時前端連接到測試後端等。
  • 盡可能多地實施變更管理/版本控制,不僅在應用程序級別,而且在作業系統級別。這裡我們使用cfengine,但是還有很多其他的選擇,比如puppet 或者甚至是你自己的。
  • 自動化所有日常任務,即您不應該定期在生產中手動刪除任何內容
  • 保持所有內容的最新文件,在正確記錄之前不要考慮完成任務,結合維基和錯誤跟踪系統。每次更改和配置中的每一個奇怪之處都必須有一個“為什麼”。我知道這聽起來像是一個聖杯,但任何文件總比沒有好。

引用自:https://serverfault.com/questions/12618