發(fā)布于:2021-01-17 00:05:56
0
114
0
Atlassian峰會(huì)已經(jīng)過去,但現(xiàn)在是進(jìn)行Atlassian高管采訪的最佳時(shí)機(jī)。我們與Atlassian產(chǎn)品營(yíng)銷主管Sean Regan討論了DevOps的所有內(nèi)容,包括監(jiān)控和自動(dòng)化等支柱,Ops的重要性等。
過渡到DevOps
賈克森特(JAXenter):您能否進(jìn)一步介紹您在Atlassian和Bitbucket所扮演的角色?
肖恩·里根(Sean Regan):因?yàn)槲覀儧]有任何銷售人員,所以我負(fù)責(zé)軟件團(tuán)隊(duì)的營(yíng)銷工作。我們與產(chǎn)品團(tuán)隊(duì)合作開發(fā)合適的產(chǎn)品,然后通過市場(chǎng)營(yíng)銷,學(xué)習(xí),課程,論壇和社區(qū)與社區(qū)互動(dòng)。因此,我的團(tuán)隊(duì)負(fù)責(zé)軟件業(yè)務(wù)團(tuán)隊(duì)的成長(zhǎng),Jira軟件,Bitbucket和Portfolio for Jira的云版本 。
JAXenter:正在進(jìn)行很多DevOps。您是否在使用DevOps的方法和思路來構(gòu)建產(chǎn)品?
肖恩·里根(Sean Regan):絕對(duì)是故意的。我們正在運(yùn)行一個(gè)大型的基于云的業(yè)務(wù)。全球范圍內(nèi)的公司在創(chuàng)建云服務(wù)時(shí)正在內(nèi)部構(gòu)建和運(yùn)行產(chǎn)品的方式正在發(fā)生。對(duì)我們來說很清楚,市場(chǎng)的空白在哪里,我們必須在哪里構(gòu)建自己的工具。
一個(gè)很好的例子是,當(dāng)我們構(gòu)建Jira的更新版本時(shí),我們使用了功能標(biāo)記。功能標(biāo)記是指當(dāng)您覆蓋一部分客戶時(shí)(例如20%),如果效果很好,則將其推高到30%,然后是40%。我們的一些工程師入侵了Jira,以更好地與這些功能標(biāo)記供應(yīng)商合作。當(dāng)我問工程師為什么要對(duì)它進(jìn)行黑客攻擊時(shí),他們說他們需要它來工作,客戶也是如此。我們最終將其構(gòu)建到產(chǎn)品中。它使開發(fā)團(tuán)隊(duì)和Jira中的每個(gè)人都知道某個(gè)功能的推出范圍。當(dāng)我們進(jìn)行測(cè)試時(shí),它將在那里更新故障單。
這是我們的DevOps過渡的一個(gè)很好的例子。這種現(xiàn)代化的環(huán)境允許對(duì)10%的人進(jìn)行測(cè)試,如果某些問題不起作用,您可以將其回滾。它帶來了我們過去從未遇到過的新協(xié)作挑戰(zhàn)。
JAXenter:DevOps的兩個(gè)主要支柱是自動(dòng)化和監(jiān)視。在這種情況下,它們有多重要?
肖恩·里根:他們很關(guān)鍵。監(jiān)控尤為重要。我們使用了該功能標(biāo)記示例–如果我推出了一項(xiàng)新功能并對(duì)其進(jìn)行監(jiān)視,并且該功能已達(dá)到其性能目標(biāo),那么我們會(huì)將其推廣給更多的人。然后,如果它達(dá)到了新的目標(biāo),我們會(huì)將其推廣到更多,依此類推。監(jiān)視可以幫助我們向客戶推出新功能,也可以幫助我們說:“哦,這沒有達(dá)到目標(biāo)?;貪L?!?/span>
自動(dòng)化在DevOps中也非常重要。如果您的監(jiān)視效果不佳,則您的產(chǎn)品將出現(xiàn)故障,并且有人會(huì)打開客戶支持單。如果IT團(tuán)隊(duì)發(fā)生事件,他們必須進(jìn)行調(diào)查,如果有錯(cuò)誤,那么他們會(huì)要求軟件團(tuán)隊(duì)來構(gòu)建此修復(fù)程序。十年前,這些都是獨(dú)立的公司。
我們正在嘗試做的是,如果您可以將這些團(tuán)隊(duì)連接到同一平臺(tái)上,那么客戶反饋就可以進(jìn)入并由服務(wù)臺(tái)提供服務(wù),事件可以得到解決,并且錯(cuò)誤修復(fù)可以在軟件中進(jìn)行。我們所有人都可以在同一張票上進(jìn)行交流。同一張票證可以在所有團(tuán)隊(duì)之間轉(zhuǎn)移,當(dāng)他們解決問題時(shí),這些團(tuán)隊(duì)都可以看到狀態(tài)更改。這種自動(dòng)化意味著客戶支持代表下一次遇到問題時(shí),他們知道如何解決。自動(dòng)化實(shí)際上正在改變整個(gè)組織運(yùn)作的方式。不僅是Dev and Ops,還是整個(gè)公司。
JAXenter:多少自動(dòng)化是太多?
肖恩·里根(Sean Regan):前一段時(shí)間,我寫了一篇博客文章,從太慢到太快。很長(zhǎng)一段時(shí)間以來,軟件行業(yè)一直被批評(píng)為所有軟件項(xiàng)目都很晚而且有漏洞,尤其是當(dāng)我們15年前每年一次交付時(shí)?,F(xiàn)在有團(tuán)隊(duì)在進(jìn)行連續(xù)交付,他們的發(fā)展速度如此之快,以至于無法跟蹤自己在做什么。
因此,我們將這個(gè)新的部署儀表板構(gòu)建到Bitbucket中,您可以在其中查看代碼狀態(tài):編寫,測(cè)試和部署。手動(dòng)跟蹤大多數(shù)工具的所有這些步驟。開發(fā)人員不希望它是手動(dòng)的。因此,我們要做的是將其內(nèi)置到Bitbucket中,在Bitbucket中它會(huì)自動(dòng)更新問題。當(dāng)您將代碼推送到測(cè)試和生產(chǎn)中時(shí),它會(huì)自動(dòng)更新問題并告訴您狀態(tài)。這可以幫助整個(gè)團(tuán)隊(duì)以與功能標(biāo)記相同的方式了解正在發(fā)生的事情。
俗話說,在真相系鞋帶之前,謊言可以傳播到世界的一半。好吧,按照我的說法,現(xiàn)代軟件團(tuán)隊(duì)可以在銷售代表系鞋帶之前為客戶構(gòu)建并交付新功能。因?yàn)槟辉傩枰N售人員來介紹產(chǎn)品,所以我們可以向客戶提供新功能。它運(yùn)行的如此之快,從某種程度上講,您可以自動(dòng)化實(shí)現(xiàn)智能。您如何確保公司的其他成員能夠跟上步伐?
我今天剛剛了解了一項(xiàng)新功能,但我還不知道它即將到來。我被吹走了。這怎么發(fā)生的?我們的步伐太快了,以至于我無法跟上所有功能的發(fā)布。這是一個(gè)好問題!我認(rèn)為這就是為什么群聊變得如此流行。您必須開始創(chuàng)建讓人們理解周圍發(fā)生的所有這些信息的方法。小心自動(dòng)化!
JAXenter:回到DevOps,開發(fā)人員是否正在運(yùn)行該節(jié)目?還是Ops團(tuán)隊(duì)最終領(lǐng)先?
肖恩·里根(Sean Regan):我認(rèn)為您所看到的就是這種您理論的想法。您構(gòu)建它,然后運(yùn)行它。它曾經(jīng)是Devs,然后是Ops。即使他們聚在一起成為伙伴,他們?nèi)匀皇莾蓚€(gè)不同的團(tuán)隊(duì)。您看到的“構(gòu)建,運(yùn)行”是這兩個(gè)團(tuán)隊(duì)的共同責(zé)任。而不是兩個(gè)不同的團(tuán)隊(duì),而是一組實(shí)踐。我認(rèn)為Ops和開發(fā)人員的角色正在改變。開發(fā)人員編寫更好的代碼或Ops使其保持更好的運(yùn)行并不是問題。
我一直在待命,我曾經(jīng)是IT管理員。當(dāng)事情惡化時(shí),這很痛苦。您的客戶和Twitter都在說可怕的話。HugOps的想法應(yīng)運(yùn)而生。軟件行業(yè)的其他人將開始向您發(fā)送#HugOps,因?yàn)樗麄冎涝谠搱F(tuán)隊(duì)中工作會(huì)很痛苦。我已經(jīng)進(jìn)行了持續(xù)三天的停機(jī),而人們幾乎沒有睡過。那不健康。您要做的是創(chuàng)建為此計(jì)劃的團(tuán)隊(duì)和文化。
如果您的團(tuán)隊(duì)中的一個(gè)成員壓力太大,您必須要有人可以幫助您。這種安全和同理心的文化是必要的。如果您遇到的事件將您的員工推到了極限,那么這對(duì)團(tuán)隊(duì)中的任何人都是不利的。
JAXenter:公司如何從擁有工具優(yōu)先的態(tài)度轉(zhuǎn)變?yōu)閷W⒂趫F(tuán)隊(duì)的態(tài)度?
肖恩·里根(Sean Regan): 我們非常努力地推動(dòng)團(tuán)隊(duì)劇本的發(fā)展??傆羞@場(chǎng)戰(zhàn)斗。我們嘗試以身作則,并采用我們內(nèi)部關(guān)于人員協(xié)作和開源的任何實(shí)踐。這樣一來,他們就可以幫助人們建立起流程并以人為本。我們不能出去告訴客戶他們使用了錯(cuò)誤的工具。但這實(shí)際上使我們能夠以一種有用的方式做到這一點(diǎn)。
JAXenter:讓我們談?wù)凣itOps。這是每個(gè)人都知道的,但并不是每個(gè)人都完全了解。它如何使DevOps更好?它如何幫助團(tuán)隊(duì)交付更好的軟件?
肖恩·里根(Sean Regan):我認(rèn)為我們現(xiàn)在所看到的是軟件開發(fā)工具的快速發(fā)展。顯然,Git位于中心。現(xiàn)在超級(jí)流行。我認(rèn)為隨著時(shí)間的流逝將發(fā)生變化,像Bitbucket和GitHub之類的東西最初是作為Git存儲(chǔ)庫(kù)開始的,但是它們將變得不僅僅如此。Git仍然處于中心位置,但是在編寫代碼并將其存儲(chǔ)在存儲(chǔ)庫(kù)中,進(jìn)行測(cè)試并部署之后,您開始發(fā)現(xiàn)所有工具都更加緊密地結(jié)合在一起。
最大的不同將是市場(chǎng)中某些人可能合而為一的突破點(diǎn)。因此,GitLab或Microsoft可能會(huì)采用這種套件方法。我認(rèn)為我們將專注于開放套件。我們的產(chǎn)品和合作伙伴產(chǎn)品可以一起使用,但我們不會(huì)嘗試?yán)壦鼈兓驈?qiáng)迫客戶立即購(gòu)買所有產(chǎn)品。我認(rèn)為我們的觀點(diǎn)是,開發(fā)人員將始終選擇最好的工具。我們將以Git為中心,但是您可以根據(jù)市場(chǎng)將工具鏈接在一起。
JAXenter:有很多開發(fā)人員認(rèn)為容器代表了DevOps的未來。您認(rèn)為是這種情況嗎?
肖恩·里根(Sean Regan): 15年前,軟件開發(fā)最慢的部分是裝卸平臺(tái)。您必須等待卡車交付硬件,以便Ops可以運(yùn)行您的軟件。容器化使開發(fā)人員擺脫了這一過程。他們可以獲得部署所需的一切。因此,我認(rèn)為它只是消除了人為障礙之一并加快了速度。無服務(wù)器也將加快速度。
電影《摩天輪》(Ferris Bueller)的《放假日》中引用了一句話:“生活發(fā)展很快。如果您不停地走走,不時(shí)環(huán)顧四周,您可能會(huì)錯(cuò)過它。” 在十到十五年內(nèi),我們從物理服務(wù)器遷移到了VMWare。然后我們進(jìn)入了容器,無服務(wù)器就在其后。我認(rèn)為容器正在幫助實(shí)現(xiàn)這一轉(zhuǎn)變。擁有IT部門傳統(tǒng)的公司在做事上擁有更悠久的歷史,您擁有開發(fā)人員,而擁有運(yùn)營(yíng)人員。他們?cè)诓粩喟l(fā)展,這比一家剛起步的公司要困難得多。
為此,我們?cè)诋a(chǎn)品中進(jìn)行了一些更改。代碼審查是市場(chǎng)上不能很好解決的問題之一。代碼審查首先可以防止事件發(fā)生。但是,如果您看看其他參與者,他們?nèi)绾问褂肎it來組織他們的工作,這是一個(gè)社交優(yōu)先平臺(tái)。因此,當(dāng)您遵循倉(cāng)庫(kù)并進(jìn)行代碼審查時(shí),您會(huì)看到社區(qū)中的所有更新。如果您是作者,并且希望獲得社區(qū)的反饋,那就太好了。
但是,如果您進(jìn)行代碼審查,則很難跟上所有更改。因此,我們?cè)贐itbucket上所做的是使代碼查看單個(gè)頁面,然后您可以進(jìn)入其中并查看整個(gè)歷史。這使得執(zhí)行代碼審查的速度大大提高。我們一直在看到客戶說這使他們的速度提高了25%。這對(duì)于他們來說更容易閱讀。
我們所做的第二個(gè)更改是,許多開發(fā)工具正在遷移到云中。我們看到客戶正在做的一件事是采用Bitbucket Cloud和Bitbucket Pipelines,并在云中運(yùn)行其開發(fā)工具。我們認(rèn)為這是一個(gè)正在發(fā)生的重大轉(zhuǎn)變。這也是令人振奮的,因?yàn)檫@是行業(yè)的另一種變化。
JAXenter:您如何看待微軟收購(gòu)GitHub?
肖恩·里根(Sean Regan): 我認(rèn)為Microsoft參與其中真是太好了。有很多擔(dān)憂,他們會(huì)做正確的事嗎?我認(rèn)為我們必須拭目以待,但這確實(shí)證明了開發(fā)人員對(duì)每項(xiàng)業(yè)務(wù)的重要性。軟件是每個(gè)企業(yè)成功的關(guān)鍵。看到他們進(jìn)入那個(gè)領(lǐng)域,我并不感到驚訝。這是Atlassian激動(dòng)人心的時(shí)刻!
作者介紹
熱門博客推薦