自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自2012年以來DevOps發(fā)生了怎樣的變化?

譯文
開發(fā) 架構(gòu)
8年前O'Reilly出版了《DevOps是什么?基礎(chǔ)架構(gòu)即代碼》。一名編程專家對作者的哪些預(yù)測成真、接下來會發(fā)生什么進(jìn)行了反思。

自2012年以來DevOps發(fā)生了怎樣的變化?

【51CTO.com快譯】Mike Loukides以圖書形式發(fā)表O'Reilly Media出版的《DevOps是什么?》長文時,他取了一個后來眾所周知的副標(biāo)題:基礎(chǔ)架構(gòu)即代碼。那篇文章只有20頁,提出了幾個要點:

  1. 基礎(chǔ)架構(gòu)進(jìn)入到代碼。運行該軟件的云端系統(tǒng)由代碼創(chuàng)建。
  2. 運維角色將進(jìn)入到團隊。
  3. 監(jiān)控進(jìn)入到平臺。我們通過代碼創(chuàng)建的用于服務(wù)軟件的虛擬機將包括內(nèi)置監(jiān)控。

8年后,也許是時候問一下這些預(yù)測是否屬實、我們學(xué)到了什么以及接下來會發(fā)生什么。

基礎(chǔ)架構(gòu)即代碼

Loukides的文章舉了幾個有名的例子,比如Netflix的ChaosMonkey,它們是完成基礎(chǔ)架構(gòu)工作的成熟的計算機程序。當(dāng)時最流行的想法是,運維人員將成為正宗的計算機程序員,用Python或Ruby編寫程序來設(shè)置將運行應(yīng)用程序代碼的一系列虛擬機??蛻粜枰芾碣Y源、規(guī)模擴展和可用性等。

事實證明,這很難編寫,調(diào)試起來就更難了,而且?guī)缀醪豢赡芾^續(xù)運行。

業(yè)界確實從幾個方面作出了有力的回應(yīng)。

首先在2013年的Python大會上,Solomon Hykes和Sebastien Pahl推出了Docker,這是面向Linux系統(tǒng)的輕量級虛擬化工具。一年后,谷歌開源了Kubernetes。Kubernetes和Docker引入了傳統(tǒng)“基礎(chǔ)架構(gòu)即代碼”之間的一大區(qū)別:它們與其說是受代碼驅(qū)動,還不如說是受配置和命令驅(qū)動。

這方面的流行術(shù)語是聲明性DevOps。簡而言之,你無需編寫常規(guī)的經(jīng)典代碼告訴計算機“如何”創(chuàng)建服務(wù)器,而是創(chuàng)建一個配置文件來告訴計算機那是“什么”并運行命令。用Kubernetes的術(shù)語來說,這是一個清單文件,而不是來自命令行的一系列Kubectl命令,或更糟糕的是運行kubectl命令的Python程序,在無限的“while”循環(huán)中運行,試圖監(jiān)控系統(tǒng)并采取糾正措施。顧問兼培訓(xùn)師Bob Reselman表示,清單文件將創(chuàng)建可重用的資產(chǎn),該資產(chǎn)更易于審計和控制。

雖然“基礎(chǔ)架構(gòu)即代碼”沒有接管軟件的所有方面,但對于促使微服務(wù)崛起起到了至關(guān)重要的作用,團隊常常可以自行運行微服務(wù)。

運維進(jìn)入到團隊

至少對于微服務(wù)而言,可以說運維現(xiàn)在是軟件開發(fā)團隊的一部分。也就是說,對于新服務(wù)而言,我看到團隊支持他們創(chuàng)建的服務(wù)。這倒不是說我接觸的每家組織都如此,而是這些變化并非無處不在。

另一個創(chuàng)新是全新的工作類別,即軟件可靠性工程師或SRE。SRE負(fù)責(zé)系統(tǒng)可用性、延遲、性能、緊急響應(yīng)和容量等。他們監(jiān)控大量網(wǎng)站和服務(wù),并采取糾正措施。這是某種“DevOps”工作,原因是它把軟件開發(fā)的嚴(yán)謹(jǐn)性帶到了運維。我個人感到有點難過,因為我們發(fā)明了一種全新的工作類別,而不是開發(fā)團隊和運維團隊協(xié)同工作。它似乎確實適用于存在可擴展性問題的大公司。人數(shù)較少的小組只是把運維這塊扔給了團隊。

監(jiān)控進(jìn)入到平臺

電話與路由器、Web服務(wù)器、微服務(wù)、數(shù)據(jù)庫直至物聯(lián)網(wǎng)設(shè)備之間的許多環(huán)節(jié)可能會出岔子。Kubernetes方面尚未出現(xiàn)的一件事就是支持我們一直希望的監(jiān)控。云托管公司確實提供了出色的儀表板,便于查看服務(wù)器的運行狀況,但跟蹤消息(這是可觀察性的一部分)是大多數(shù)小組要自行計劃的事情。

這可能屬于下一步。

下一步是什么

雖然Windows容器確實管用,至少從理論上來說適用于一款特定的操作系統(tǒng),但我還沒有看到哪家公司實際使用它。Kubernetes仍然主要是面向Linux系統(tǒng)的解決方案,尤其是面向Web服務(wù)器,可能還面向數(shù)據(jù)庫服務(wù)器。眼下,專職工程師將只好習(xí)慣于在異構(gòu)操作環(huán)境下工作,在這種環(huán)境下傳統(tǒng)運維人員將繼續(xù)發(fā)揮作用。

然后是監(jiān)控。有一些軟件包和開源系統(tǒng)(比如Istio)可以檢測云系統(tǒng),并自動創(chuàng)建監(jiān)控系統(tǒng)和審計跟蹤。我看到的問題是,它們需要大量的CPU/Member,這在云端意味著大量費用。它們還可能使網(wǎng)絡(luò)需求大致翻番。我多次看到一家公司花數(shù)萬乃至數(shù)十萬美元加上數(shù)年的工程師人力來實施一套監(jiān)控系統(tǒng),但由于系統(tǒng)需求實際上影響了生產(chǎn),到頭來只好關(guān)閉監(jiān)控系統(tǒng)。

原文標(biāo)題:How DevOps has evolved since 2012,作者:Matthew Heusser

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

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2020-07-09 13:49:21

Python開發(fā)技術(shù)

2021-03-18 09:18:35

新冠肺炎智能家居物聯(lián)網(wǎng)

2020-12-04 14:43:31

智能制造冠狀病毒制造商

2018-01-18 09:14:42

網(wǎng)絡(luò)存儲變化

2021-04-11 10:40:16

Git軟件開發(fā)

2022-06-03 08:12:52

InnoDB插入MySQL

2017-09-06 17:55:17

用戶體驗UE社交媒體

2018-07-16 14:36:24

編程學(xué)習(xí)代碼

2023-11-29 16:15:48

CIOCISO

2019-09-02 22:03:37

戴爾

2021-03-23 11:00:41

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)釣魚

2018-01-12 15:32:55

大數(shù)據(jù)DBA數(shù)據(jù)庫管理員

2012-09-28 09:34:51

ARM服務(wù)器性質(zhì)

2020-01-17 20:40:06

Windows 7Windows 10Windows

2015-05-04 10:05:11

編程語言GitHub流行語言

2015-05-07 10:10:29

GitHub編程語言

2018-07-23 14:43:56

數(shù)據(jù)庫DBAMySQL

2016-01-05 11:56:34

2017-12-28 15:40:16

開源LinuxGitHub

2020-04-22 10:18:03

DevOps自動化軟件開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號