網(wǎng)站運維如何從學(xué)徒到師傅?

2022-01-29    分類: 網(wǎng)站建設(shè)

在你沉思一個問題時,答案通常很簡單,而且往往并非你的原創(chuàng)。成為一位熟練的Web運維工程師,與成為一個熟練的木匠,一名合格的教師,并沒有什么不同。掌握任何知識領(lǐng)域都需要四項基本要求:知識、工具、經(jīng)驗和紀(jì)律。
知識
互聯(lián)網(wǎng)時代,知識是一個特別簡單的問題?;ヂ?lián)網(wǎng)就是一個非常有效的知識存儲系統(tǒng),對很多問題而言,“我來為你Google-下"都是高效且往往也是高產(chǎn)的回答。關(guān)于操作Web基礎(chǔ)結(jié)構(gòu)的幾乎你想知道(或不想知道)的任何事情,你猜對了,都在Web上。
把自己限制在Web上查找信息,喔喔,那就局限了。在這個過程中,盡管感覺不同,可你并非獨自一人。你有同伴,如同你需要他們一樣,他們也同樣需要你。用戶組(各種各樣)遍及全球,這可是分享知識的好場所。

要是你正讀到這里的話,你肯定早已經(jīng)知道書本對于獲取知識的價值了,所有資深的Web運維工程師的一個共同點是都擁有一個相當(dāng)規(guī)模的書架。試著在你的組織內(nèi)部成立一個圖書俱樂部,如果你的組織太小,那就在本地用戶組里問問,看有沒有同道者。
互聯(lián)網(wǎng)行業(yè)的一個獨特之處就是幾乎所有東西都是公開的,事實上,有專有權(quán)的東西也是極少的,而更為獨特的是,幾乎所有規(guī)范文本都是免費的?;ヂ?lián)網(wǎng)是怎么工作的?交換這里有IE的規(guī)范說明交換的原理;IP:這里有RFC791;TCP:RFC793;HTTP:RFC2616。你可以讀讀這些規(guī)范文本,從而對互聯(lián)網(wǎng)的工作原理有一個透徹的理解。這些協(xié)議規(guī)定了網(wǎng)絡(luò)服務(wù)的規(guī)則,你對這些協(xié)議的理解越深,你的決策就會越有水平。但不能就此止步!TCP可能是在RFC793中描述的,但TCP的各種細(xì)節(jié)、擴展以及后來的“發(fā)展”都是在RFC1323、2001、2018、2581等文本中描述的,所以,還需要進(jìn)一步深入研究?;蛟S研究一下TCP是從哪里來的,也是值得的:請看RFC761。
讓我們再來看看理論與實踐的難解之謎。TCP的RFC就是理論,每個操作系統(tǒng)中實現(xiàn)TCP棧的代碼就是實踐。理論與實踐的輝煌撞擊(gloriouscollision)就是不同TCP實現(xiàn)之間互操作性(或互不操作性)的微妙之處,而由此產(chǎn)生的爆炸就是慢速的下載,掛起的會話,以及沮喪的用戶。
在你走在從學(xué)徒到師傅的路途中,盡可能多地占有信息是你的職責(zé),這樣你的大腦才能將那些細(xì)微之處進(jìn)行排序、過濾、關(guān)聯(lián),使其成為一幅簡明、精確的圖畫,從而有助于你的決策一一不管是長期的架構(gòu)設(shè)計的關(guān)鍵決策,還是臨時的排除故障的決策。
工具
工具,在我的經(jīng)驗里,是計算史上持續(xù)時間最長、言辭最激烈的爭論之對Emacs、Subversion對Git、Java對PHP一從不同陣營的爭論開始,迅速地演化為愚蠢的門派之戰(zhàn)。
簡單的事實是,雖然這些工具各有優(yōu)缺點,然而人們使用這些工具卻都取得了成功。為什么人們要使用所有這些不同的工具呢?為什么我們還要制造更多的工具呢?當(dāng)ThomasCarlyle和BenjaminFranklin說“人類是使用工具的動物”和“人類是制造工具的動物”時,我認(rèn)為他們道出了人類本性中某種重要的東西。因為制造與使用工具是我們的本性那為什么我們還要進(jìn)行無謂的爭論呢?雖然Thoreau/在某些問問題上很尖刻,但他的評論“人類已經(jīng)成為他們的工具了”,我覺得在現(xiàn)代語境下,也是同樣準(zhǔn)確的。
這個簡單的事實,在Emerson那里得到了最好的表達(dá):“所有的工具和機器歸根到底都只是人類肢體和感覺器官的延長。”這很好地道出了那個古老的格言:師傅不是用工具煉成的。在互聯(lián)網(wǎng)應(yīng)用的環(huán)境中,你會看得更清楚,五花八門的語言、平臺、技術(shù)都能夠成功地組合在一起,將這些成功地構(gòu)建為一個架構(gòu)的,不是Java或PHP,而是設(shè)計與實現(xiàn)它的工程師一一那些師傅們。
工程上的一個真理是,不管在用的工具是什么,要了解你的工具,這是在這個行業(yè)登堂入室的前提。你的工具必須成為你的肢體和感覺器官的延長。對于工程師和非工程師都同樣深入了解,不要僅僅為了一張證書。你必須了解工具的效果,以及與環(huán)境的交互能力清楚的是,事情發(fā)生時,再抱著本工具說明書來看,則無異于遠(yuǎn)水救近火。對你的工具要句話,必須要實用。
運維工程師的工具箱中的一個強有力的工具,就是系統(tǒng)調(diào)用跟蹤器(systemcalltracer),系統(tǒng)不同,這個工具也可能稍有差別。Solaris的是truss,Linux的是strace,F(xiàn)REEBSD的是
ktrace,而MacOSX本來是ktrace,可后來換成了用處不大的truss系統(tǒng)調(diào)用跟蹤器就是一個窺視孔,透過這個孔,你可以看到操作系統(tǒng)在用戶空間和內(nèi)核空間的交互作用,換句話說,如果不是計算密集的操作,這個工具能夠告訴你應(yīng)用程序正在請求什么,滿足這個請求花了多長時間。
在Solaris、Opensolaris、FREEBSD、MacOSX,以及其他一些平臺中,Dtrace具占有獨特的地位。但Dtrace卻應(yīng)該在這里提一下。Dtrace在系統(tǒng)可觀測性(systemobservability)方面是一個巨大的飛躍,有經(jīng)驗的工程師通過這個工具,可以獲得對系統(tǒng)更為深人的理解,這在以前是不可能做到的。然而,Dtrace就像神諭一樣玄妙深奧,一方面是其深邃的洞察力,另一方面就是答案的質(zhì)量取決于問題的質(zhì)量。從另一方面來說,系統(tǒng)調(diào)用追蹤器的預(yù)言就像雪崩一樣洶涌而來很容易引你上鉤,但要在大量的輸出信息中找到所需要的東西,卻是一個真正的挑戰(zhàn)。
我們怎么談?wù)撈鹧┍篮蜕裼鍋砹?支撐Web的架構(gòu)沒有固定的形態(tài),一般也都是異質(zhì)的環(huán)境,從這點來看,這倒是一個恰當(dāng)當(dāng)?shù)谋扔?。使用strace探測你的Web服務(wù)器正在做什么肯定非常令人興查(而且不用花太多時間,一般也都能做些優(yōu)化)。但發(fā)生問題時,除非是非常有經(jīng)驗的工程師,你要是第一次查看那些輸出,則對你基本上沒有價值,事實上,卻反而浪費你大量的時間與精力。問題在于,這是一件需要經(jīng)驗才能對付的事情,而你只是個新手。在發(fā)生“問題”時,從這樣的工具中查看輸出,試圖找出不尋常的模式,是符合邏輯的。很清楚,你如果在正常操作模式下都不能使用探測工具的話,則比較的基礎(chǔ)也就不存在了。從而所有輸出模式都是不尋常的。那些看起來與題有關(guān)的模式,其實并不是,這種情況經(jīng)常碰到,導(dǎo)致在這上面浪費了大量時間。
傳播關(guān)于工具的爭論往往是重要的,這樣你就能夠針對工具對問題的適用性進(jìn)行選擇,而不會僅限于自己的個人喜好。FREEBSD項目是一個極好的例子,它的發(fā)布管理絕對是的,使用的工具卻是被大多數(shù)人認(rèn)為完全過時的版本控制系統(tǒng)(CVS)。許多成功的架構(gòu)是建立在PHP語言之上的,而PHP卻缺乏很多現(xiàn)代語言都具有的一些特性。而從另一方面來看,很多項目,雖然裝備了最強有力的工具,仍然失敗了。靈巧地運用工具的能力,比工具本身的質(zhì)量要重要得多。話雖如此,有經(jīng)驗的工程師還是應(yīng)該手邊備一件合適的高質(zhì)量工具的。
經(jīng)驗
任何情況下,經(jīng)驗都是最有力的武器之一。經(jīng)驗意味著太多的東西,所以特別重要。從最本質(zhì)的意義上來說,經(jīng)驗意味著良好的判斷力,而良好的判斷力卻是從很多失敗中取得的。從理論與實踐的沖突中,我們可以看出殘酷與美麗。沖突無疑有犧牲一一數(shù)據(jù)丟失、服務(wù)中斷、激怒用戶,以及金錢損失一一但同時,沖突的完整情景和病理卻有著深邃的美:職責(zé)受到了挑戰(zhàn)(你可能因此而丟掉飯碗),非預(yù)期的結(jié)果也得以彩顯,而比這些更重要的,這是你成為病理學(xué)家(pathologist)千載難逢的機會,而且對于理論與實踐在哪里分道揚鑣會有更加深入的理解。
經(jīng)驗與知識是緊密相關(guān)的,知識可以認(rèn)為是他人經(jīng)驗的總結(jié)。你有了這些知識,并不就能把握知識背后的深刻意蘊,這是需要直接經(jīng)驗才能獲得的。經(jīng)由經(jīng)驗?zāi)サZ的洞察力(這種洞察力在僅有知識的情況下是不會有的)具有洞幽燭微的能力,才能夠探出問題所在,而知識背后的深刻意蘊則能夠讓你靈活應(yīng)用學(xué)得的教訓(xùn),解決這里的問題。
經(jīng)驗既是一個名詞,也是一個動詞:獲得經(jīng)驗,與應(yīng)用經(jīng)驗,同樣容易(也同樣困難)。
無經(jīng)驗者的機構(gòu)化挑戰(zhàn)
盡管獲得經(jīng)驗就像簡單的“做事”一樣容易,但在Web運維中,就是一個制造糟糕判斷并從中脫險的過程。然而,問題在于:身處這樣一個激烈競爭的行業(yè),有哪一個機構(gòu)愿意讓
自己的員工制造糟糕判斷呢?回答這樣的問題并執(zhí)行這樣的計劃,對于想擁有職業(yè)Web運維工程師的任何一家公司,都是基本的要求。這個問題的答案分為兩部分:一陰,一陽。
首先,為了讓初級和中級工程師制造糟糕判斷,必須保證安全。這通過將每次糟糕判斷的責(zé)任和造成的損失控制在一定的限度內(nèi)來實現(xiàn),環(huán)境(工作區(qū)、網(wǎng)絡(luò)、系統(tǒng)、代碼)要能夠完整地從偶爾的糟糕判斷中脫險。你肯定不希望被通到這樣的份上,僅僅由于一次糟糕判斷,就將員工炒魷魚(雖然我知道這不能完全避免,但總是一個美好的目標(biāo))。失誤越大,從教訓(xùn)中學(xué)到的就越深入和持久。這讓我們進(jìn)入了答案的第二部分
相同的糟糕判斷水遠(yuǎn)不要犯第二次。錯誤可以發(fā)生,糟糕的判斷事實上也總會遇到,但不能從自己的錯誤中學(xué)到數(shù)訓(xùn),是不可原諒的。雖然意外總是存在的,你應(yīng)該期待并倡導(dǎo)這樣一種文化:對重復(fù)糟糕判斷的零容忍。
“資深運維”的概念
一直困擾著我的一個問題,是初級運維工程師申請資深職位。他們的想法是知識決定了一個人在團(tuán)隊中的地位,正像其他領(lǐng)域一樣,這是絕對錯誤的。一名資深工程師大的特點是其致與可靠的良好判斷力,很顯然,這要在需要做出判斷的場合經(jīng)受鍛煉,而且有一個簡單的數(shù)學(xué)算法需要做出判斷的場合的困難程度乘以任職期限。在一個經(jīng)常發(fā)生災(zāi)難性性事故的運維團(tuán)隊中空降,是可以在“快車道”上迅速成長的。在一個位置上待10年,從來沒有做出過挑戰(zhàn)性的決策也是可能的,其結(jié)果就是,沒有積累起任何有價值的經(jīng)驗。
X一代(甚至Y一代)奉行即時滿足的文化。我與一大批的工程師共同工作過,他們期望他們的“職業(yè)路徑”在5年之內(nèi)能夠達(dá)到高位置,只是因為他們非常聰明。我認(rèn)為對這么一大批人來說是不可能的,不是每個人都能夠做到資深工程師。就算5年之后,你做到了資深工程師,難道這就是你的頂峰了嗎?再一個5年之后,你就不累積寶貴的經(jīng)驗了嗎?到時候應(yīng)該是什么呢?“超級工程師(superengineer)”?5年之后又是什么呢?“無敵工程師(super-duperengineer)”?我認(rèn)為我們這個行業(yè)的年輕人不值得為此煩惱,真實情況是,極少有工程師會在Web運維領(lǐng)域干上15年。我們這個行業(yè)的變化性很強,很多人被選拔到了管理崗位,或作為企業(yè)家冒險運維自己的事情去了。
對進(jìn)入這個領(lǐng)域而沒有什么經(jīng)驗的工程師,我的忠告是:耐心。然而,這句箴言明顯自相矛盾,在你能夠領(lǐng)悟其真意之前,你的耐心恐怕早就跑光了。
紀(jì)律
紀(jì)律,在我看來,是我們這個行業(yè)中大的災(zāi)難。Web運維,從其進(jìn)人結(jié)構(gòu)規(guī)劃、過程設(shè)設(shè)計、人員訓(xùn)練之后,業(yè)績就非常槽糕。作為我工作的一部分,我做了很多評估,走訪了很
多公司,對他們的組織結(jié)構(gòu)、運維實踐、整體架構(gòu)進(jìn)行復(fù)審,以便能夠識別出一但業(yè)務(wù)規(guī)模上來之后,什么時候以及哪里會出問題。
猜猜我經(jīng)??吹绞裁?我看到的是懶懶的牛仔和持槍歹徒,這是狂野西部(Wild,WildWest)啊。情經(jīng)常被吹噓為程序員的必需品質(zhì),在Perl社區(qū)(這一點已經(jīng)成為其符咒的一部分),其意義并非真如字面所示(在符咒中已經(jīng)進(jìn)一步簡化為野做),而是通過盡可能正確面高效地做事,從而為解決同樣同題,面盡可能地少做工作一這其實離橫情已經(jīng)很遠(yuǎn)了。不幸的是,程序設(shè)計和運維領(lǐng)域的其他人卻將真正的懶惰作為一種我稱之為“我的地盤你休想”的做慢。
紀(jì)律就是可控制的行為,來自于培訓(xùn)、學(xué)習(xí)和實踐。以我的經(jīng)驗,紀(jì)行律應(yīng)該是Web運維團(tuán)隊最普通的要素,缺乏紀(jì)律的結(jié)果就是不協(xié)調(diào)、效率低下。
紀(jì)律不是通過書本可以教的東西,必須通過實踐養(yǎng)成。你接手的每個任務(wù)都要用長遠(yuǎn)的眼光來對待。對你的崗位和職責(zé)要長期經(jīng)營,處理問題的解決方案要5年之后還能夠滿意,這些是實踐的良好基礎(chǔ),紀(jì)律從此實踐中即可養(yǎng)成。
軟件工程(一個密切相關(guān)的領(lǐng)域)在紀(jì)律上卻有不錯的成績,我覺得這挺有諷刺意味的。我猜Web運維領(lǐng)域缺乏紀(jì)律性的根本原因是缺乏職業(yè)路徑,這看起來好像是一個雞與蛋的問題,我X對這個行業(yè)很快就會有一個明確的職業(yè)路徑還是充滿信心的。
參與職業(yè)的網(wǎng)站建設(shè)規(guī)劃設(shè)計,對于在這個行業(yè)工作的工程師來說,肯定是是非常重要的。Web已經(jīng)在那兒了,架構(gòu)在Web上的服務(wù)正在變得越來越關(guān)鍵,Web運維“職業(yè)”是不可缺少的。通過參與,你就更能夠確信,當(dāng)初吸引你進(jìn)來的這種工作的特質(zhì),將持續(xù)你的整個職業(yè)生涯。

分享名稱:網(wǎng)站運維如何從學(xué)徒到師傅?
瀏覽路徑:http://www.bm7419.com/news5/143355.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站App設(shè)計、企業(yè)建站、品牌網(wǎng)站設(shè)計ChatGPT、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站