發(fā)布于:2021-01-19 15:07:53
0
90
0
錯誤報告比以往任何時候都重要。在本次采訪中,BugReplay的創(chuàng)始人兼CTO Sam Kaufman教我們?nèi)绾魏喕e誤報告,并討論容器和無服務(wù)器的下一步發(fā)展。
JAXenter:錯誤報告在軟件開發(fā)生命周期中扮演什么角色?
薩姆·考夫曼(Sam Kaufman): 在軟件發(fā)布中,大部分代碼發(fā)生了更改,通常會引入一些新的錯誤。當(dāng)用戶看到該版本時,就有一個新問題會影響其中一個或多個的風(fēng)險。如果用戶發(fā)現(xiàn)問題,則對于軟件公司而言,必須盡快將其報告給您。公司診斷,修復(fù),測試和發(fā)布軟件補丁的速度越快,軟件問題帶來的負(fù)面影響就越小。
錯誤通常不是公司喜歡的事情,因為每個人都想認(rèn)為自己的軟件是完美的,但是,從用戶的角度來看,報告問題并及時進行修復(fù)的客戶服務(wù)經(jīng)驗非常重要,因此無法解決。持久的印象。對于網(wǎng)站和Web應(yīng)用程序的性能,消費者并不輕易原諒,因此,毫不夸張地說,錯誤報告在今天比以往任何時候都更為重要。關(guān)鍵問題是:我們?nèi)绾尾拍苁褂嘘P(guān)各方減輕這一過程的痛苦?
我認(rèn)為有一些明確的方法可以使錯誤報告更加容易。對于用戶而言,他們希望看到一個報告錯誤的地方。不要讓他們在高低搜尋聯(lián)系人鏈接。在頁眉或頁腳中放置明顯的內(nèi)容。在實際填寫錯誤報告時,可以自動解決許多我們需要解決的問題。對于Web應(yīng)用程序,大多數(shù)主流瀏覽器現(xiàn)在都在瀏覽器中內(nèi)置了強大的診斷實用程序。
我們構(gòu)建了BugReplay工具來輕松捕獲該關(guān)鍵信息,并將其直接插入瀏覽器并記錄視頻以及開發(fā)人員解決問題所需的所有數(shù)據(jù)流(網(wǎng)絡(luò)流量,瀏覽器控制臺錯誤和日志),因此-技術(shù)用戶可以向您發(fā)送詳細(xì)報告。
賈克森特: 在漏洞方面,敏捷是一把雙刃劍嗎?
山姆考夫曼: 是的,絕對。公司之所以采用敏捷方法,是因為他們對軟件發(fā)布需要花費多長時間感到沮喪。敏捷非常適合通過省去傳統(tǒng)的冗長文檔和冗長的角色,從而更快地發(fā)布版本。
開發(fā)人員和測試人員通常不會獲得有關(guān)所有工作原理的手冊,這使測試更加全面。如果沒有每個要素的書面行為以及緊迫的最后期限通常意味著敏捷,那么就無法完全測試軟件版本。對于大中型軟件項目,無疑會在每個發(fā)行版中引入錯誤。從積極的一面來看,敏捷方法論意味著更快地發(fā)現(xiàn)并修復(fù)關(guān)鍵錯誤。敏捷商店可以迅速地集中精力,專注于一個重要的問題,并協(xié)同工作以盡快解決問題。
JAXenter:您對2018年的DevOps有何預(yù)測?我們應(yīng)該注意什么?
薩姆·考夫曼(Sam Kaufman): 預(yù)計來年會有更多,更大的安全問題。隨著安全研究人員和安全研究工具變得越來越復(fù)雜,通過默默無聞的安全性已不再是真正的防御。尋找更快,更輕松的方法來確?;A(chǔ)系統(tǒng)的安全和最新。
JAXenter: 容器(和編排工具)現(xiàn)在非常流行。您認(rèn)為今年人們對集裝箱的興趣會增加嗎?
Sam Kaufman: 盡管容器的采用正在增長,但是它們的真正用例是可重現(xiàn)的體系結(jié)構(gòu)和關(guān)注點分離,這可以通過其他方式來實現(xiàn)。我認(rèn)為容器和編排工具仍然很新,因此盡管人們的興趣將繼續(xù)增長,但我仍然看到許多公司不愿依賴工具來快速更改系統(tǒng)。
我個人已經(jīng)在筆記本電腦和Debian系統(tǒng)上的生產(chǎn)環(huán)境中使用了Mac版Docker,在Mac上,我仍然看到許多奇怪的錯誤,這些錯誤通常是通過重新啟動Docker或采取其他嚴(yán)厲措施來“修復(fù)”的。當(dāng)然,這是可以預(yù)料到的,因為該軟件仍是相當(dāng)新的并且非常復(fù)雜,但是它將使更多的傳統(tǒng)和保守派操作人員遠(yuǎn)離,直到它像傳統(tǒng)系統(tǒng)一樣穩(wěn)定為止。
JAXenter:您如何看待無服務(wù)器在2018年將發(fā)生變化?會對DevOps產(chǎn)生影響嗎?
薩姆·考夫曼(Sam Kaufman): 隨著Google,亞馬遜,微軟和IBM的云產(chǎn)品不斷完善,我認(rèn)為無服務(wù)器選項將繼續(xù)增長。完全烘焙后,它將對DevOps產(chǎn)生巨大影響,因為您無需維護基礎(chǔ)服務(wù)器。
DevOps的不幸影響是,需要編寫更多特定于服務(wù)的軟件工具才能在不同的云平臺上處理,監(jiān)視和警報。您可以運行軟件并將服務(wù)器維護留給具有管理服務(wù)器專業(yè)知識的巨型平臺,這真是令人驚訝,但您仍然需要編寫工具來與平臺服務(wù)進行通信,或者依靠其他工具或SaaS公司為您完成此任務(wù)。
JAXenter: 能為我們提供一些您今年發(fā)現(xiàn)并決定堅持的提示和技巧嗎?
山姆·考夫曼:
Slack Alerts:今年,我真的專注于改進一些監(jiān)視和警報,尤其是在Amazon上。使用Slack(或任何類似Slack的產(chǎn)品),您可以創(chuàng)建一個Webhook來提醒或登錄到某個頻道,并在任何東西到達(dá)該頻道時將您的通知更改為ping您。盡管電子郵件可以實現(xiàn)相同的目的,但您會驚訝于電子郵件的交付確實如此復(fù)雜。在Slack中獲取所有通知大大改善了我的響應(yīng)時間和服務(wù)正常運行時間。
結(jié)構(gòu)化日志記錄:結(jié)構(gòu)化日志記錄使您能夠以非常強大的方式對切片進行真正的切片和切塊處理并發(fā)出警報,并迫使您對日志記錄的內(nèi)容和時間進行更多的思考。(我在2016年底在自己的博客上寫了有關(guān)此內(nèi)容的文章,但直到去年才真正投入其中。)
Vim 8.0:如果您是Vim用戶,并且具有各種linting或錯誤檢查插件,則您可能會注意到,隨著項目的擴大,Vim將凍結(jié)很多。Vim 8.0具有異步功能,并且通過“ Ale”(異步棉絨引擎),所有凍結(jié)的工作現(xiàn)在都消失了。如此好用,以至于我不能再回到早期的Vim版本了。
JavaScript中的Async / await:花了我一段時間,但我真的開始喜歡異步并在JavaScript中等待。編寫了大量異步代碼后,將其移植到異步/等待狀態(tài)使其再次可讀。另外,將常規(guī)JavaScript移植到Typescript對我的代碼的可讀性和可伸縮性產(chǎn)生了巨大影響。