雲端與容器基礎

依不可變基礎設施的想法,更新正式環境伺服器軟體的方法,下列何者適當?

  1. A以 SSH 登入執行中的正式環境伺服器,更新套件後重新啟動服務
  2. B從加入更新的新映像檔建立新的伺服器並切換過去,舊伺服器不做修改直接丟棄
  3. C在不停止正式環境伺服器的情況下手動改寫設定檔,並把變更內容記錄在作業紀錄中
查看答案與解析

正確答案:B. 從加入更新的新映像檔建立新的伺服器並切換過去,舊伺服器不做修改直接丟棄

在不可變基礎設施中,一旦建立的伺服器(虛擬機器或容器)就不再修改,需要變更時,從加入變更的映像檔建立新的伺服器來替換。每台伺服器都由同一個映像檔建立,因此能防止手動作業的差異累積,造成各伺服器的組成不一致。發生問題時,只要從前一個映像檔重新建立就能還原。日誌與資料等需要保留的東西,要放在伺服器以外的儲存空間或資料庫中。

  • A. 這是直接變更執行中伺服器的方法,會造成各伺服器狀態不一致。
  • B. 正確。把變更放進映像檔,整台伺服器替換。
  • C. 即使留下紀錄,仍是手動變更執行中的伺服器,不是不可變的想法。
練習這個領域 前往領域頁面

雲端與容器基礎的其他題目

  1. 準備2套與正式環境組成相同的環境,一套維持執行目前的版本,另一套放入新版本並確認後,一次切換負載平衡器的導向目標。若有問題,就把導向目標切回,立即回到原本的版本。這種發布方法是下列何者?
  2. 在每小時接收12,000件要求的服務中,以金絲雀部署發布新版本,只把5%的要求送到新版本。新版本有使所收要求的3%失敗的缺陷,1小時後發現並把所有要求切回原本的版本。這1小時內因缺陷而失敗的要求件數為下列何者?
  3. 以 CI/CD 管線建置的容器映像檔,在預備(staging)環境中測試並合格了。把這個映像檔發布到正式環境的方法,下列何者最適當?
  4. 如上所示,不把資料庫的連線目標寫進映像檔,而是在啟動容器時以環境變數傳入。這個設計的主要優點,下列何者最適當?
  5. 在多個服務協同運作的系統中,想調查使用者的1個要求依什麼順序經過了哪些服務、在各服務分別花了多少時間。在用於可觀測性的資料中,最適合的是下列何者?