国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何構(gòu)建內(nèi)部開發(fā)者平臺?

2021-04-07 10:47ScottCareyCharles
計算機(jī)世界 2021年12期
關(guān)鍵詞:開發(fā)人員開發(fā)者基礎(chǔ)設(shè)施

Scott Carey ?Charles

成功建立了快速、穩(wěn)定軟件發(fā)布DevOps文化的企業(yè)通常依靠內(nèi)部開發(fā)者平臺(IDP)來部署代碼。那么什么是“IDP”,怎樣才能構(gòu)建起來呢?

隨著云計算、容器化、DevOps和微服務(wù)架構(gòu)成為現(xiàn)代應(yīng)用程序開發(fā)的構(gòu)建模塊,對于內(nèi)部軟件開發(fā)部門來說,越來越重要的是需要一種簡單的方法來管理這些資源。

谷歌、Netflix和亞馬遜等很多精英工程企業(yè)認(rèn)為,內(nèi)部開發(fā)者平臺(IDP,Internal Developer Platforms)減輕了DevOps部門的運(yùn)營負(fù)擔(dān),同時為軟件開發(fā)人員抽象出了不必要的決策。

正如前總統(tǒng)奧巴馬只穿灰色或藍(lán)色西裝以減輕他的認(rèn)知負(fù)擔(dān)一樣,使用良好內(nèi)部開發(fā)者平臺的開發(fā)人員可以只關(guān)注自己的代碼和Git存儲庫,其他的則交給負(fù)責(zé)底層基礎(chǔ)設(shè)施的平臺。

什么是內(nèi)部開發(fā)者平臺?

內(nèi)部開發(fā)平臺就像雪花片,沒有兩個是一樣的。每個平臺因企業(yè)的堆棧、文化、代碼庫和工具集的不同而不同,這使得很難找到一致的定義。

正如ThoughtWorks工程主管Evan Bottcher所說,“很難用語言表示。‘平臺其實(shí)是一個非常模糊的術(shù)語,我們用來形容對提高大規(guī)模交付速度和效率非常重要的方法?!?/p>

Bottcher自己的定義(他更喜歡術(shù)語“數(shù)字平臺”而不是“內(nèi)部平臺”)是:“自助服務(wù)API、工具、服務(wù)、知識和支持的基礎(chǔ),被配置為備受關(guān)注的內(nèi)部產(chǎn)品。”

對沖基金Two Sigma的平臺工程主管Camille Fournier認(rèn)為,關(guān)鍵在于基礎(chǔ)設(shè)施的軟件方面。她在2020年關(guān)于這個話題的博客中寫道:“像K8s這樣的計算平臺、存儲系統(tǒng)、軟件開發(fā)工具和服務(wù)框架都是任務(wù)的一部分。”

一個好的內(nèi)部開發(fā)者平臺應(yīng)該抽象出基礎(chǔ)設(shè)施決策,支持自助服務(wù)環(huán)境構(gòu)建,與現(xiàn)有的持續(xù)集成和交付(CI/CD)以及部署過程集成,并分配基于角色的訪問控制,所有這些都不需要開發(fā)人員學(xué)習(xí)YAML。

Humanitec公司的首席技術(shù)官Chris Stephenson曾在谷歌開發(fā)過內(nèi)部平臺,他在博客中寫道:“一個有效的內(nèi)部開發(fā)者平臺的關(guān)鍵點(diǎn)在于能夠把復(fù)雜的問題劃分好。每個人都有自己擅長處理的一部分復(fù)雜問題,而其他人完全可以忽略這些問題?!?/p>

Redmonk的首席分析師Stephen O'Grady說,在過去一年里,他看到“有一種明確的愿望,那就是把工具鏈中必要的部分整合到一個平臺上,開發(fā)人員可以在平臺上編寫應(yīng)用程序,所有可能的復(fù)雜問題都被抽象出來了。”

內(nèi)部開發(fā)者平臺的好處

Puppet和CircleCI最新的《DevOps狀態(tài)報告》將自助服務(wù)式內(nèi)部平臺確定為使成熟的企業(yè)DevOps部門與眾不同的3個關(guān)鍵要素之一,其他兩個是自動進(jìn)行變更管理和集成安全性。

一個功能完備的內(nèi)部平臺應(yīng)能夠降低現(xiàn)代軟件系統(tǒng)的復(fù)雜性,加快軟件部署周期,創(chuàng)建更穩(wěn)定的版本,提高開發(fā)人員的滿意度和工作效率,同時降低運(yùn)營負(fù)擔(dān)。

誰需要內(nèi)部開發(fā)者平臺?

內(nèi)部開發(fā)者平臺有兩個核心用戶組,每個用戶組都有自己的視角:平臺/運(yùn)行/DevOps團(tuán)隊(duì)和開發(fā)人員團(tuán)隊(duì)。

平臺/運(yùn)行/DevOps團(tuán)隊(duì)配置平臺,為所需的基礎(chǔ)設(shè)施和工具創(chuàng)建API接口,并建立訪問與合規(guī)保護(hù)措施。平臺本身通常由單個產(chǎn)品所有者配置,或者在較大的企業(yè)中由專門的內(nèi)部平臺團(tuán)隊(duì)配置。

在表現(xiàn)最好的企業(yè)中,該團(tuán)隊(duì)?wèi)?yīng)該扮演產(chǎn)品所有者的角色,與開發(fā)人員協(xié)作以收集需求,緩解常見的痛點(diǎn),并根據(jù)需要對平臺進(jìn)行迭代,所有這些都基于一組關(guān)鍵的用戶指標(biāo)。他們也應(yīng)該善于在內(nèi)部為平臺進(jìn)行宣傳。

云咨詢公司Expert Thinking的首席技術(shù)官James Whinn表示:“這種產(chǎn)品思維方式是內(nèi)部平臺成功的關(guān)鍵。沒有它,團(tuán)隊(duì)可能會只專注于某些很酷的東西,而不一定能帶來業(yè)務(wù)價值?!?/p>

然后,開發(fā)人員將得到一個精簡版的平臺,該平臺將抽象出任何基礎(chǔ)設(shè)施決策,以便他們能夠?qū)W⒂诓渴稹?/p>

初創(chuàng)公司Humanitec成立于2018年,旨在幫助企業(yè)建立一個內(nèi)部平臺,該公司首席執(zhí)行官Kaspar von Grünberg認(rèn)為:“對于DevOps團(tuán)隊(duì)來說,它必須是靈活的,但是對于開發(fā)者來說,必須是不靈活的。所有定制功能都應(yīng)該由DevOps團(tuán)隊(duì)承擔(dān),為不想考慮底層基礎(chǔ)設(shè)施的開發(fā)人員創(chuàng)造捷徑?!?/p>

但是這樣做,我們不是又把開發(fā)人員和運(yùn)行人員分開了嗎?

Puppet的首席技術(shù)官Nigel Kersten指出,構(gòu)建和使用內(nèi)部平臺的團(tuán)隊(duì)必須緊密聯(lián)系在一起,以確保每個人都朝著同一個方向前進(jìn),就像在同一個團(tuán)隊(duì)一樣。如果把他們分開,將最終重蹈開發(fā)和運(yùn)行人員老模式的覆轍。

IDP與PaaS

平臺即服務(wù)(PaaS)通常由供應(yīng)商規(guī)定開發(fā)人員應(yīng)怎樣工作,內(nèi)部開發(fā)者平臺與之不同,它是基于開發(fā)人員團(tuán)隊(duì)已經(jīng)熟悉的工具和流程構(gòu)建的,但抽象性和一致性更好。

正如谷歌技術(shù)專家Kelsey Hightower在2017年的推特上所說:“我認(rèn)為大多數(shù)管理基礎(chǔ)設(shè)施的人只想要PaaS。唯一的要求是:必須由他們自己來構(gòu)建。”

許多小企業(yè)借助于PaaS讓他們的工程團(tuán)隊(duì)快速啟動和運(yùn)行,其中包括Heroku(在2010年被Salesforce收購),或者OpenShift、Cloud Foundry,以及大型公有云供應(yīng)商自己的工具等流行的選擇,但通常會發(fā)現(xiàn)這些工具難以靈活地進(jìn)行擴(kuò)展。

選擇IDP方法確實(shí)會讓工程師們在有機(jī)會構(gòu)建自己的平臺時去冒險,或者更糟的是,他們試圖像亞馬遜或谷歌那樣運(yùn)行,這會導(dǎo)致精力分散,帶來災(zāi)難。

Fournier寫道:“即使那些大公司以開源軟件的形式提供解決方案,他們也經(jīng)常對可用產(chǎn)品的周圍生態(tài)系統(tǒng)以及使用該產(chǎn)品的工程師的文化和需求進(jìn)行各種各樣的假設(shè),而這些假設(shè)可能不太適用于你的公司。說‘谷歌做到了,所以我們也應(yīng)該這樣做,這不是好的產(chǎn)品管理方式?!?/p>

Puppet的Kersten是谷歌前SRE(譯者注:網(wǎng)站可靠性工程師,可簡稱運(yùn)維工程師),他也有類似的看法:“我們已經(jīng)看到很多大企業(yè)試圖采用小型自治團(tuán)隊(duì)的模式,這種模式在亞馬遜很有效,因?yàn)樗麄冇蟹浅J炀毜拈_發(fā)人員,但那里的一切都是作為服務(wù)構(gòu)建的,它們不像傳統(tǒng)軟件那樣受到監(jiān)管或者限制。不過,對其他企業(yè)而言,這會造成混亂和企業(yè)債務(wù)?!?h3>怎樣開始采用內(nèi)部開發(fā)者平臺

從整體部署過程轉(zhuǎn)變?yōu)槌掷m(xù)交付過程是一項(xiàng)重大的文化變革,切不可低估。Bottcher寫道:“我認(rèn)為,用‘自己建設(shè),自己管理的心態(tài)來創(chuàng)辦一家小公司其實(shí)并不難,但要實(shí)現(xiàn)轉(zhuǎn)型則需要勇氣和遠(yuǎn)見。”

Kersten已經(jīng)看到太多的企業(yè)試圖將現(xiàn)有流程重新包裝為一個內(nèi)部平臺,因?yàn)檫@是最流行的。他說:“我們看到的最不同的一種模式是將中心IT重新定義為平臺團(tuán)隊(duì),但不進(jìn)行必要的技術(shù)和文化變革。隨著其越來越受歡迎,我們預(yù)計這種情況會越來越多。”

轉(zhuǎn)移到內(nèi)部開發(fā)者平臺或者決定從頭開始構(gòu)建,這很難推廣到更多的企業(yè)中——從說服管理層做出如此大的轉(zhuǎn)變,到讓開發(fā)人員適應(yīng)一種他們無法完全控制的新工作方式。

Kersten說:“更大的問題是能夠理解用戶,并做出文化上的變革?!?/p>

他和其他很多專家的建議是:從小處著手。Expert Thinking的Whinn建議:“建立一個卓越中心,找出開發(fā)出的平臺能產(chǎn)生真正影響的應(yīng)用情形?!奔词篂閱蝹€應(yīng)用程序搭建測試環(huán)境并從中構(gòu)建出所需的API,也可以幫助平臺團(tuán)隊(duì)走上正確的道路。

在2019年的DevOps企業(yè)峰會上,Team Topologies的作者之一Matthew Skelton說,考慮這一問題的一種方法是將其視為最簡單的可用平臺,或者“明確平臺的哪些方面是重要的,一定不能超過必要的規(guī)模。我們需確保我們構(gòu)建的任何東西都是有吸引力的,有很強(qiáng)的開發(fā)經(jīng)驗(yàn),并將用戶視為我們需要與之交流的客戶,以便我們能夠理解他們的需求并滿足他們?!?/p>

Humanitec的von Grünberg說:“無論開發(fā)或者購買,都是一樣的:必須從底層開始。我們經(jīng)??吹?,企業(yè)會把一小群最好的工程師組織在一起,要求他們把相互隔離的工具鏈整合起來。然后,開始圍繞團(tuán)隊(duì)可以使用的通用API來進(jìn)行整合,并將結(jié)構(gòu)引入到非結(jié)構(gòu)化工具的海洋中?!?/p>

本文作者Scott Carey是IDG UK企業(yè)版的集團(tuán)編輯,主要為InfoWorld撰稿。

原文網(wǎng)址

https://www.infoworld.com/article/3610335/what-is-an-internal-developer-platform-paas-done-your-way.html

猜你喜歡
開發(fā)人員開發(fā)者基礎(chǔ)設(shè)施
農(nóng)業(yè)基礎(chǔ)設(shè)施建設(shè)有望加速
公募基礎(chǔ)設(shè)施REITs與股票的比較
Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
振動攪拌,基礎(chǔ)設(shè)施耐久性的保障
中亞信息(2016年3期)2016-12-01
16%游戲開發(fā)者看好VR
iOS開發(fā)者調(diào)查
iOS開發(fā)者調(diào)查
后悔了?教你隱藏開發(fā)人員選項(xiàng)
栝樓產(chǎn)業(yè)開發(fā)者謝獻(xiàn)忠
兴文县| 法库县| 凤山县| 定南县| 忻州市| 托克逊县| 澄江县| 兴安盟| 漳浦县| 安仁县| 神农架林区| 桦川县| 安化县| 仪征市| 孝义市| 鸡泽县| 卓尼县| 普洱| 大英县| 会同县| 西丰县| 乐都县| 莱州市| 贵州省| 东平县| 渭源县| 新泰市| 罗江县| 怀来县| 宜章县| 隆化县| 万载县| 文化| 临夏市| 鸡泽县| 仙居县| 漳州市| 兰考县| 许昌县| 土默特右旗| 鄄城县|