對於許多剛接觸基礎設施即程式碼(Infrastructure as Code, IaC)的工程師來說,最頭痛的通常不是如何撰寫設定檔,而是如何處理狀態同步問題。傳統的 IaC 工具(例如 Terraform)依賴於狀態文件(State File)來記錄目前的資源狀況。然而在現實的運維環境中,經常會有人直接在雲端控制台手動修改設定,導致程式碼與實際環境脫節,這就是所謂的配置漂移(Configuration Drift)。
Platform Engineering Labs 推出的開源平台 formae 試圖改變這個邏輯。它不將自己定位為單純的部署工具,而是一個基礎設施的記錄系統(System of Record)。簡單來說,formae 不是告訴雲端應該變成什麼樣子,而是持續觀察雲端現在是什麼樣子,並自動將這些狀態轉化為程式碼記錄下來。
近期 formae 推出了針對 Kubernetes 的重大更新,重點在於解決雲端原生環境中複雜的治理挑戰。
Kubernetes 支援與原生 Helm 整合
在 Kubernetes 的世界裡,Helm 是最普及的套件管理工具,它將複雜的 Kubernetes 資源定義打包成 Chart,方便開發者快速部署。以往如果想將 Helm 部署的內容納入 IaC 管理,往往需要重新設計部署流程或撰寫冗長的定義檔。
formae 現在提供了原生 Helm 整合,讓團隊可以直接複用現有的 Helm Chart,而不需要為了適應工具而重構部署架構。更重要的是,formae 能夠自動發現並版本化 Kubernetes 環境中的變更。即使工程師使用 kubectl 或其他外部工具直接修改了叢集設定,formae 也能將這些變更自動編碼化,確保紀錄永遠與實體環境同步。
這種做法解決了傳統 IaC 工具中資源定義與執行狀態強耦合的痛點,讓平台團隊在管理 Amazon EKS 或 Microsoft AKS 等受管服務時,能擁有更高的可視度與治理能力。
降低遷移成本的互操作性
對於企業來說,切換基礎設施工具的最大風險在於遷移成本。為了降低這個門檻,formae 增加了對 Terraform .tfvars 文件的直接支援。
.tfvars 是 Terraform 用於定義變數的檔案。透過直接讀取這些文件,工程師不需要手動轉換參數或重新定義變數,就能將現有的配置邏輯導入 formae。這種設計讓團隊可以在不放棄既有資產的前提下,逐步將基礎設施的監控與記錄移至 formae。
插件生態系與生命週期管理
為了提升擴展性,Platform Engineering Labs 同時推出了 formae Public Hub。這是一個公開的插件中心,讓社群可以分享與發現插件。
值得注意的是,formae 在插件管理上採取了與傳統工具不同的策略。傳統 IaC 工具通常將插件綁定在特定的專案或環境中,這在規模擴大後會導致管理混亂。formae 將插件的生命週期管理與具體的部署過程分離,簡化了大規模環境下的維運複雜度。
總結:從宣告式部署轉向自動化記錄
目前的市場上已有 Terraform、Pulumi 或 Argo CD 等強大工具,但它們大多依賴宣告式(Declarative)的邏輯,即定義目標狀態並嘗試達成。而 formae 的差異化在於它更像是一個自動化的基礎設施紀錄員。
它將重點放在減少手動對帳(Reconciliation)的壓力,讓基礎設施的變更無論來源為何,都能被自動捕捉並轉化為可追蹤的紀錄。對於追求自動化運維與 AI 輔助工作流的現代平台工程團隊來說,這種從實體環境反向推導狀態的機制,能有效降低配置漂移帶來的風險,並提升整體基礎設施的透明度。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。