現(xiàn)代軟件開發(fā)對基礎(chǔ)設(shè)施的管理提出了更苛刻的要求:產(chǎn)品要適應(yīng)瞬息萬變的市場,要求基礎(chǔ)設(shè)施有更快的響應(yīng)速度;持續(xù)交付和DevOps的推行,要求產(chǎn)品團隊對部署和運維有更高的自主性;技術(shù)的快速進步和演化,也使得基礎(chǔ)設(shè)施的配置不得不頻繁變化,而在這種快速變化的過程中,要求基礎(chǔ)設(shè)施既要靈活,也要安全、可靠。
長期以來,管理IT基礎(chǔ)設(shè)施都是一個手動過程,人們會將服務(wù)器實際位置就位并對其進行配置。只有在機器被配置為操作系統(tǒng)和應(yīng)用程序所需的正確設(shè)置后,才會部署應(yīng)用程序。因此,這種手動的過程通常會導(dǎo)致很多問題。
傳統(tǒng)的基礎(chǔ)設(shè)施運維管理具有以下幾個問題:
成本:從網(wǎng)絡(luò)工程師到硬件維護技術(shù)人員,必須聘請許多專業(yè)人員在流程的每一步執(zhí)行必要的任務(wù)。
擴展性和可用性:也可歸結(jié)為“速度”問題。由于手動配置太慢,應(yīng)用程序經(jīng)常會遇到訪問高峰,而系統(tǒng)管理員會拼命嘗試設(shè)置服務(wù)器來管理負(fù)載,這必然會影響可用性。如果組織沒有備份服務(wù)器甚至數(shù)據(jù)中心,那么應(yīng)用程序可能會長時間不可用。
監(jiān)測和性能可見性:如何密切關(guān)注所有基礎(chǔ)設(shè)施,以確保其正在以較優(yōu)方式運行?當(dāng)遇到問題,又如何準(zhǔn)確定位問題來自基礎(chǔ)設(shè)施的哪個位置呢?
不一致性:如果多個人負(fù)責(zé)手動部署配置,不一致將成為不可避免的問題。
軟件定義基礎(chǔ)設(shè)施,基礎(chǔ)設(shè)施即代碼在此背景下"應(yīng)運而生"的,不但要集成還要運營, 持續(xù)交付和DevOps的推行使得ISV服務(wù)器產(chǎn)品團隊對部署和運維有更高的自主性。基礎(chǔ)設(shè)施即代碼是通過機器可讀的定義文件,而不是物理硬件配置或交互式配置工具來管理和配置計算數(shù)據(jù)中心的過程。簡單來說,基礎(chǔ)設(shè)施即代碼意味著使用配置文件管理您的IT基礎(chǔ)設(shè)施。
====烽火在基礎(chǔ)設(shè)施即代碼領(lǐng)域的實踐====
在ICT轉(zhuǎn)型、數(shù)字化經(jīng)濟的當(dāng)下,烽火通過云網(wǎng)基礎(chǔ)設(shè)施支撐自有平臺產(chǎn)品, 集成各云服務(wù)商系統(tǒng)發(fā)揮技術(shù)優(yōu)勢,提供完善的端對端一站式集成解決方案。探索項目總集交付、持續(xù)運營交付、數(shù)據(jù)共享交付,在數(shù)字政府領(lǐng)域深耕、發(fā)展,從而實現(xiàn)政務(wù)數(shù)據(jù)從“存儲、整合”到“應(yīng)用”的跨越,釋放數(shù)據(jù)價值紅利。從傳統(tǒng)的弱電機房改造到IaaS層數(shù)據(jù)中心的建設(shè)積累發(fā)展, 再到橫向拉通烽火全系ICT家族產(chǎn)品基礎(chǔ)硬件平臺,數(shù)據(jù)中臺產(chǎn)品(云平臺/云存儲/大數(shù)據(jù)/SDN/), 建立起了管理縱向合作伙伴和ISV服務(wù)商的生態(tài)體系。烽火作為基礎(chǔ)設(shè)施的集成者,要適應(yīng)瞬息萬變的應(yīng)用市場需求, 對其管理則提出了更苛刻的要求:基礎(chǔ)設(shè)施必須有更快的交付響應(yīng)速度、靈活的可定制性、 面向應(yīng)用和數(shù)據(jù)服務(wù)商的管理可視性。因此,在基礎(chǔ)設(shè)施即代碼領(lǐng)域,烽火在其自有云產(chǎn)品上進行了廣泛的實踐。
Terraform在烽火多云管理平臺的應(yīng)用
烽火多云管理平臺FitMgr經(jīng)過選型,采用Terraform工具實現(xiàn)對云服務(wù)資源的編排及管理。Terraform 是一個安全、高效進行基礎(chǔ)設(shè)施部署、更改、版本化的開源工具。通過聲明式的配置語言(HCL, Hashicorp Configuration Language)來描述基礎(chǔ)設(shè)施,即配置文件,由Terraform對配置文件及當(dāng)前基礎(chǔ)設(shè)施狀態(tài)進行對比,分析資源之間的依賴關(guān)系,生成一個執(zhí)行計劃,最后調(diào)用各家云廠商的具體實現(xiàn)來完成整個基礎(chǔ)設(shè)施生命周期的管理。
烽火云平臺中被Terraform管理的資源生命周期圖
在Terraform的初始化階段,Terraform會加載Backend后端,加載配置及資源狀態(tài)信息,分析資源執(zhí)行的應(yīng)該執(zhí)行具體哪個操作,再通過資源視圖分析資源之間的依賴關(guān)系,對于沒有相互依賴關(guān)系的資源,會執(zhí)行并行創(chuàng)建資源。在Provider對接是烽火多云管理平臺Fitmgr中的資源中心,該資源中心是對底層不同類型虛擬化資源的管理,資源操作成功后會將相應(yīng)的資源信息返回,記錄在后端的狀態(tài)文件存放,作為下次執(zhí)行編排的基礎(chǔ)。
Terraform在烽火多云管理平臺的某個應(yīng)用場景
應(yīng)用場景為:創(chuàng)建所有主機的鏡像、規(guī)格、軟件版本、配置都完全一樣的對等 Apache集群。其業(yè)務(wù)模型如下:
配置文件組織形式:
可以看出,相比于手動部署資源,Terraform減少人為誤操作而導(dǎo)致的錯誤,提高部署效率;另外,生成的執(zhí)行計劃可以保證操作資源時不發(fā)生意外,造成不可逆的結(jié)果,提高操作的準(zhǔn)確性。模板配置化的方式,可以得知整個資源的依賴關(guān)系,也可以做相應(yīng)的資源版本化管理,甚至可以把該資源模板直接復(fù)制建立多可用區(qū)的服務(wù),增強對資源操作的可移植性。
在交付過程中, 以客戶業(yè)務(wù)核心需求為導(dǎo)向,采用迭代、循序漸進的方法,把軟件開發(fā)思想應(yīng)用到集成交付項目中,不但可以縮短交付周期,還可以為持續(xù)集成交付奠定基礎(chǔ)。而基礎(chǔ)設(shè)施即代碼就是我們在集成交付領(lǐng)域的一次全新探索。未來,我們會通過持續(xù)探索, 不斷完善和集成烽火系統(tǒng)自有家族產(chǎn)品, 逐步實現(xiàn)與合作伙伴開發(fā)商一起打造集成交付的完整生態(tài)體系。
轉(zhuǎn)自:時代資訊網(wǎng)
【版權(quán)及免責(zé)聲明】凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時須獲得授權(quán)并注明來源“中國產(chǎn)業(yè)經(jīng)濟信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章及企業(yè)宣傳資訊,僅代表作者個人觀點,不代表本網(wǎng)觀點和立場。版權(quán)事宜請聯(lián)系:010-65363056。
延伸閱讀