云數(shù)據(jù)中心需要基礎(chǔ)設(shè)施即代碼(IaC)

硬件虛擬化技術(shù)的全面普及催生出云基礎(chǔ)設(shè)施托管這波全新機(jī)遇。云托管服務(wù)商開始直接為客戶提供對(duì)于動(dòng)態(tài)基礎(chǔ)設(shè)施即服務(wù)(IaaS)平臺(tái)的訪問通道。隨著這類平臺(tái)的快速發(fā)展以及基礎(chǔ)設(shè)施資產(chǎn)復(fù)雜性的不斷提升,傳統(tǒng)系統(tǒng)管理角色的工作內(nèi)容也變得愈加繁復(fù)。大規(guī)模云基礎(chǔ)設(shè)施的快速配置與統(tǒng)籌管理,開始成為困擾管理人員的新難題。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站制作、南召網(wǎng)絡(luò)推廣、小程序開發(fā)、南召網(wǎng)絡(luò)營(yíng)銷、南召企業(yè)策劃、南召品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供南召建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

持續(xù)集成/持續(xù)部署(CI/CD)的成功激發(fā)了基礎(chǔ)設(shè)施即代碼(IaC),即使用代碼對(duì)基礎(chǔ)設(shè)施進(jìn)行建模的新思路。DevOps則證明只要將代碼提交至Git repo,再通過功能分支及pull請(qǐng)求即可建立極為高效的工作流。借助這類已經(jīng)在軟件開發(fā)自動(dòng)化領(lǐng)域大放異彩的全新工作流,相信云系統(tǒng)的管理復(fù)雜度問題也將迎刃而解。

基礎(chǔ)設(shè)施即代碼是什么?

基礎(chǔ)設(shè)施即代碼是一套IT基礎(chǔ)設(shè)施管理流程,強(qiáng)調(diào)將DevOps軟件開發(fā)最佳實(shí)踐引入云基礎(chǔ)設(shè)施的資源管理當(dāng)中,包括虛擬機(jī)、網(wǎng)絡(luò)、負(fù)載均衡器、數(shù)據(jù)庫(kù)及其他聯(lián)網(wǎng)應(yīng)用程序在內(nèi)的各類基礎(chǔ)設(shè)施資源均適用于這種新流程。

IaC代表著一種配置管理形式,可以將企業(yè)組織的基礎(chǔ)設(shè)施資源編碼為文本文件,再將這些基礎(chǔ)設(shè)施文件提交至Git等版本控制系統(tǒng)。版本控制repo支持功能分支及pull請(qǐng)求等工作流,而這些正是建立CI/CD體系的基本要素。

基礎(chǔ)設(shè)施即代碼的實(shí)現(xiàn),離不開云基礎(chǔ)設(shè)施托管平臺(tái),特別是IaaS平臺(tái)的興起。IaaS允許我們通過遠(yuǎn)程API按需供應(yīng)并申請(qǐng)?jiān)瀑Y源,這些API在本質(zhì)上屬于提交至基礎(chǔ)設(shè)施的配置文件的屬性設(shè)置模板。Iac的自動(dòng)化功能則可獲取這些配置文件,并針對(duì)遠(yuǎn)程IaaS API加以運(yùn)行。

在團(tuán)隊(duì)將基礎(chǔ)設(shè)施配置提交至版本控制repo后,即可將CI/CD實(shí)踐應(yīng)用吾基礎(chǔ)設(shè)施變更?;A(chǔ)設(shè)施的更新同樣可以遵循DevOps工作流程。如果團(tuán)隊(duì)成員編輯了其中某一配置文本文件,則可以使用pull請(qǐng)求及代碼審查工作流對(duì)編輯結(jié)果的正確性進(jìn)行審核與驗(yàn)證。

基礎(chǔ)設(shè)施即代碼有何重要意義?

IaC的持續(xù)演進(jìn),是為了幫助用戶解決“環(huán)境漂移”的問題。云應(yīng)用程序在其發(fā)布生命周期的各個(gè)階段中往往有著相互獨(dú)立的部署環(huán)境,具體包括開發(fā)、登臺(tái)、生產(chǎn)等環(huán)境類型,而不同環(huán)境又對(duì)應(yīng)不同的網(wǎng)絡(luò)資源,例如應(yīng)用程序服務(wù)器、負(fù)載均衡器與數(shù)據(jù)庫(kù)等。當(dāng)這些特殊環(huán)境之間的基礎(chǔ)設(shè)施未能同步時(shí),即引發(fā)所謂環(huán)境漂移。

如果沒有IaC的支持,基礎(chǔ)設(shè)施管理將是一個(gè)混亂且脆弱的過程。系統(tǒng)管理員只能手動(dòng)接入遠(yuǎn)程云服務(wù)商,并使用API或Web儀表板對(duì)新硬件及資源加以配置。這種手動(dòng)工作流缺乏對(duì)應(yīng)用程序基礎(chǔ)設(shè)施的整體視圖,管理員很可能在更改了一套環(huán)境后,卻忘記了對(duì)另一環(huán)境做出相應(yīng)變更。正是因?yàn)檫@樣,環(huán)境漂移才會(huì)頻頻發(fā)生。

環(huán)境漂移是一種昂貴的商業(yè)浪費(fèi),錯(cuò)誤與故障的根源永遠(yuǎn)是團(tuán)隊(duì)在登臺(tái)或開發(fā)環(huán)境中的構(gòu)建成果未能與最終部署時(shí)的生產(chǎn)環(huán)境相同步,迫使成員不得不耗費(fèi)大量時(shí)間調(diào)查原因并補(bǔ)全缺失內(nèi)容。

沒有IaC,基礎(chǔ)設(shè)施的手動(dòng)管理在速度方面同樣令人抓狂。受到環(huán)境漂移、流量峰值或者其他特定問題的影響,如果我們明確需要對(duì)基礎(chǔ)設(shè)施做出某些變更,則系統(tǒng)管理員的響應(yīng)與適配時(shí)長(zhǎng)根本無法預(yù)測(cè)或控制。由此引發(fā)的服務(wù)中斷會(huì)打擊客戶信心。而在IaC的幫助下,基礎(chǔ)設(shè)施能夠自動(dòng)適應(yīng)配置變化,并通過自動(dòng)擴(kuò)展功能對(duì)流量峰值做出反應(yīng)。

基礎(chǔ)設(shè)施即代碼還為手動(dòng)系統(tǒng)管理提供更理想的監(jiān)督能力與可見性。在將基礎(chǔ)設(shè)施配置文件提交至中央版本控制repo之后,所有團(tuán)隊(duì)成員都能查看并編輯基礎(chǔ)設(shè)施數(shù)據(jù),由此實(shí)現(xiàn)強(qiáng)大的審計(jì)能力。例如,如果團(tuán)隊(duì)需要接受PCI合規(guī)性審計(jì),則應(yīng)當(dāng)明確基礎(chǔ)設(shè)施中的特定部分是否使用SSL進(jìn)行了加密。在IaC的支持下,可以快速查看SSL的配置方式并執(zhí)行相關(guān)代碼,確保當(dāng)前基礎(chǔ)設(shè)施與配置文件完全相符,即正確啟用SSL。版本控制提交歷史也可作為日志記錄使用,用于審查各項(xiàng)變更何時(shí)添加、何時(shí)被移除。

基礎(chǔ)設(shè)施即代碼如何起效?

要全面實(shí)現(xiàn)基礎(chǔ)設(shè)施即代碼,我們需要準(zhǔn)備一系列依賴項(xiàng)。

首先,也是最重要的依賴項(xiàng),就是遠(yuǎn)程訪問托管。配置管理工具需要接入并修改該遠(yuǎn)程主機(jī)。如果遠(yuǎn)程基礎(chǔ)設(shè)施具備自我管理能力,我們就要確保團(tuán)隊(duì)能夠隨時(shí)訪問其配置管理工具。而IaaS云托管平臺(tái)則提供API,允許用戶根據(jù)需要自動(dòng)創(chuàng)建、刪除及修改基礎(chǔ)設(shè)施資源。配置管理工具同樣可以訪問這些API,借此將相關(guān)操作任務(wù)轉(zhuǎn)為自動(dòng)化形式。目前流行的IaaS平臺(tái)包括Digital Ocean、Amazon AWS以及微軟Azure。

實(shí)現(xiàn)IaC的下一項(xiàng)要求,則是接入IaaS API并負(fù)責(zé)自動(dòng)執(zhí)行常規(guī)任務(wù)的工具套件。團(tuán)隊(duì)當(dāng)然可以自主創(chuàng)建一組腳本及工具,但這會(huì)帶來大量的開發(fā)負(fù)擔(dān)與后續(xù)維護(hù)成本,投資回報(bào)也往往不高。目前市面上已經(jīng)有多種開源配置管理平臺(tái)用于解決這類需求,包括Terraform、Ansible、Salt Stack以及Chef等。

最后是版本控制系統(tǒng)。配置管理平臺(tái)使用以YAMl等標(biāo)記語(yǔ)言編寫的、人類及機(jī)器皆可讀取的文本文件對(duì)平臺(tái)將要執(zhí)行的任務(wù)及序列做出聲明。這類文本文件作為應(yīng)用代碼文件存在,并被存儲(chǔ)在版本控制系統(tǒng)repo當(dāng)中。這套repo相當(dāng)于集中指定來源,同時(shí)支持pull請(qǐng)求及代碼審查。目前最流行的版本控制系統(tǒng)當(dāng)數(shù)Git。

有了以上依賴項(xiàng),我們?cè)O(shè)想以下示例場(chǎng)景,其中開發(fā)人員希望向系統(tǒng)當(dāng)中添加新的應(yīng)用程序服務(wù)。下面來看IaC工作流演示:成都服務(wù)器托管

(1) 開發(fā)人員在選定的配置管理平臺(tái)Terraform中編輯YAML配置文本文件,由此指定所需的新托管服務(wù)器。

(2) 開發(fā)人員將編輯結(jié)果提交至Git repo中的功能分支。由于項(xiàng)目的Git repo托管在Bitbucket上,因此開發(fā)者會(huì)開啟一項(xiàng)pull請(qǐng)求。其他團(tuán)隊(duì)成員負(fù)責(zé)審查這項(xiàng)pull請(qǐng)求,并發(fā)現(xiàn)其中包含基礎(chǔ)設(shè)施變更。后者批準(zhǔn)此項(xiàng)pull請(qǐng)求,而后由之前的開發(fā)人員將提交結(jié)合提交并合并至repo的主分支當(dāng)中。

(3) 到這里,我們需要使用配置平臺(tái)以執(zhí)行更新。這項(xiàng)更新可以由開發(fā)人員手動(dòng)觸發(fā)。本場(chǎng)景中的團(tuán)隊(duì)使用的是Bitbucket,因此可以訪問Bitbucket Pipelines以使用管道自動(dòng)執(zhí)行此步驟。

(4) 執(zhí)行完成后,Terraform將與團(tuán)隊(duì)的IaaS進(jìn)行交互。Terraform將針對(duì)IaaS API執(zhí)行一系列命令,確保IaaS與預(yù)期的基礎(chǔ)設(shè)施配置保持同步。

小結(jié)

IaC是一種高效的配置管理形式,專注于實(shí)現(xiàn)云IT基礎(chǔ)設(shè)施的自動(dòng)化管理。在IaC部署到位之后,即可用于實(shí)現(xiàn)CI/CD層級(jí)的自動(dòng)化功能,高效調(diào)整項(xiàng)目的基礎(chǔ)設(shè)施。IaC還針對(duì)基礎(chǔ)設(shè)施變更當(dāng)中的溝通及透明度因素提供多種有益見解。至于IaC在實(shí)現(xiàn)當(dāng)中所需要的托管平臺(tái)及自動(dòng)化工具等依賴項(xiàng),目前市面上已經(jīng)有眾多托管廠商提供廣泛的解決方案以供選擇。

分享標(biāo)題:云數(shù)據(jù)中心需要基礎(chǔ)設(shè)施即代碼(IaC)
當(dāng)前路徑:http://muchs.cn/article14/dgide.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、Google、網(wǎng)頁(yè)設(shè)計(jì)公司、虛擬主機(jī)、網(wǎng)站策劃、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)