定義原型之外所需的基礎架構
已完成評估身分、網路、資料、復原與維運。將生成的部署,對應到公司實際的基礎架構要求。
檢查理解程度生成的應用程式搭配代管資料庫,已能正常執行。在處理公司機密資訊前,還需要哪個步驟?進行練習
學習目標
- 解釋為何只有容器和資料庫仍不足夠。
- 找出雲端、平台、應用程式與交付系統各自的責任歸屬。
- 定義原型處理公司資料前所需的證據。
從生成的系統開始
考慮一個虛構的原型平台。它建立網頁容器、代管 PostgreSQL 資料庫和公開網址。流程使用範例紀錄時能正常執行。這是有用的成果:在投入更多資金實作之前,人們就能評估功能。
現在,公司希望儲存機密合約,並使用自己的員工身分提供者。系統要求已經改變。容器部署成功,不能證明授權、核准的資料處理、可復原性或服務責任歸屬已到位。
不同開發平台提供不同能力。檢查實際服務與設定。不要假設每種原型工具都有相同限制,也不要認為熟悉的雲端品牌就符合公司政策。
提出七個正式環境問題
| 領域 | 問題 | 要求的證據 |
|---|---|---|
| 身分 | 誰可以登入、管理和部署? | 身分整合、角色對應和離職停權測試 |
| 網路 | 哪些服務與資料儲存位置可以互通? | 網路設計與經驗證的存取規則 |
| 資料 | 每份副本在哪裡處理與保留? | 資料流圖、服務條款和設定 |
| 機密值 | 如何提供與輪替存取憑證? | 機密值參照、存取規則和輪替程序 |
| 交付 | 已審查程式碼如何成為發布版本? | 受保護管線與建置產物身分 |
| 復原 | 能還原什麼?限制是什麼? | 復原目標與有實測結果的還原演練 |
| 維運 | 誰處理故障並提供維護預算? | 服務負責人、監控、事件處理途徑和預算 |
答案可以利用現有企業服務,不必為每個應用程式建立新的身分系統或監控平台。連接核准能力,並記錄剩餘缺口。
AWS Well-Architected 同時考慮維運、資安、可靠性、效能、成本和永續性。這提醒我們,能正常執行的部署,只是架構評估的一部分。閱讀框架。
定義環境之間的邊界
辨識開發、測試和正式環境資源。定義哪些身分可以跨越邊界。沒有核准的處理流程時,不要為了方便,就將正式環境紀錄複製到預覽環境。
同時檢查對外連線與傳入存取。非公開資料庫仍可能透過應用程式,將資料送到公開記錄服務。程式設計代理程式的模型呼叫,則是另一條必須獨立評估的資料流。
記錄雲端帳戶、DNS、數位憑證、加密金鑰和帳務關係分別由誰掌管。專案若依賴即將離職員工的私人帳戶,即使原始碼可取得,責任歸屬仍有問題。
測試責任分工
代管資料庫提供者可能維運底層服務,而組織控制使用者、資料存取、資料結構描述變更和保留設定。確切分工取決於服務與契約,應明確詢問。
為合約應用程式執行虛構還原演練。測量實際復原時間,並找出可能的資料損失,再與業務要求比較。「已啟用備份」的勾選框,無法提供相同證據。
也要測試離職停權。從身分來源移除虛構員工,驗證存取權是否如預期改變。設計時納入有效工作階段、管理員角色和自動化身分。
將基礎架構連結到交付系統
基礎架構定義、環境設定、管線和應用程式碼,需要協調變更。代理程式應依真實目標環境規劃,否則可能生成與網路、身分或責任要求衝突的部署。
這正是平台工程與軟體工廠交會的地方。平台提供受支援能力與邊界;交付系統必須使用它們、產出證據,並保留清楚的維運交接。繼續閱讀平台工程。
進行練習
虛構工具建立對外開放的網頁容器與代管 PostgreSQL 資料庫。公司希望員工能存取,並存放機密合約紀錄。回答本課的七個正式環境問題,將每個答案標記為已驗證、缺少或不適用,附上理由,並指出誰負責補足每項缺口。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。