無伺服器完全崛起之時就是DevOps繁榮之時
錯誤報告比我們想像的重要,也比之前任何時候都更重要,本文我們和BugReplay的創始人兼首席技術官Sam Kaufman針對如何簡化錯誤報告進行了探討,同時也對容器和無伺服器的下一步工作進行了討論。
Sam Kaufman
問:錯誤報告在軟體開發生命周期中扮演什麼角色?
Sam Kaufman:在軟體發布後,代碼的重要部分會發生變化,通常會引入一些新的bug。當用戶看到這個版本時,會有新問題會影響一個或多個問題的風險。如果用戶注意到一個問題,那麼軟體公司就必須儘可能快而準確地獲取到並修復。一個公司能夠診斷、修復、測試和發布軟體補丁的速度越快,軟體問題的負面影響就越小。
Bug是每個公司都不喜歡的東西,因為每個人都希望自己的軟體是完美的,但是從用戶的角度來看,報告問題的客戶服務體驗和及時修復是非常重要的,它會給人留下深刻的印象。如果問題涉及到網站和網路應用程序的性能,那麼消費者是不會輕易諒解的,所以bug報告比以往任何時候都更重要,這絕不是一種誇張的說法。目前我們面臨的關鍵問題是:如何才能讓雙方都不那麼痛苦?
我認為有明確的方法可以使錯誤報告更容易。對於用戶來說,他們希望看到一個報告bug的地方,不要讓他們到處尋找聯繫鏈接,最好是在頁眉或頁腳放一些明顯的東西。當涉及到實際填寫錯誤報告時,我們需要解決的很多問題都可以自動化。對於web應用程序來說,大多數主流瀏覽器現在都有強大的診斷工具,這些工具都內置在瀏覽器中。
我們構建BugReplay工具輕鬆地捕捉關鍵信息,並正確插入到瀏覽器,並記錄視頻以及開發人員需要解決的所有數據流 - 網路流量、瀏覽器控制台錯誤和日誌,非技術用戶可以向您發送詳細的報告。
問:敏捷是一把雙刃劍嗎?
Sam Kaufman:絕對是的,公司採用一種敏捷的方法,因為他們對交付軟體的時間感到失望。敏捷非常適合通過分發傳統的長階段文檔和角色的過度專門化來更快地發布版本。
通常來說,開發人員和測試人員是沒有拿到一份確切的手冊,沒有對每個元素的文檔化的行為,而且敏捷也意味著最後期限非常緊迫,所以幾乎沒有辦法完全測試軟體。如果對於大中型軟體項目來說,bug無疑會被引入到每個版本中。如果從好的方面來說,敏捷方法意味著找到關鍵的bug並修復它們的速度要快得多。敏捷可以快速地將注意力集中在一個重要的問題上,並協同工作以儘快解決問題。
問:您對DevOps 2018年的預測是什麼?我們應該注意什麼?
Sam Kaufman:未來一年會有越來越多的安全問題出現。隨著安全研究人員和安全研究工具變得越來越複雜,通過已有的安全性不再能夠實現真正的防禦,我們需要尋找更快、更簡單的方法來保持底層系統的安全和最新。
問:Containers(和編排工具)現在風頭無兩,你認為今年人們對容器的興趣會增長嗎?
Sam Kaufman:儘管容器的採用越來越多,但它們的用途是可複製的架構和關注點分離,這可以通過其他方式實現。我認為容器和編製工具仍然是非常新的,雖然興趣會繼續增長,但我也看到了許多公司對於依賴於變化如此迅速的系統的工具猶豫不決。
我個人在筆記本電腦上使用Docker,在Debian系統上使用。在Mac上,我仍然看到很多奇怪的bug,這些bug通常是通過重新啟動Docker或採取其他極端措施解決的。當然,這是意料之中的,因為軟體仍然是非常新且非常複雜的,但是它會讓傳統的和保守的操作人員遠離,除非它像傳統系統一樣穩定。
問:2018年你覺得無伺服器會有什麼變化?它會對DevOps產生影響嗎?
Sam Kaufman:隨著谷歌、亞馬遜、微軟和IBM的雲服務繼續改進,我看到無伺服器的繼續增長。當它完全成熟時,它將對DevOps產生巨大的影響,因為你不需要維護底層伺服器。
DevOps的不幸影響是,需要編寫更多的特定於服務的軟體工具來處理、監視和警告不同的雲平台。雖然你可以運行軟體並將伺服器維護留給一個在管理伺服器方面有專門知識的大型平台,但你仍然需要編寫工具來與平台服務進行通信,或者依賴其他工具或SaaS公司來為你完成這些工作。
問: 你能否給我們提供一些你今年發現的提示和技巧?
Sam Kaufman:
Slack Alerts:今年,我真的專註於改善一些監控和警報,特別是在亞馬遜上。使用Slack(或任何類似於Slack的產品),你可以創建一個webhook來提醒或登錄一個頻道,並在點擊該頻道時改變你的通知。雖然電子郵件也可能實現,但你會發現郵件發送的複雜程度。在Slack中獲得所有通知極大地提高了我的響應時間和服務正常運行時間。
結構化日誌記錄:結構化日誌可以讓你在日誌中以一種非常強大的方式真正地對日誌進行切片和警告,並迫使你更多地思考您登錄的內容和時間。
Vim 8.0:如果你是一個Vim用戶,有任何類型的linting或error檢查插件,你可能會注意到Vim將會凍結項目所獲得的大量內容。Vim 8.0具有非同步能力,並且,通過"Ale"(非同步Lint引擎),所有的凍結現在都消失了。這很好,反正我是不會再回到以前的Vim版本了。
JavaScript中的非同步/等待:我花了一段時間才得到它,但我真的喜歡他。在編寫了大量非同步代碼之後,將其移植到非同步/等待中,使其再次可讀。此外,將常規JavaScript移植到Typescript對我的代碼的可讀性和可伸縮性有很大的影響。
TAG:IT168企業級 |