掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
上周,我的一些非常資深的同事和我本人評論了有多少新的DevOps工具正在涌現(xiàn),以及每天如何越來越難以追蹤它們以及它們在世界上的位置。 我問了其中幾個(gè)工具(Ansible,Terraform,Salt,Salt,Chef,Bamboo,CloudFormation)在哪里適合使用。為什么我要使用其中一個(gè)? 他們甚至是同一件事嗎? 我想念一名主要球員嗎? 我回到了與我相同的空白凝視/問題。 因此,我想我會做一些研究,閱讀并嘗試對我們所有人有意義,以便我們可以將產(chǎn)品分類為大家都熟悉的類別或用途。

成都創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元鎮(zhèn)安做網(wǎng)站,已為上家服務(wù),為鎮(zhèn)安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
在開始討論DevOps工具和類別之前,讓我們退后一步,討論一些基本的(但經(jīng)常是超載的)術(shù)語及其含義。
(1) 計(jì)算機(jī)/服務(wù)器---具有中央處理器(CPU),具有內(nèi)存(RAM),本地存儲(磁盤)并運(yùn)行操作系統(tǒng)的物理設(shè)備。
(2) 虛擬機(jī)---在主機(jī)上運(yùn)行的計(jì)算機(jī)系統(tǒng)的仿真; 通??梢栽贑PU,內(nèi)存和磁盤使用方面與其他操作系統(tǒng)隔離。
容器-軟件及其所有依賴項(xiàng)的包裝,以便它可以在任何基礎(chǔ)結(jié)構(gòu)上統(tǒng)一一致地運(yùn)行。 Docker容器是最受歡迎的。 它們使您可以打包一堆東西(您的軟件,配置和其他軟件),以便于部署和運(yùn)輸。 您可以將容器視為虛擬化的下一步發(fā)展(在虛擬機(jī)之后)。
(3) 網(wǎng)絡(luò)設(shè)備---一種在設(shè)備之間路由網(wǎng)絡(luò)流量的硬件。 示例包括路由器,負(fù)載平衡器和防火墻。
(4)軟件--—在操作系統(tǒng)上編寫并運(yùn)行的代碼。
(5) DevOps —傳統(tǒng)上是"開發(fā)"(由您自己構(gòu)建),而有"運(yùn)營"(我們將對其進(jìn)行運(yùn)營),兩者之間的一切都取決于車間的工作方式。 從2010年左右開始,到2018年左右普及,DevOps的想法是"一組旨在減少對系統(tǒng)進(jìn)行更改與將更改投入正常生產(chǎn)之間的時(shí)間,同時(shí)確保高質(zhì)量的實(shí)踐。"
當(dāng)您考慮構(gòu)建和運(yùn)行一個(gè)非平凡的系統(tǒng)時(shí),實(shí)際上會有很多事情要做。 以下是要考慮的傳統(tǒng)物品的列表:
在開發(fā)運(yùn)維之前,我們曾經(jīng)有四個(gè)不同的團(tuán)隊(duì)來完成這項(xiàng)工作:
對于硬件,網(wǎng)絡(luò)設(shè)備和軟件的配置,每個(gè)團(tuán)隊(duì)可能會使用他們自己的腳本和工具集,并且在許多情況下,會手動進(jìn)行操作以使"軟件版本"發(fā)生。
隨著DevOps的到來,對我而言,關(guān)鍵思想是打破這些壁壘,使每個(gè)人都成為"一個(gè)"團(tuán)隊(duì)的一部分,使所有事物的配置,部署和管理方式保持一致。
(6) 云---定義信息技術(shù)歷史上最繁重的術(shù)語是很困難的,但是我喜歡這樣的T恤:"沒有云,只有別人的計(jì)算機(jī)。" 最初,當(dāng)云服務(wù)啟動時(shí),它們實(shí)際上只是其他人的計(jì)算機(jī)(或在其計(jì)算機(jī)上運(yùn)行的VM)或存儲。 隨著時(shí)間的流逝,它們已經(jīng)演變?yōu)檫@項(xiàng)服務(wù)以及許多很多增值服務(wù)。 硬件大部分已經(jīng)被抽象掉了。 您目前無法在大多數(shù)云服務(wù)中購買硬件設(shè)備,但可以購買由硬件設(shè)備提供的服務(wù)。
(7) 基礎(chǔ)架構(gòu)即代碼(IAC)—一種新功能或新概念,使我們可以通過定義或配置文件來定義數(shù)據(jù)中心中所有項(xiàng)目的完整設(shè)置,包括VM,容器和網(wǎng)絡(luò)設(shè)備。 我的想法是,我可以創(chuàng)建一些配置和某些腳本,并使用我們將要討論的工具之一運(yùn)行它們,它們將自動在數(shù)據(jù)中心中提供我們的所有服務(wù)。 CI / CD是IAC的前身,多年來,我們一直致力于使構(gòu)建/測試/集成/部署周期自動化,而使用我們的云基礎(chǔ)架構(gòu)則是對它的自然擴(kuò)展。 這帶來了成本降低,更快的上市時(shí)間以及更少的人為錯(cuò)誤風(fēng)險(xiǎn)。
隨著IAC的出現(xiàn),許多傳統(tǒng)的開發(fā)工具現(xiàn)在可以用于管理基礎(chǔ)結(jié)構(gòu)。 DevOps工程師現(xiàn)在可以使用工具類別(在下面列出),例如軟件存儲庫,構(gòu)建工具,CI / CD,代碼分析器和測試工具,以供DevOps工程師構(gòu)建和維護(hù)基礎(chǔ)架構(gòu)。
"隨著DevOps的出現(xiàn),對我來說,關(guān)鍵思想是。 。 。 使每個(gè)人都成為"一個(gè)"團(tuán)隊(duì)的一部分,使所有事物的配置,部署和管理方式保持一致。"
現(xiàn)在,我們已經(jīng)定義了一些基本詞匯,讓我回到嘗試對DevOps工具進(jìn)行分類的任務(wù),以使我們更容易確定可以用于什么的工具。
當(dāng)然,與任何其他產(chǎn)品集一樣,類別不一定是干凈的。 許多工具跨類別,并提供兩個(gè)或多個(gè)類別的功能。 以下是我的嘗試,以顯示大多數(shù)非常流行的工具并以這些類別可視化它們的位置。
如您所見,Ansible,Terraform和云工具(AWS,GCP和Azure)等多個(gè)公司正在嘗試將部署,配置管理和業(yè)務(wù)流程類別與其產(chǎn)品組合在一起。 較早的工具集Puppet,Chef和SaltStack專注于配置管理和自動化,但已擴(kuò)展到編排和部署。 還有一些工具,例如GitLab和Azure DevOps,它們試圖涵蓋幾乎所有類別的DevOps。
我希望本概述可以幫助您了解DevOps的基礎(chǔ)知識,可用工具的類別以及當(dāng)今市場上的各種產(chǎn)品如何幫助其中一個(gè)或多個(gè)類別。 多年來,在Solution Street我們使用了許多這樣的工具,對于我們來說,在所有情況下都沒有使用任何一種"轉(zhuǎn)到"工具。 使用的內(nèi)容取決于所使用的技術(shù),托管位置(以及將來的托管位置)以及團(tuán)隊(duì)的才能和組成。

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流