背景前端
在《程序媛的人生觀》這篇文章中,一些朋友提出了本身的疑問:「看起來靜兒的發版上線很不規範,爲何一個大公司會容許這樣的事情呢?」這是個很好的問題,值得我好好總結分享一下。程序員
在考慮上線標準以前,先考慮這麼一個問題,你處於哪一個通道?面試
通道架構
前端通道、系統通道和後臺通道的發版上線流程差異會很大。併發
前端通道:用戶體驗、視覺效果會佔很大比重,通常來講須要依賴專業人員進行人工測試。框架
系統通道:產品流程的理解和把控是其中的一個關鍵點。自動化測試基礎上還須要人工測試進一步驗證。分佈式
後臺通道:也是靜兒所在的通道。業界有一個比較流行的理念:「開發人員應該測試本身的代碼。」高併發
咱們團隊中常常在說的一句話叫:「你不可能既當運動員又當裁判。」那怎麼來解決這個衝突呢?工具
自動化測試。基礎架構這邊有專門的QA。他們大部分時間都在收集測試用例,開發自動化測試工具。學習
開發人員須要本身寫單體測試,單體測試是在設計階段,對功能進行建模階段就寫好的。因此對一個後臺開發來講,徹底能夠在幾分鐘以內完成一套完整的上線前驗收。
可否在幾分鐘以內就能夠進行一套完整的上線前驗收也和公司、部門或者團隊的策略有關係。
策略
不知道有的朋友有沒有注意到這個問題:有的公司雖然是大公司,可是門檻並不高。面試的時候着重考察面試者的理解力、溝通能力。若是背景不錯,不會太卡技術這一塊。固然,通常來說這種公司給的待遇也比較通常。
這並非說這個公司不夠好,相反,正是由於公司有很是完善的流程把控,因此才擺脫了對成員我的能力的重度依賴。然而,通常來說,流程是用來保證底線的。一個注重成員成長的團隊但願的是可以激發成員的上限。
因此靜兒所在的團隊有這麼一種策略:若是成員對本身的流程把握足夠好,不出問題,上級會逐漸放寬對成員的監督。若是把控的很差,就會每天被盯流程。
這樣的好處:作的好的成員的創造性能夠充分獲得發揮。對於上級自身,也能夠抽身出來cover更大的事情。
在《程序媛的人生觀》這篇文章中,靜兒用了一個很不專業的詞:「臨時決定」。從另外一個角度來看這個問題,什麼事情是能夠臨時決定的?
定性
靜兒之因此能夠臨時決定給序列化和反序列化接口新添加一個實現。這裏麪包含了兩點信息:
1.這是添加實現,最最壞的狀況下,實現出問題了,是能夠開關切換切換回原來的實現的。
2.這不改變完成的功能,就是說這是一個重構。
在開發的時候「忍不住以爲以前的代碼寫的太爛了須要重構」是一個工程師的基本素養。若是回過頭看以爲原來的代碼寫的不錯,這是一個信號:同窗,你該看書學習了。
因此,對於新功能,靜兒團隊中是須要開會一塊兒作DEMO驗收演示的。可是對於重構,開發人員徹底有權利本身決定什麼時候重構。由於功能不變,以前已有的自動化測試流程無需任何更改,徹底能夠覆蓋重構後的場景。
背後的技術支撐
「技術強就是任性。」這句話不錯的,可是技術強不是指靜兒我的的技術能力。而是我司的整套基礎設施。這裏就不談咱們強大的DevOps這些東西。咱們就說《程序媛的人生觀》這篇文章中,靜兒提到終於用了整個晚上,到凌晨5點完成上線,靜兒最後把線上到哪裏了呢?
上到了線下環境。這裏線下環境是什麼概念呢。靜兒所在的團隊負責的是容器的生命週期管理。容器有給廣大用戶直接訪問的線上環境。還有一個環境,業務部門是咱們的用戶,他們用來測試、開發的容器,對咱們來講是正式環境。若是線下環境出了問題,會影響咱們的用戶滿意度。
通常來講,咱們的代碼想上到線上環境,至少要常常兩天的線下環境觀察。這個觀察是什麼意思呢?
發版前寫好發版checklist,在必定範圍內周知說我要發版了,若是有問題請及時聯繫我。
而後採用灰度發佈,每發版一組機器就要進行整個流程的檢驗,若是有問題最快的解決方法是將有問題的機器禁用。每組發版之間有強制的時間間隔,在間隔內不能發版下一組。
發佈完成後QA那邊的自動化工具又一次起了做用,它會自動模擬用戶完成全部分支的操做。而後給出報告。
各方面都OK以後,周知說發版完成符合預期。次日一大早起來業務巡查,看看是否一切正常。
一天的午高峯和晚高峯監控數據是必定要看的。CAT、OCTO、業務大盤、監控大盤……
最重要的是及時看看是否有業務反饋問題。這都是在線下環境作的。
《程序媛的人生觀》這篇文章中提到的那次發版,因爲質量好。上週四發版線下,上到線上環境是這週一夜9點後開始操做。
從「技術好就是任性」這個再延伸一下,爲何《程序媛的人生觀》這篇文章中看起來編碼很隨意?這是由於設計架構作的好。臨時決定給序列化和反序列化接口新添加一個實現。實現加在哪裏了呢?每一個產品至少有兩個服務組成:核心服務和非核心服務。咱們的MQ都是用來數據預處理用的,都是在非核心鏈路上。出問題了,半夜臨時掛一下,就算有和靜兒同樣的程序員在半夜擴容測試機器。服務產生的最壞影響是數據反應有延遲😀
總結
昂貴的工具不必定能製做出更好的設計。--《程序員修煉之道》
相關閱讀