過去在很長一段時間中,基礎(chǔ)架構(gòu)的安裝、配置、維護等相關(guān)的工作都需要手動完成,需要IT團隊中的許多人都參與其中,手工過程存在很大的人為錯誤風(fēng)險,導(dǎo)致應(yīng)用程序可用性,安全性和性能不佳。隨著DevOps的崛起,讓基礎(chǔ)架構(gòu)的自動化成為了可能。現(xiàn)在,有多種工具可以執(zhí)行基礎(chǔ)結(jié)構(gòu)的創(chuàng)建、部署、管理任務(wù)。通過這些工具,IT團隊可以在低人力的情況下自動化整個基礎(chǔ)架構(gòu)。包括配置基礎(chǔ)結(jié)構(gòu)和應(yīng)用程序設(shè)置等復(fù)雜任務(wù)。
基礎(chǔ)架構(gòu)自動化是使用IaC(基礎(chǔ)架構(gòu)即代碼)部署硬件/軟件組件,操作系統(tǒng),網(wǎng)絡(luò)組件,數(shù)據(jù)存儲組件的過程。這個過程中,只有但編寫需要的代碼時才需要人工干預(yù),這些代碼具有創(chuàng)建和部署必要組件的所有細節(jié)。那么,被業(yè)界廣泛使用的基礎(chǔ)架構(gòu)自動化工具有哪些呢?
Ansible
Ansible是開源的無代理引擎,可自動執(zhí)行應(yīng)用程序部署、配置管理和IT編排,用Python編寫。為了實現(xiàn)所有自動化,Ansible使用了playbook,其中所有配置都以可讀的語言YAML編寫。
Ansible具有無代理架構(gòu),無需在所有服務(wù)器上單獨安裝任何軟件。它遵循基于推送的模型,在模型中,需要具有所有必需配置的本地系統(tǒng),并將這些配置推送到目標服務(wù)器。
Ansible的功能包括:使用簡單易讀的語言進行自動化;無代理架構(gòu),可以通過簡單的SSH連接到服務(wù)器;推送模型將配置從你操作的本地計算機推送到服務(wù)器;基于Python構(gòu)建,因此它支持許多python庫和功能等等。
所以,Ansible技能對于系統(tǒng)管理員,開發(fā)者,基礎(chǔ)架構(gòu)工程師非常有用。
SaltStack
SaltStack可以快速執(zhí)行基礎(chǔ)架構(gòu)管理、配置和編排。與Chef和Puppet等其他類似工具相比,SaltStack的速度是它的最大優(yōu)勢。就像Ansible一樣,它也是用Python編寫的。
它具有主從結(jié)構(gòu),其中Salt Master是管理所有內(nèi)容的主守護程序,Salt Minions是安裝在每個受管系統(tǒng)上以執(zhí)行Salt Master發(fā)送的指令的從守護程序。Salt Master將必要的配置和命令發(fā)送到Salt Minions,Salt Minions在其計算機上執(zhí)行它們以應(yīng)用所有IT自動化。
SaltStack功能包括:專為規(guī)模和速度而設(shè)計,每個master最多可以處理10000個minions;設(shè)置非常簡單,具有單個遠程執(zhí)行體系架構(gòu);SaltStack中的配置文件支持各種語言;它可以在遠程系統(tǒng)上并行執(zhí)行命令,這有助于快速應(yīng)用自動化;提供使用Python API的簡單編程接口。
Chef
在生產(chǎn)環(huán)境中,有時故障的原因之一是應(yīng)用程序不一致或基礎(chǔ)設(shè)施配置不一致。而Chef能夠有效解決這類問題。
Chef是用于管理基礎(chǔ)架構(gòu)的配置管理工具。它是用Ruby編寫的。Chef作為基礎(chǔ)架構(gòu)管理產(chǎn)品使每個環(huán)境與基礎(chǔ)架構(gòu)中的相同配置保持一致。它提供各種工具,例如Chef Infra,Chef Automate,Chef Enterprise和Chef Community,用于基礎(chǔ)架構(gòu)管理。
Chef基礎(chǔ)架構(gòu)管理功能有:配置以YAML編寫,易于學(xué)習(xí);它帶有多種開發(fā)工具,用于編寫配置,測試和依賴性解析;企業(yè)版中的輕松協(xié)作功能可輕松處理復(fù)雜的環(huán)境;支持與數(shù)百種DevOps工具集成,例如GitHub,Jenkins等等。
Bolt
Bolt是Puppet的開源項目之一。它是用于IT自動化的無代理編排工具。使用Bolt,可以自動執(zhí)行所有手動任務(wù)。如部署應(yīng)用程序,對服務(wù)器進行故障排除,停止重新啟動服務(wù),修補和更新系統(tǒng)等任務(wù)。
由于Bolt是無代理的,因此無需在遠程目標計算機上安裝任何代理軟件。需要在本地系統(tǒng)上安裝Bolt,然后才能使用SSH或WinRM連接遠程目標系統(tǒng)。
bolt功能包括:在YAML中編寫bolt計劃(命令,腳本和任務(wù)的組合),易于使用和學(xué)習(xí);Puppet Forge(模塊庫)提供了許多現(xiàn)有的計劃和工作流程;輕松將你的自動化從Bolt遷移到Puppet Enterprise,以實現(xiàn)更好的可伸縮性。
Terraform
Terraform是一種開源基礎(chǔ)架構(gòu)調(diào)配工具,用于使用基礎(chǔ)架構(gòu)即代碼(IaC)創(chuàng)建和部署基礎(chǔ)架構(gòu)。
Terraform與AWS,Azure,GCP,阿里云等云提供商的配合非常好。你可以輕松使用Terraform在任何這些云提供商上部署和管理基礎(chǔ)架構(gòu)。當前,terraform被許多組織廣泛用于管理其Kubernetes集群。
Terraform的優(yōu)勢包括:輕松管理不可變基礎(chǔ)架構(gòu)的配置;可以完成基礎(chǔ)架構(gòu)的完整編排,而不僅僅是配置管理;使用易于理解的HashiCorp配置語言(HCL);通過terraform注冊表為數(shù)百種工具和技術(shù)提供現(xiàn)成的模塊和提供程序。
結(jié)論
以上這5款工具適合中型企業(yè)實現(xiàn)基礎(chǔ)架構(gòu)的自動化。如果要進入DevOps,并希望自動化基礎(chǔ)架構(gòu)以及其中涉及的單調(diào)任務(wù),那么選擇他們是開啟基礎(chǔ)架構(gòu)自動化的良機。
責(zé)編AJX
-
自動化
+關(guān)注
關(guān)注
29文章
5639瀏覽量
79708 -
企業(yè)
+關(guān)注
關(guān)注
0文章
217瀏覽量
22898 -
工具
+關(guān)注
關(guān)注
4文章
314瀏覽量
27921
發(fā)布評論請先 登錄
相關(guān)推薦
電源設(shè)計:使用半自動化設(shè)計工具的五個詳細步驟
![電源設(shè)計:使用半<b class='flag-5'>自動化</b>設(shè)計<b class='flag-5'>工具</b>的<b class='flag-5'>五</b>個詳細步驟](https://file.elecfans.com/web1/M00/E5/58/o4YBAGBRXCmAV2hiAABT9w3Yooc212.png)
誠聘高級運維自動化工程師
經(jīng)濟型壓力測量傳感器26.600G適用于化工行業(yè)
同步工具適用于同步SRAM
CasePlayer2--單元測試自動化工具
角形調(diào)節(jié)閥適用于哪些場合
單元測試/集成測試自動化工具--WinAMS
Android和iOS 測試五個最好的開源自動化工具
![Android和iOS 測試<b class='flag-5'>五</b>個最好的開源<b class='flag-5'>自動化工具</b>](https://file.elecfans.com/web1/M00/45/D9/pIYBAFp5XuOAZ217AAMIKeGwLmU050.png)
首款適用于Arduino的藍牙家庭自動化擴展板
![首款<b class='flag-5'>適用于</b>Arduino的藍牙家庭<b class='flag-5'>自動化</b>擴展板](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
DB4564_適用于 STM32 微控制器的自動化機器學(xué)習(xí) (ML) 工具
![DB4564_<b class='flag-5'>適用于</b> STM32 微控制器的<b class='flag-5'>自動化</b>機器學(xué)習(xí) (ML) <b class='flag-5'>工具</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論