成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七種自動化的基礎架構即代碼工具

譯文
開發 開發工具 架構 自動化
自動化是DevOps開發的重要標志之一。本文介紹七種有助于企業自動構建業務流程與關鍵環境的IaC工具。

【51CTO.com快譯】自從十多年前被創建以來,基礎架構即代碼(Infrastructure-as-Code,IaC)一直在改變著各個企業IT架構的設置與管理方式。過去對于IT人員而言,構建新的基礎架構,就意味著在某個功能強大的數據中心內部,堆疊各種物理服務器、配置不同的網絡線纜、以及添置各類硬件設備。

如今單靠軟件配置,我們就可以創建出更高性能、更具成本效益、且更安全的基礎架構了。此外,相對于過去需要幾天才能跑完的傳統變更管理流程,如今企業可以通過采用一致性的變更與配置流程,幫助其團隊在幾分鐘之內,就能推出通過充分驗證的、且無人值守的全新流程。

如今,IaC能夠從源代碼、而不是從手工配置的角度,為開發人員提供豐富的云端服務、以及IT基礎架構的相關工具。在IaC中,我們可以將服務器、網絡和數據庫等云端元素視為不同的軟件資源,進而實現完全自動化的配置。

有了這種將基礎架構視為軟件與數據的處理方式,企業開發團隊便可以進行一系列的DevOps與敏捷(Agile)實踐,并在技術價值流(technology value stream)中推動快速且高質量的工作流程。其中,我們可以參考和利用的實踐包括:持續集成(CI)、持續交付(CD)和測試驅動開發(test-driven development,TDD)等。與此同時,企業也可以通過優化部署編排(orchestration)、自動化測試庫、以及使用版本控制系統(version control systems,VCS),來增強其現有系統的統一性和容錯能力。

可見,在不斷的實踐與快速發展中,IaC通過各種自動化工具,讓企業的各種業務流程與關鍵環境更加容易實現與落地。下面,讓我們細數七種能夠提供此類自動化工具的云端平臺吧。

[[262546]]

1.AWS CloudFormation

該集成式的AWS服務是專為那些在AWS云中工作的用戶而設計的。憑借著在云端環境中的市場占有率,AWS CloudFormation有著超過350,000名開發用戶。目前,它已經成功配置了342種AWS資源類型。

CloudFormation允許用戶方便地在JSON(請參見https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/WordPress_Single_Instance.template)或YAML(請參見https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/WordPress_Single_Instance.yaml)模板文件中,通過它所提供的各種模板,來構建不同復雜程度的安全基礎架構模型。與此同時,該服務也能通過自動化的功能,以可重復、可管理的方式幫助用戶部署手頭上的各種資源。而且,您只需要對所使用的資源,而不是服務本身支付費用。因此,您只需要根據自己的應用規范,配置相應的模板,CloudFormation就能為您處理其余的任務。

AWS CloudFormation的參考文檔鏈接為:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.Walkthrough.html

[[262547]]

2.Azure Resource Manager

作為競品,Microsoft為用戶提供的IaC工具是:Azure Resource Manager。用戶可以通過Azure Resource Manager(ARM)的不同模板,在無縫的周期內,配置出自己的基礎架構、并處理各種依賴項。您既可以在模板中使用那些已在JSON中聲明描述了的資源,也可以在同一個ARM模板中聲明多個Azure資源,以構建整體性的項目環境。

由于ARM模板具有冪等性(idempotent),因此您可以不限次數地重復使用相同的模板,并獲得相同的結果。同時,您也可以使用VSTS(譯者注:Visual Studio Team System,Microsoft開發的一套生命周期開發工具)儀表板,以可視化的方式監控所有的構建與發布,并快速地了解到云端環境的整體運行狀況與模板質量。此外,Resource Manager還支持服務器的實例分組、以及對不同分組的統一管理。

Azure Resource Manager的參考文檔鏈接為:https://docs.microsoft.com/en-us/azure/azure-resource-manager/

[[262548]]

3.Google Cloud Deployment Manager

顧名思義,Google Cloud Deployment Manager(CDM)是基于Google云平臺的配置文件(YAML)和模板(JINJA2或PYTHON)的一種自動化執行工具。它允許用戶自行定義和同步部署各種系統資源。在其Beta和Alpha版的特征中,用戶還可以使用到自動擴展與負載均衡等功能,來編寫所有的部署腳本。

同時,Google CDM也支持預覽功能。這意味著:您在不直接提交更改的情況下,便可以直接了解到部署和變更所帶來的影響。該功能不僅可以幫助用戶避免出現人為的錯誤,而且能夠起到加強與穩定整體基礎架構的作用。

GCDM的參考文檔鏈接為:https://cloud.google.com/deployment-manager/

4.Terraform

上述三種IaC工具都是為特定的云環境所設計的,而Terraform并非如此。它不僅是冪等的,而且是多種云端環境中的“瑞士軍刀”。由HashiCorp開發的(該公司同樣開發出了Vault和Nomad)Terraform獨立于任何云端平臺。它能夠幫助用戶輕松地處理,那些具有復雜分布式應用的大型基礎架構。

憑借著其靈活性,Terraform的自動化具有多種表現形式,并且主要服務于核心規劃與應用周期。一些團隊雖然選擇了在本地運行Terraform,但是他們會使用各種包裝腳本(wrapper scripts)為Terraform的運行設置一致性的工作目錄。而其他的開發團隊,則可能會在諸如Jenkins之類的備用編排工具中,去運行Terraform。

與Google CDM類似,Terraform也支持對于變更和配置的預覽。同時,用戶還能夠是用它來復制各種現有的部署、以及單個服務器的實例。此外,Terraform還深化了其版本控制和遠程狀態管理服務,能夠為遠程團隊的協作,提供集中式的真實信息來源。

Terraform的參考文檔鏈接為:https://learn.hashicorp.com/terraform/

5.Chef

Chef是一款備受CI/CD人員歡迎的IaC工具。它的優勢在于使用了基于Ruby的領域特定語言(Domain Specific Language,DSL)。它可以通過特有的Cookbook式版本控制,來維持用戶配置的一致性,從而保證了基礎架構能夠跟上,其托管應用的快速增長。

Chef通過在其核心配置中封裝了各種模板與模板集合,以滿足用戶的開箱即用需求。其中,一個Cookbook(一種模板)僅對應一種任務。它能夠基于所涉及到的資源,提供不同的服務器配置。例如,某個帶有數據庫的Web應用程序可以擁有兩個recipes(另一種模板),它們共同實現存儲任務。由于支持那些為云平臺專配的API,因此Chef還能夠很好地與其他IaC工具(包括Terraform、以及其他多種云端環境)配合使用。

Chef的參考文檔鏈接為:https://docs.chef.io/quick_start.html

6.Ansible

Chef雖然是大多數人的選擇,但是對于Red Hat環境中的用戶而言,他們更喜歡使用Ansible。以自動化為設計初衷的Ansible,專注于提供極其簡化的配置語言,以及在無需修改的情況下管理各種云端實例。不僅限于特定的配置管理,Ansible也能很好地執行諸如零宕機(非中斷)滾動式更新、以及熱補丁(hotfixes)之類的任意IT編排。您不必像過去那樣,將系統作為某系孤立的單元進行管理,而只需要清楚地描述出組件與系統之間的相互關系,Ansible便可幫您打理其余的部分。

作為一款靈活的IaC工具,您不僅可以使用由Ansible提供的既有功能,還能夠通過開發屬于自己的模塊和規則,來滿足各種特定的需求。當然,Ansible也能夠提供友好的GUI設置和監控功能。

Ansible的參考文檔鏈接為:https://www.ansible.com/resources/get-started

7.Puppet

Puppet采用了更為全面的IaC設置和自動化方法。目前,它正在通過各種先進的接口技術,為Reddit、Dell和Google等大型公司的數據中心、以及各種操作系統的運行提供支持。作為一款老牌的工具,Puppet使用基于Ruby的DSL,來定義基礎架構最終狀態。Puppet通過監控基礎架構,來判斷是否出現了偏離既定狀態的變更,進而自動予以修正。另外,由于擁有大量的企業用戶和社區支持,因此它非常適合于系統管理人員來進行功能性的開發。

Puppet的參考文檔鏈接為:https://learn.puppet.com/?_ga=2.121922253.792795342.1550743099-1090453039.1547698716&_gac=1.146748870.1549008273.Cj0KCQiA-c_iBRChARIsAGCOpB1vRaPt-ltx4_GiXxqHX7AaW5SnqQs9U6wzndUPPqoxrRg-AjhSgJUaAqVGEALw_wcB

總結

綜上所述,您需要根據自己的個人偏好和特定需求,來選擇合適的自動化IaC工具。此外,由于您勢必會需要花費一定的時間去定義相關的內容,因此您在選擇時也需要考慮到自己團隊所使用的編程語言、團隊之間的溝通、以及云端環境的一致性等問題。如果您有興趣深入閱讀的話,請參考《IaC的安全挑戰以及克服方法》一文。

原文標題:The Top 7 Infrastructure-As-Code Tools For Automation,作者:Narendar Nallamala 

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2022-08-12 15:47:17

工具基礎架構IT

2021-03-30 09:00:00

工具自動化開發

2021-03-23 08:00:00

工具開發審查

2019-12-04 08:00:00

IT基礎架構自動化工具

2022-09-09 12:27:57

工具基礎設施IaC

2018-04-27 09:00:00

代碼合并工具開源

2021-03-09 09:00:00

Python開發工具

2010-03-15 15:55:00

Python開發工具

2022-05-27 15:19:38

架構師溝通認知

2023-08-27 18:49:06

2025-05-13 08:20:58

2017-10-09 17:52:57

MySQL自動化測試GitHub

2025-01-22 10:24:27

2018-09-30 10:00:23

Python編程語言代碼質量

2025-01-21 08:00:00

限流微服務算法

2019-05-30 08:00:00

2015-11-24 09:33:55

2019-12-11 11:54:37

IT工具云計算

2014-07-09 17:31:22

桌面虛擬化

2025-06-27 02:11:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产偷录叫床高潮录音 | 青青久草 | 国产精品亚洲第一区在线暖暖韩国 | 黄色毛片免费视频 | 久久一二区 | a级在线观看 | 第一av| 波多野结衣一区二区三区 | 免费在线观看av网址 | 国产亚洲一区二区三区在线 | 午夜精品一区二区三区在线观看 | 久草成人 | 瑞克和莫蒂第五季在线观看 | 日韩最新网站 | 麻豆久久久9性大片 | 本地毛片 | 日韩精品一区二区三区视频播放 | 国产精品视频免费观看 | a级在线免费视频 | 免费在线观看黄色av | 国产精品毛片 | 国产农村一级国产农村 | 中文字幕国产高清 | 在线中文字幕亚洲 | 国产在线一区二区 | 欧美日韩国产精品 | 一区二区三区四区电影视频在线观看 | 激情五月综合 | 久久久久久国产精品久久 | 久久久久久电影 | 日韩亚洲视频在线 | 日韩手机在线看片 | 欧美日韩精品免费观看 | 一区二区成人 | 国产91久久久久蜜臀青青天草二 | 日本aⅴ中文字幕 | 亚洲夜射 | 色婷婷av一区二区三区软件 | 日韩精品一区二区三区视频播放 | 少妇久久久 | 91亚洲精品久久久电影 |