基礎(chǔ)設(shè)施即代碼是什么?
時間:2022-04-05 18:06:01 | 來源:行業(yè)動態(tài)
時間:2022-04-05 18:06:01 來源:行業(yè)動態(tài)
IaC選擇使用機(jī)器可讀的定義文件替代物理硬件配置或交互式配置工具,借此管理并配置數(shù)據(jù)中心內(nèi)的計算機(jī)系統(tǒng)。簡而言之,IaC主張通過簡單的代碼行取代IT資源管理及配置中的手動操作流程。
基礎(chǔ)設(shè)施即代碼(IaC)是一種自動化基礎(chǔ)設(shè)施管理方式,最典型的IaC流程主要包含以下三個步驟:1. 開發(fā)人員使用特定領(lǐng)域語言對基礎(chǔ)設(shè)施規(guī)范進(jìn)行定義與編寫。2. 將創(chuàng)建的文件發(fā)送至管理API、主服務(wù)器或代碼repo。3. 之后,由IaC平臺執(zhí)行具體操作,完成計算資源的創(chuàng)建與配置。
IaC本身也是一項必不可少的DevOps實踐,可謂是實現(xiàn)良好軟件交付生命周期的重要前提。IaC能夠幫助DevOps團(tuán)隊以完全符合版本源代碼的方式快速完成基礎(chǔ)設(shè)施創(chuàng)建及版本化,同時持續(xù)跟蹤各個版本,以避免各IT環(huán)境間因一致性沖突而引發(fā)嚴(yán)重的部署問題。作為一項重要DevOps實踐,IaC通常與持續(xù)交付結(jié)合使用。
IaC通常有兩種實現(xiàn)方式:聲明式(函數(shù)式)與命令式(程序式)。這兩種方法之間的本質(zhì)區(qū)別,在于一方強(qiáng)調(diào)什么、另一方強(qiáng)調(diào)如何。聲明式方法側(cè)重于描述所需的最終配置應(yīng)該是什么樣子;而命令式則關(guān)注如何操作基礎(chǔ)設(shè)施來達(dá)成這樣的配置狀態(tài)。
總而言之,聲明式方法負(fù)責(zé)定義希望達(dá)成的狀態(tài),系統(tǒng)則通過必要操作實現(xiàn)這一目標(biāo)狀態(tài);命令式方法定義必要的操作順序,通過一系列特定命令將基礎(chǔ)設(shè)施調(diào)整為所需狀態(tài)。
IaC還提供pull與push兩種方法,二者的區(qū)別體現(xiàn)在向服務(wù)器報告如何配置的具體方式上。在pull方法中,要配置的服務(wù)器將從控制服務(wù)器處拉取配置信息;而在push方法中,控制服務(wù)器會將配置信息推送至目標(biāo)系統(tǒng)。
關(guān)鍵詞:設(shè)施,基礎(chǔ)