DevOps的誕生極大的推動了云計算行業(yè)的快速發(fā)展。因為使用正確的工具,現(xiàn)在可以進行從配置、代碼部署到服務(wù)器配置和自動化的所有工作。而選擇的工具主要取決于現(xiàn)有的基礎(chǔ)設(shè)施和你希望實現(xiàn)的目標,所以為基礎(chǔ)架構(gòu)選擇正確的工具對于云計算業(yè)務(wù)取得成功十分重要。以下7個自動化工具用于快速,一致和高效地構(gòu)建軟件的DevOps工具。
▲
Docker
Docker是目前云計算發(fā)展最為流行的軟件容器平臺,當與團隊中的其他人員進行代碼合作時,程序員和開發(fā)者遇到的本機問題可以協(xié)作處理。它通過稱為容器的應(yīng)用程序創(chuàng)建隔離環(huán)境來實現(xiàn)。容器具有使軟件運行所需的一切。與虛擬機不同,容器不需要完整的操作系統(tǒng)。它們只需要使軟件工作所需的庫和設(shè)置,這意味著軟件將始終運行,無論你在何處部署它。
Jenkins
Jenkins是一個基于Java的開源工具,可幫助你為項目創(chuàng)建連續(xù)的交付中心。它與GitHub或SVN等控制系統(tǒng)無縫集成,可以更快速地傳送應(yīng)用程序。每次將代碼推送到存儲庫時,Jenkins會構(gòu)建并測試代碼并告訴你結(jié)果。Jenkins還是以簡單到復雜的連續(xù)交付(CD)流水線為代碼的工具,這樣可以將所有的CI/CD流水線作為完整的代碼。
Terraform
Terraform是一個能支持多個云平臺的provision工具,與cloud-agnostic無關(guān)。可安全有效地創(chuàng)建,將基礎(chǔ)設(shè)施作為可版本化控制的配置來管理。它使用被稱為HCL(Hashicorp配置語言)的DSL來管理定制的內(nèi)部解決方案以及現(xiàn)有的服務(wù)提供商。還可以構(gòu)建所有資源的圖形,并且可并行創(chuàng)建和修改任何非依賴資源。
Chef
Chef是一個配置管理工具,可自動化和管理基礎(chǔ)設(shè)施,實時環(huán)境和應(yīng)用程序。它使用稱為cookbooks的概念,以DSL(域特定語言)為基礎(chǔ)架構(gòu)編程,并根據(jù)你的cookbooks的定義規(guī)則配置虛擬機。還可以使用在所有服務(wù)器上運行的代理從Chef主服務(wù)器上拉出cookbooks,并在服務(wù)器上運行這些配置以達到所需的狀態(tài)。
Puppet
Puppet是用于版本控制,自動測試和持續(xù)交付的另一種配置管理工具。Puppet的配置代碼包含在模塊中,并用puppet的DSL編寫。它使你能夠?qū)⒒A(chǔ)架構(gòu)定義為代碼并將其進行測試,然后再將其部署到生產(chǎn)環(huán)境中。
Vagrant
如果要為開發(fā)環(huán)境配置虛擬機,則Vagrant是最佳工具之一。該工具支持VirtualBox,VMware和Hyper-V等虛擬機解決方案,并使用一個名為Vagrantfile的配置文件,該配置文件具有虛擬機所需的設(shè)置。創(chuàng)建虛擬機后,可以與具有相同開發(fā)環(huán)境的其他開發(fā)人員共享,或者使用插件與其他工具(如Puppet和Docker)進行連接。
Ansible
可配置的自動配置管理,云配置,應(yīng)用程序部署,服務(wù)內(nèi)編排等等。 Ansible中的配置模塊稱為“playbooks”。playbooks是用YAML格式編寫的,這使得它們比其他配置管理工具更容易編寫。可靠的簡單性不僅可以幫助編排基礎(chǔ)架構(gòu)的多個單元,還可以消除服務(wù)器和代理版本之間的兼容性問題