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

2020年成為DevOps工程師的必讀教程

運(yùn)維 系統(tǒng)運(yùn)維
DevOps的理念是致力于創(chuàng)建一個(gè)以用戶為中心的軟件開(kāi)發(fā)協(xié)作環(huán)境。這不僅有利于加快開(kāi)發(fā)周期,還能夠提高軟件的整體質(zhì)量。這可能就是為什么最好將DevOps描述為一種理念,而不是僅僅一個(gè)快速跟蹤開(kāi)發(fā)的工具。

協(xié)作為世界帶來(lái)了一些偉大的發(fā)明。

七十年代后期,本·科恩(Ben Cohen)和杰里·格林菲爾德(Jerry Greenfield)聚在一起帶給了我們一份禮物,這份禮物持續(xù)保持奉獻(xiàn)——本和杰里的冰淇淋。他們共同努力,將冰淇淋品種的門(mén)檻提的很高,以至于有些人仍在努力追趕。

[[355173]]

你可能想知道這和DevOps有什么關(guān)系。好吧,你可以認(rèn)為DevOps文化和Ben&Jerry的事情類(lèi)似(象征性地),并且DevOps文化能夠促進(jìn)開(kāi)發(fā)和運(yùn)維之間的協(xié)作——通過(guò)簡(jiǎn)化產(chǎn)品開(kāi)發(fā)以及減少多余的流程。

我們喜歡以前的分工概念,但這就是問(wèn)題——有時(shí)分工會(huì)阻礙生產(chǎn)率。它可能會(huì)造成延遲,形成官僚作風(fēng),并起到抑制創(chuàng)造力的作用。

另一方面,協(xié)作可以將人們團(tuán)結(jié)在一起并加快產(chǎn)品發(fā)布周期。更不用說(shuō),開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)之間的合作可以改善終端用戶的整體體驗(yàn)。對(duì)此還有什么不喜歡的?

實(shí)際上,DevOps文化非常致力于協(xié)作,以至于“DevOps”一詞是“開(kāi)發(fā)”和“運(yùn)維”一詞的融合。我的意思是,正如杰克·斯派洛(Jack Sparrow)所說(shuō)的那樣——盡管所有IT人士都是聰明的人,但在命名事物上,他們并沒(méi)有很好的想象力!

盡管如此,DevOps一詞仍然具有一定的吸引力,而且這種趨勢(shì)不會(huì)很快消失。但是,在我們深入研究可以幫助你加入DevOps工程師領(lǐng)域的內(nèi)容之前,讓我們看一下DevOps文化實(shí)際上意味著什么。

什么是DevOps?

Tripwire Inc.的聯(lián)合創(chuàng)始人吉恩·金(Gene Kim)表示:“目前,DevOps更像是一場(chǎng)哲學(xué)運(yùn)動(dòng),尚未有準(zhǔn)確地描述或?qū)嵺`。”

在IT領(lǐng)域似乎有很多這樣的事情!從努力定義計(jì)算機(jī)科學(xué)到嘗試確定硬件錯(cuò)誤和軟件錯(cuò)誤——有太多無(wú)法在計(jì)算機(jī)科學(xué)中精確定義的東西。

幸運(yùn)的是,這并沒(méi)有阻止人們嘗試。以下是Azure對(duì)DevOps的定義:

開(kāi)發(fā)(Dev)和運(yùn)維(Ops)的組合,DevOps是人員,流程和技術(shù)的結(jié)合,以不斷為客戶提供價(jià)值。DevOps對(duì)團(tuán)隊(duì)意味著什么?

DevOps使以前孤立的角色(開(kāi)發(fā),IT運(yùn)營(yíng),質(zhì)量工程和安全性)能夠協(xié)調(diào)和協(xié)作以生產(chǎn)更好,更可靠的產(chǎn)品。通過(guò)采用DevOps文化以及DevOps的實(shí)踐和工具,團(tuán)隊(duì)可以更好地響應(yīng)客戶需求,增強(qiáng)對(duì)所構(gòu)建應(yīng)用程序的信心,并更快地實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。

——Azure.microsoft.com

DevOps的理念是致力于創(chuàng)建一個(gè)以用戶為中心的軟件開(kāi)發(fā)協(xié)作環(huán)境。這不僅有利于加快開(kāi)發(fā)周期,還能夠提高軟件的整體質(zhì)量。這可能就是為什么最好將DevOps描述為一種理念,而不是僅僅一個(gè)快速跟蹤開(kāi)發(fā)的工具。

DevOps怎樣運(yùn)作的?

還記得丹澤爾·華盛頓(Denzel Washington)如何使他的攻守團(tuán)隊(duì)成員在電影《記住泰坦》中一起工作嗎?將DevOps視為IT工程界的丹澤爾。

從設(shè)計(jì)流程一直到生產(chǎn)發(fā)布和支持,DevOps致力于將運(yùn)維和開(kāi)發(fā)工程師的專(zhuān)業(yè)知識(shí)相結(jié)合。

在某些DevOps模型下,開(kāi)發(fā)和運(yùn)維團(tuán)隊(duì)的合并還包括質(zhì)量保障和安全團(tuán)隊(duì)的緊密集成。這種高度集成的結(jié)果是消除了孤立活動(dòng)(例如測(cè)試和部署)所產(chǎn)生的許多錯(cuò)誤。

DevOps團(tuán)隊(duì)使用實(shí)踐來(lái)自動(dòng)化流程和工具,以幫助更快,更可靠地運(yùn)營(yíng)和開(kāi)發(fā)應(yīng)用程序。多虧了DevOps,團(tuán)隊(duì)的整體生產(chǎn)力和速度都被推到了極限。這同時(shí)帶來(lái)了更大的收益方式,超越了公司的利潤(rùn)范圍。

DevOps收益

像所有事情一樣,DevOps從提出來(lái)到現(xiàn)在也受到一些批評(píng)。例如,批評(píng)者經(jīng)常將DevOps稱為一把雙刃劍,它既可以使事情復(fù)雜化又可以使事情簡(jiǎn)單化。

我將列出它提供的一些好處,讓你判斷DevOps是有怎樣價(jià)值的一種方法。

速度

速度絕對(duì)是DevOps必須垂涎的優(yōu)勢(shì)之一。它能讓企業(yè)更快速的發(fā)展。

更快的軟件發(fā)布意味著企業(yè)可以更好的利用產(chǎn)品功能的價(jià)值。每個(gè)人都知道,產(chǎn)品測(cè)試是必須的并且也非常耗時(shí)。借助DevOps,公司可以通過(guò)自動(dòng)化集成和測(cè)試來(lái)加快交付和迭代的過(guò)程。

不僅如此,整個(gè)開(kāi)發(fā)團(tuán)隊(duì)還可以密切關(guān)注產(chǎn)品的整個(gè)生命周期。這種持續(xù)的監(jiān)控減少了團(tuán)隊(duì)在查找和修復(fù)錯(cuò)誤和bug上的時(shí)間。

可靠性

競(jìng)爭(zhēng)激烈市場(chǎng)的好處是,質(zhì)量最終將勝過(guò)數(shù)量。這就是為什么軟件質(zhì)量值得稱贊的原因。

質(zhì)量和可靠性是DevOps可以帶來(lái)的兩個(gè)好處。DevOps有助于簡(jiǎn)化企業(yè)執(zhí)行軟件測(cè)試的方式——DevOps不是將測(cè)試作為SDLC的一部分,而是將其提升為整個(gè)SDLC中至關(guān)重要的組件。

另一方面,可靠性使系統(tǒng)能夠在其環(huán)境限制內(nèi)連續(xù)運(yùn)行,從而提升了企業(yè)無(wú)縫運(yùn)營(yíng)所需服務(wù)的整體連接性。

改善協(xié)作

問(wèn)題是,這并不是說(shuō)人們沒(méi)有意識(shí)到,在DevOps文化興起之前,鞏固開(kāi)發(fā),運(yùn)維和質(zhì)量保障團(tuán)隊(duì)會(huì)為業(yè)務(wù)帶來(lái)更多價(jià)值。

另外,以前的軟件開(kāi)發(fā)方式也沒(méi)有在協(xié)作這個(gè)主要元素上有所丟失。DevOps所做的就是將部門(mén)之間的協(xié)作帶到了最前沿,并改變了這些部門(mén)之間的交互方式。

我們都知道DevOps是對(duì)敏捷和精益軟件方法論的改進(jìn),因此DevOps自然的突出顯示運(yùn)維相關(guān)功能也就不足為奇了。在DevOps環(huán)境中,團(tuán)隊(duì)并不是各自獨(dú)立的,也不存在部門(mén)特定的目標(biāo)。

在DevOps模式下進(jìn)行協(xié)作的最大好處是焦點(diǎn)從團(tuán)隊(duì)效率轉(zhuǎn)換為綜合整體績(jī)效——因?yàn)樽罱K產(chǎn)品的責(zé)任制是所有人共同承擔(dān)的。此外,開(kāi)發(fā),運(yùn)維和質(zhì)量保障團(tuán)隊(duì)之間不斷增強(qiáng)的交互性還具有技術(shù)升級(jí)形式的另一個(gè)不可估量的優(yōu)勢(shì)。

想想看,當(dāng)不同部門(mén)的成員定期合作時(shí),他們會(huì)共享想法和專(zhuān)業(yè)知識(shí)。在某種程度上,他們?cè)谂c專(zhuān)業(yè)無(wú)關(guān)的所有方面都接受了交叉培訓(xùn)。這就像你擁有蛋糕,然后和大家共享——這才是吃蛋糕的重點(diǎn)!

安全性

對(duì)于IT來(lái)說(shuō),安全性是一件大事。如果你正在處理受損的數(shù)據(jù)保護(hù),那么這和你的產(chǎn)品線是否以正常的速度運(yùn)行都沒(méi)關(guān)系。

好消息是DevOps除了可以為公司提供所有其他優(yōu)勢(shì)外,它還可以幫助增強(qiáng)安全性。它通過(guò)將安全性作為單獨(dú)的元素添加到開(kāi)發(fā)和運(yùn)維的組件中,因此DevOps可以轉(zhuǎn)變?yōu)镈evSecOps。

在DevSecOps模式下,安全責(zé)任不再是只屬于一個(gè)團(tuán)隊(duì),而是每個(gè)人都要負(fù)責(zé)安全與防御。DevSecOps不僅有助于降低成本,而且還可以幫助你及早發(fā)現(xiàn)并解決安全問(wèn)題。

為什么DevOps很重要?

問(wèn)DevOps為什么重要,就像問(wèn)為什么多多益善一樣。這就是方程式發(fā)揮作用的方式。如果我所列出的DevOps好處都沒(méi)有使你信服,那么我可以再試一次。

毫無(wú)疑問(wèn),世界已經(jīng)改變。軟件和互聯(lián)網(wǎng)幾乎以你能想到的所有方式改變了我們的生活。軟件不再是錦上添花的東西,而是每個(gè)企業(yè)不可或缺的組成部分。

公司使用軟件APP和服務(wù)來(lái)吸引客戶,并簡(jiǎn)化其開(kāi)展業(yè)務(wù)的方式——無(wú)論是物流,運(yùn)營(yíng)還是通信。就軟件而言,實(shí)現(xiàn)的可能性是無(wú)限的。

在一切都變得數(shù)字化的時(shí)代,軟件開(kāi)發(fā)是所有創(chuàng)新的關(guān)鍵。而且常規(guī)(good)軟件開(kāi)發(fā)和優(yōu)秀(great)軟件開(kāi)發(fā)之間的差異就在于DevOps!

DevOps實(shí)踐

現(xiàn)在,我們已經(jīng)了解了DevOps的含義以及它的一些相關(guān)優(yōu)點(diǎn),讓我們討論一些DevOps的實(shí)踐。對(duì)DevOps方法論的透徹理解將有助于清除你可能遇到的任何揮之不去的疑問(wèn)。更不用說(shuō)它會(huì)增加你在這方面的知識(shí)并在面試中派上用場(chǎng)(我們將在后面進(jìn)行討論)。

持續(xù)集成

團(tuán)隊(duì)孤立地工作所導(dǎo)致的最大問(wèn)題之一是在工作完成后合并代碼。這不僅具有挑戰(zhàn)性,而且很耗時(shí)。在這方面,持續(xù)集成(CI)可以幫助你節(jié)省大量時(shí)間。

開(kāi)發(fā)人員通常使用具有持續(xù)集成功能的共享存儲(chǔ)庫(kù)(使用版本控制系統(tǒng),如Git)。持續(xù)集成服務(wù)可以并發(fā)的對(duì)變更的代碼進(jìn)行構(gòu)建和運(yùn)行測(cè)試,這使得識(shí)別和處理錯(cuò)誤更加容易。從長(zhǎng)遠(yuǎn)來(lái)看,持續(xù)集成有助于提高開(kāi)發(fā)人員的生產(chǎn)率,更快地解決bug和錯(cuò)誤,并能夠加快迭代速度。

持續(xù)交付

  • > 進(jìn)化塑造了這顆星球上一切有意識(shí)的生命,而它只用了一個(gè)工具:錯(cuò)誤。
  • ——西部世界

羅伯特·福特(Robert Ford)可能在《西部世界》中犯了一些重大錯(cuò)誤,但是這個(gè)人確實(shí)有一些出色的表現(xiàn)。他在進(jìn)化上做出了很重要的一步。

談到進(jìn)化,許多人認(rèn)為持續(xù)交付(CD)是CI的下一步發(fā)展,因?yàn)樗苿?dòng)了自動(dòng)化開(kāi)發(fā)生命周期的進(jìn)一步發(fā)展。

CD僅涉及編譯,測(cè)試和暫存環(huán)境。開(kāi)發(fā)生命周期在該構(gòu)建階段之后會(huì)將變更的代碼擴(kuò)展到測(cè)試環(huán)境(或生產(chǎn)環(huán)境)從而來(lái)擴(kuò)展CI。

如果使用得當(dāng),CD可以在生產(chǎn)階段之前對(duì)多個(gè)維度進(jìn)行全面測(cè)試來(lái)幫助開(kāi)發(fā)人員微調(diào)更新。持續(xù)交付允許開(kāi)發(fā)人員運(yùn)行測(cè)試,例如UI測(cè)試,集成測(cè)試和負(fù)載測(cè)試等。

微服務(wù)

微服務(wù)之于軟件設(shè)計(jì)就像生產(chǎn)線之于制造?;蛘?,更確切地說(shuō),微服務(wù)是一種軟件設(shè)計(jì)體系結(jié)構(gòu),它對(duì)整個(gè)系統(tǒng)產(chǎn)生影響。

微服務(wù)允許將多個(gè)應(yīng)用程序放到一個(gè)大的代碼庫(kù)中。每個(gè)應(yīng)用程序都包含多個(gè)微服務(wù),并且每個(gè)服務(wù)都經(jīng)過(guò)調(diào)整以在一個(gè)特定功能上表現(xiàn)出色。

例如,讓我們看看亞馬遜如何轉(zhuǎn)向微服務(wù)的。曾幾何時(shí),當(dāng)亞馬遜還不是今天的龐然大物時(shí),他們的API可以很好地為他們服務(wù)。但是隨著亞馬遜的擴(kuò)大,對(duì)更好的應(yīng)用程序接口的需求也越來(lái)越大。

亞馬遜決定使用微服務(wù)。現(xiàn)在,亞馬遜使用多個(gè)服務(wù)替換之前有問(wèn)題的雙層體系架構(gòu)——比如處理訂單的服務(wù),推薦系統(tǒng)服務(wù),支付服務(wù)等。所有這些服務(wù)實(shí)際上都是具有單一業(yè)務(wù)功能的微型應(yīng)用程序。

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

由于技術(shù)創(chuàng)新,服務(wù)器和關(guān)鍵基礎(chǔ)架構(gòu)不再像十年前那樣。現(xiàn)在,你擁有像Google這樣的云提供商,它們可以在巨大的數(shù)據(jù)倉(cāng)庫(kù)中為成千上萬(wàn)的客戶管理業(yè)務(wù)基礎(chǔ)架構(gòu)。

毫不奇怪,當(dāng)今的工程師管理基礎(chǔ)架構(gòu)的方式與以前的方式截然不同。而且,基礎(chǔ)設(shè)施即代碼(IaC)是DevOps環(huán)境可用于處理規(guī)模變化的實(shí)踐之一。

在IaC下,使用軟件開(kāi)發(fā)技術(shù)和代碼(例如版本控制等)來(lái)管理基礎(chǔ)架構(gòu)。借助云的API驅(qū)動(dòng)模型,開(kāi)發(fā)人員可以通過(guò)編程方式與基礎(chǔ)架構(gòu)進(jìn)行交互。這使工程師能夠以處理應(yīng)用程序代碼的方式來(lái)處理基礎(chǔ)架構(gòu)。

這很重要,因?yàn)樗试S你測(cè)試基礎(chǔ)架構(gòu)就像測(cè)試代碼一樣。借助IaC,你的系統(tǒng)管理員不必再擔(dān)心網(wǎng)絡(luò)服務(wù)器無(wú)法連接到數(shù)據(jù)庫(kù)等問(wèn)題。

更重要的是,如果企業(yè)有一個(gè)DevOps團(tuán)隊(duì)正在開(kāi)發(fā)推動(dòng)自動(dòng)化的基礎(chǔ)架構(gòu),那么IaC可以幫助企業(yè)實(shí)現(xiàn)自動(dòng)配置和塑造抽象層,從而使開(kāi)發(fā)人員可以繼續(xù)構(gòu)建服務(wù)而無(wú)需了解特定的硬件,GPU,固件等。

想象一下:奔馳,寶馬和奧迪等大型汽車(chē)制造商都希望獲得最新的車(chē)內(nèi)體驗(yàn)技術(shù),對(duì)嗎?但是,如果這些公司希望提供新的服務(wù)和產(chǎn)品,那么他們將會(huì)為所有跑在路上具有不同硬件的車(chē)而去努力做出調(diào)整。

除非有那么美好的一天,所有硬件都統(tǒng)一了,否則特定設(shè)備會(huì)繼續(xù)作為開(kāi)發(fā)路上的攔路虎。但是,強(qiáng)大的DevOps團(tuán)隊(duì)可以在此提供幫助,因?yàn)樗麄兛梢宰詣?dòng)設(shè)置抽象層從而自動(dòng)化基礎(chǔ)架構(gòu)服務(wù)。通過(guò)解決云中的極端情況挑戰(zhàn),DevOps團(tuán)隊(duì)可以通過(guò)降低成本來(lái)幫助自動(dòng)化制造商,并減輕開(kāi)發(fā)人員的負(fù)擔(dān)和壓力。

配置管理

DevOps模型中的配置管理(CM)對(duì)于促進(jìn)持續(xù)集成很重要。無(wú)論是托管在云中還是本地管理我們的系統(tǒng)都沒(méi)有關(guān)系,正確實(shí)施配置可以確保準(zhǔn)確性,可追溯性和一致性。

當(dāng)系統(tǒng)管理員使用代碼來(lái)自動(dòng)化操作系統(tǒng)時(shí),這會(huì)引導(dǎo)配置變更的標(biāo)準(zhǔn)化。這種標(biāo)準(zhǔn)化會(huì)讓開(kāi)發(fā)人員免于浪費(fèi)時(shí)間手動(dòng)配置系統(tǒng)或系統(tǒng)應(yīng)用程序。

策略即代碼

受益于云編碼基礎(chǔ)設(shè)施和配置的組織還具有額外的優(yōu)勢(shì),即可以大規(guī)模監(jiān)控和強(qiáng)制實(shí)施合規(guī)。

這種自動(dòng)化類(lèi)型可以讓組織有效地監(jiān)控資源的變更,并且可以以分布式方式實(shí)施安全措施。

監(jiān)控和日志

監(jiān)控指標(biāo)可以幫助企業(yè)了解應(yīng)用程序和基礎(chǔ)架構(gòu)性能對(duì)終端用戶體驗(yàn)的影響。對(duì)數(shù)據(jù)和日志進(jìn)行分析和分類(lèi)可以更好的了解產(chǎn)生問(wèn)題的核心原因。

來(lái)看看這種情況——如果要以24/7全天候提供服務(wù),那么就更新頻率而言,主動(dòng)監(jiān)控就變得尤為重要。

如果你正在做代碼發(fā)布,那么你知道的,你無(wú)法做到檢查所有盲點(diǎn)。為什么?因?yàn)椴⒎敲總€(gè)問(wèn)題都在用戶界面中彈出。有些bug的工作方式類(lèi)似于Ethan Hunt,有些bug則降低了性能,然后是浪費(fèi)型的bug,它們浪費(fèi)了資源。

另一方面,容器和實(shí)例的生成會(huì)使日志管理感覺(jué)就像在一大堆針頭中找到一根針頭一樣令人不快。要遍歷的原始數(shù)據(jù)量巨大,可能很難找到有意義的信息。

但是,如果你有監(jiān)控系統(tǒng),則可以根據(jù)監(jiān)控指標(biāo)來(lái)告警團(tuán)隊(duì)有關(guān)跨云服務(wù)或應(yīng)用程序任何類(lèi)型的異常情況。

此外,監(jiān)控指標(biāo)還可以幫助企業(yè)了解應(yīng)用程序和基礎(chǔ)架構(gòu)性能對(duì)終端用戶體驗(yàn)的影響。

日志記錄可以幫助DevOps團(tuán)隊(duì)創(chuàng)建用戶友好的產(chǎn)品或服務(wù),或者推動(dòng)持續(xù)集成/交付。一起使用——監(jiān)控和日志記錄不僅可以幫助企業(yè)更了解其客戶,而且還可以幫助企業(yè)了解其自身的能力和規(guī)模大小。

例如,幾乎所有企業(yè)在全年中都會(huì)從AWS,Azure或者Google Cloud等云提供商租用了一定數(shù)量的云空間。但是,如果公司不了解其容量可能會(huì)由于旺季或假期而波動(dòng)的事實(shí),或者如果其團(tuán)隊(duì)不準(zhǔn)備通過(guò)創(chuàng)建置備層來(lái)應(yīng)對(duì)起伏不定的情況,那么情況可能會(huì)變得很糟糕,比如網(wǎng)站崩潰。

溝通與協(xié)作

DevOps最重要的一點(diǎn)是溝通與協(xié)作。(軟件交付過(guò)程的)DevOps工具和自動(dòng)化專(zhuān)注于通過(guò)結(jié)合開(kāi)發(fā)和運(yùn)維的流程和效率來(lái)創(chuàng)建協(xié)作。

在DevOps環(huán)境中,所有團(tuán)隊(duì)都參與制定與信息共享有關(guān)的文化規(guī)范,并通過(guò)項(xiàng)目跟蹤系統(tǒng),聊天應(yīng)用程序等促進(jìn)交流。這使開(kāi)發(fā)人員之間可以更快地進(jìn)行交流,并有助于將組織的各個(gè)部門(mén)聚集在一起以實(shí)現(xiàn)既定目標(biāo)和項(xiàng)目。

如何準(zhǔn)備DevOps面試

到目前為止,我們已經(jīng)詳細(xì)介紹了DevOps及其優(yōu)勢(shì)和實(shí)踐?,F(xiàn)在是時(shí)候深入了解找一份DevOps工作所需要的信息了。

DevOps工程師需要對(duì)SDLC有透徹的了解。僅憑表面的理解是不夠的,你需要了解為什么組織必須轉(zhuǎn)向新的模式。因?yàn)樗自捳f(shuō),你只有知道自己的目標(biāo),才知道要去怎么做。

另外,如果你打算遷移到DevOps世界,那么你可以享受CI/CD管線提供的各種好處。我們會(huì)談?wù)撘?guī)劃,構(gòu)建,測(cè)試,部署和監(jiān)控,換句話說(shuō),就是整個(gè)流程。

公司一直在尋找與集體效率有關(guān)的DevOps工程師,他們致力于簡(jiǎn)化代碼以及充分利用自動(dòng)化基礎(chǔ)架構(gòu),例如節(jié)省云成本,減少程序瓶頸和運(yùn)行時(shí)間。

請(qǐng)記住,在DevOps環(huán)境中,每個(gè)人都應(yīng)對(duì)所有事情負(fù)責(zé)——成為所有行業(yè)的佼佼者并不是一件容易的事。

考慮到軟件開(kāi)發(fā)周期,大多數(shù)人應(yīng)該已經(jīng)弄清楚了DevOps職業(yè)路線圖的第一步。如果你還沒(méi)有,那也沒(méi)關(guān)系,因?yàn)轳R上我們就會(huì)談?wù)撍?/p>

DevOps職業(yè)路線圖的步驟

為什么職業(yè)路線圖很重要?我們可以換句話說(shuō)——如果你想要了解職業(yè)發(fā)展在組織中如何取得成功,那么你就需要做一些認(rèn)真的規(guī)劃。

此外,我們大多數(shù)人都有我們要為之努力的目標(biāo),如果你打算朝著DevOps夢(mèng)想的工作邁進(jìn),那么你需要關(guān)注職業(yè)發(fā)展。

談到技能以及職業(yè)道路的制定,編程語(yǔ)言對(duì)DevOps而言就像牛奶對(duì)奶昔一樣。我的意思是DevOps工程師也會(huì)做開(kāi)發(fā)以及為自動(dòng)化軟件做編碼工作。唯一的區(qū)別是,DevOps工程師的工作水平要高于老式學(xué)校的系統(tǒng)管理員或來(lái)自90年代的Windows構(gòu)建工程師。

這就是為什么你需要掌握多種編程語(yǔ)言才能成為DevOps工程師的原因。Python,JavaScript和Ruby是與DevOps工具(如Git和Docker)結(jié)合使用的3種最流行的語(yǔ)言。

我并不是說(shuō)你必須要掌握所有這三種語(yǔ)言,但是至少要精通一種。此外,嘗試使用DevOps工具也不會(huì)有壞處。

DevOps工程師還應(yīng)該對(duì)Linux命令接口有基本的了解。必備的Linux技能包括Linux命令(find,grep,awk,sed),Linux shell(bash或ksh),同時(shí)不要忘了還有網(wǎng)絡(luò)命令(nslookup和netstat)。盡管Unix和Windows都一樣好,但是如果你正在運(yùn)行開(kāi)源技術(shù)堆棧,則更有可能是在Linux上運(yùn)行。

當(dāng)然,就成為一名DevOps工程師而言,編程語(yǔ)言只是該過(guò)程的第一步。如果你想對(duì)整個(gè)過(guò)程進(jìn)行全面逐步的了解,請(qǐng)單擊此處。另外,如果你對(duì)自己的Python技巧有些生疏,那么你可以查看這里。

DevOps面試準(zhǔn)備

在繼續(xù)之前,我們假設(shè)每個(gè)人都知道成為一名DevOps工程師所需的要求(單擊鏈接),讓我們繼續(xù)介紹如何為DevOps面試做準(zhǔn)備。

我討厭聽(tīng)到壞消息,但是為DevOps面試做準(zhǔn)備就像在準(zhǔn)備IT世界中任何其他類(lèi)型的面試一樣。你需要根據(jù)自己的技能能力進(jìn)行復(fù)習(xí)。同時(shí)你需要記住一點(diǎn)——你正努力成為推崇自動(dòng)化文化的一部分,但這并不意味著你應(yīng)該像機(jī)器一樣工作。

面試官不會(huì)期待你了解所有內(nèi)容,另外為了避免面試中過(guò)度緊張,請(qǐng)慢慢進(jìn)行。分解重要部分,并逐個(gè)講解各個(gè)主題。就像羅馬不是一天建成的一樣,你不能指望你的技能在幾個(gè)小時(shí)內(nèi)從零增加到一百。

談到重要主題,你應(yīng)該著重關(guān)注以下主題:

  • 數(shù)據(jù)結(jié)構(gòu)和算法(永遠(yuǎn)無(wú)法逃脫)
  • 系統(tǒng)設(shè)計(jì)
  • Linux基礎(chǔ)知識(shí)
  • DevOps工具
  • 語(yǔ)法分析(Parsing)

一旦掌握了這些主題,就可以開(kāi)始為問(wèn)答環(huán)節(jié)做準(zhǔn)備。

任何公司的面試團(tuán)隊(duì)都經(jīng)過(guò)培訓(xùn),可以分辨不同人的工作能力。沒(méi)錯(cuò),他們將竭盡所能吸引最適合他們的申請(qǐng)人。

因此,在進(jìn)行其他準(zhǔn)備之前,請(qǐng)先戴上Sherlock帽,然后進(jìn)行一些調(diào)查,當(dāng)然,不是什么太極端的,只需訪問(wèn)該公司的網(wǎng)站并查找有關(guān)它們的更多信息。嘗試發(fā)現(xiàn)公司的目標(biāo)和計(jì)劃,他們的工作文化以及任何其他有趣的花絮,以便可以幫助你弄清楚遇到的問(wèn)題。

相信我,稍微深入一點(diǎn)的挖掘就可以讓后面的路走的更遠(yuǎn)點(diǎn)。你收集的信息可能會(huì)對(duì)你在面試中遇到的問(wèn)題提供一些見(jiàn)解。

但是,根據(jù)統(tǒng)計(jì)信息,有50%的機(jī)會(huì)運(yùn)氣會(huì)撞向你,也就是你從調(diào)查活動(dòng)中不會(huì)得到任何有用信息。

不過(guò)問(wèn)題不大,下面我為你準(zhǔn)備了DevOps面試中可能會(huì)遇到的全面的問(wèn)題清單

全面的問(wèn)題清單

根據(jù)一段時(shí)間的調(diào)查研究,可以把以下一些問(wèn)題作為速查表。這些問(wèn)題聽(tīng)起來(lái)有些籠統(tǒng),但是它們和你實(shí)際在面試中預(yù)期的非常接近。

  • 準(zhǔn)備提出令人深思且讓面試官影響深刻的作答了嗎?
  • 安全在你的DevOps流程中有多重要?你過(guò)去做了什么來(lái)增加更高的安全意識(shí)?

如果你一直關(guān)注安全方面,那你會(huì)知道安全性在DevOps中有多么重要。由于DevOps自動(dòng)化工作的步伐非常快,因此如果你夠不小心,它可能會(huì)產(chǎn)生一些嚴(yán)重的安全錯(cuò)誤。作為一名DevOps工程師,確保應(yīng)用程序的安全是你的工作職責(zé)。

  • 未來(lái)你想接觸哪些技術(shù)?為什么?你是否已采取任何積極措施來(lái)參與這些技術(shù)?
  • 未來(lái)你想接觸哪些技術(shù)?為什么?你是否已采取任何積極措施來(lái)參與這些技術(shù)?

實(shí)話實(shí)說(shuō),如果你不希望在DevOps面試中遇到這樣的問(wèn)題,那么你差不多就和這份工作無(wú)緣了。創(chuàng)新本身就是DevOps的事情之一,新興技術(shù)也是如此。

這就是為什么你最好加入一個(gè)技術(shù)社區(qū)(例如Reddit或GitHub)并成為開(kāi)源項(xiàng)目的一部分原因??梢赃@么說(shuō),緊緊抓住變化的脈搏。

告訴我們有關(guān)你如何為生產(chǎn)系統(tǒng)實(shí)現(xiàn)高效監(jiān)控解決方案的信息

監(jiān)控需要時(shí)間和耐心,而且很難。優(yōu)秀的DevOps候選人應(yīng)該知道這一點(diǎn)。在這類(lèi)回答中你可以從很多方面說(shuō)明,例如如何在遵守SLA,睡眠(sleep)和發(fā)布周期中不花太多時(shí)間之間保持良好平衡。通過(guò)谷歌搜索SRE監(jiān)控策略并閱讀有關(guān)該主題的內(nèi)容,開(kāi)始為此類(lèi)問(wèn)題做準(zhǔn)備。

你認(rèn)為DevOps角色最具挑戰(zhàn)性的方面是什么?

這是一個(gè)自述問(wèn)題。這類(lèi)詢問(wèn)自己看法的問(wèn)題主要是讓你有機(jī)會(huì)公開(kāi)的談?wù)撃忝媾R和克服的挑戰(zhàn)。

公司喜歡尋找那些積極面對(duì)挑戰(zhàn)的候選人。另外,你也可以談?wù)撆c業(yè)務(wù)相關(guān)的挑戰(zhàn)或技術(shù)難點(diǎn)。

你是如何描述持續(xù)集成以及如何實(shí)現(xiàn)它?

是的,這是一個(gè)非常簡(jiǎn)單的問(wèn)題。嘗試從兩個(gè)方面回答——解釋持續(xù)集成的實(shí)踐內(nèi)容,然后解釋與該軟件有關(guān)的部署過(guò)程。

你是如何定義DevOps?

這個(gè)問(wèn)題太開(kāi)放了,沒(méi)有唯一的正確答案。這個(gè)問(wèn)題的初衷是想了解你對(duì)DevOps文化的看法。答案實(shí)際上取決于你對(duì)DevOps的關(guān)注點(diǎn)——是有關(guān)協(xié)作,自動(dòng)化還是速度?

但是,無(wú)論是微服務(wù)還是其他服務(wù),都請(qǐng)確保從你的角度來(lái)看在DevOps中包含你期望的一些最新趨勢(shì)。另外(這是一個(gè)提示)DevOps在很大程度上是關(guān)于協(xié)作的,但是它的主要目標(biāo)是簡(jiǎn)化開(kāi)發(fā)周期,因此DevOps主要是關(guān)于時(shí)間效率方面的。

你是如何看待“基礎(chǔ)架構(gòu)即代碼”,以及IaC的思想如何與DevOps文化融合?

還記得我們?cè)谟懻揑aC的時(shí)候說(shuō)過(guò),它允許工程師像測(cè)試代碼那樣測(cè)試基礎(chǔ)架構(gòu)嗎?IaC是改善公司整體自動(dòng)化策略的關(guān)鍵——這座橋梁可以在最少的人工干預(yù)下管理基礎(chǔ)架構(gòu)。另外,根據(jù)職位描述和組織,你可以多回答一些基礎(chǔ)架構(gòu)自動(dòng)化工具和容器技術(shù)。

如何評(píng)判自己和DevOps團(tuán)隊(duì)的成功

DevOps文化是關(guān)于整體改進(jìn)的。團(tuán)隊(duì)中的每個(gè)人都在努力使生產(chǎn)和部署過(guò)程更安全,高效以及自動(dòng)化。

這意味著,沒(méi)有事情是完美的——總有可以改進(jìn)的地方。作為一名DevOps工程師,你的工作是推動(dòng)自己和團(tuán)隊(duì)不斷做得更好。而且,這就是為什么你需要可評(píng)估或可衡量的目標(biāo)來(lái)衡量成功的原因。否則,你將不知道如何衡量你的成功。

為什么我們需要DevOps?

這很簡(jiǎn)單——公司面臨著從用戶不斷增長(zhǎng)到以交付更好,更快的應(yīng)用程序的需求轉(zhuǎn)變。而且,DevOps強(qiáng)調(diào)自動(dòng)化和協(xié)作,這可以幫助企業(yè)以經(jīng)濟(jì)高效的方式迅速滿足需求。

DevOps工程師在敏捷開(kāi)發(fā)方面的職責(zé)是什么?

DevOps工程師需要與敏捷開(kāi)發(fā)團(tuán)隊(duì)緊密合作,以促進(jìn)必要的環(huán)境來(lái)支持諸如持續(xù)集成,持續(xù)交付和自動(dòng)化測(cè)試之類(lèi)的實(shí)踐。DevOps工程師必須與開(kāi)發(fā)人員合作,以使整個(gè)DevOps機(jī)器無(wú)縫運(yùn)行。

結(jié)束語(yǔ)

我們提供了完整的DevOps面試問(wèn)題清單,以及承諾的有關(guān)DevOps文化的大量信息。

冒著這篇文章變成與托爾斯泰的《戰(zhàn)爭(zhēng)與和平》相提并論的風(fēng)險(xiǎn),我只想在結(jié)束之前提及一個(gè)小細(xì)節(jié)。

就像我經(jīng)常告訴人們的那樣,當(dāng)你走進(jìn)面試室時(shí),重要的是要在面試結(jié)束時(shí)向面試官提出一系列問(wèn)題。

利用此次機(jī)會(huì)獲得有關(guān)工作和公司的有價(jià)值的信息。你能想象自己在這樣的地方工作嗎?如果不能,那么整個(gè)過(guò)程將毫無(wú)意義。

你的職業(yè)生涯取決于你在某個(gè)特定領(lǐng)域的表現(xiàn)和貢獻(xiàn)。選擇符合你的興趣和目標(biāo)的工作是成功的一半。選擇一個(gè)你真正感興趣并感到興奮的工作,然后讓這種熱情驅(qū)動(dòng)你向前。

原文標(biāo)題:How to Become an DevOps Engineer in 2020

 

責(zé)任編輯:未麗燕 來(lái)源: Dockone.io
相關(guān)推薦

2019-11-05 14:56:34

前端框架庫(kù)

2020-08-17 17:19:42

數(shù)據(jù)科學(xué)家技能數(shù)據(jù)科學(xué)

2017-03-01 12:59:36

2018-12-17 12:44:14

混合云IT管理者云計(jì)算

2017-02-06 17:22:33

2021-02-09 10:53:21

數(shù)據(jù)科學(xué)數(shù)據(jù)分析IT

2020-05-22 10:52:29

DevOps無(wú)服務(wù)器架構(gòu)代碼

2022-12-15 11:10:45

2014-12-08 16:12:07

CA Technolo虛擬化

2021-02-18 00:09:23

程序員編程技能

2017-11-24 13:14:03

2018-08-29 08:21:36

區(qū)塊鏈技術(shù)智能

2021-01-03 14:58:18

科學(xué)家數(shù)據(jù)SQL

2019-12-13 15:14:00

IT團(tuán)隊(duì)企業(yè)

2020-09-29 13:10:28

DevOps自動(dòng)化技能

2020-09-14 08:33:40

Python書(shū)籍開(kāi)發(fā)

2021-07-29 11:14:03

DevOpsLinux工程師

2021-02-16 00:18:43

數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)IT

2020-10-23 19:20:34

前端開(kāi)發(fā)工程師

2017-12-12 16:24:57

工程師代碼阿里巴巴
點(diǎn)贊
收藏

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