作者 | 阿大

關于阿大
09年加入淘寶網,花名:阿大。剛入職時負責淘寶機票和彩票業務,兩個業務後來均交接到了北京團隊,期間還參與過淘寶交易、搜尋、二手(閑魚)等業務。12年随團隊調整到一淘,開始關注前端工程化領域,并在一淘做了小範圍嘗試。13年回到淘寶前端團隊,開始深耕前端工程化領域,推動了前端 Git 化并孵化了淘寶前端工程平台:DEF,涵蓋研發工具、流程管控和靜态源站等全鍊路前端研發能力。後經過兩年時間更新為阿裡集團前端工程中台,服務集團幾千前端工程師的日常業務研發,平台日活躍内部開發者達 2500+。19年在阿裡集團前端技術委員會提出 IDE 戰略,組隊自研了阿裡内部的 IDE Framework:KAITIAN(開天),先後在集團内部衆多 IDE 業務場景落地,奠定了一站式前端研發平台的技術基礎。連續多年參與阿裡集團前端技術委員會的橫向建設,是委員會核心委員。目前負責委員會前端工程方向,今年的主要精力是在工程的角度橫向推進集團前端的安全生産建設。
阿大介紹D2安全生産專場
随着前端領域邊界的不斷拓展,前端工程師的日常工作内容已經與幾年前有着巨大的不同。Serverless、微前端、智能化等新興技術使得前端的技術閉環越來越完整而又錯綜複雜,前端傳遞的也早已不再隻是簡單的 HTML 頁面,前端已經參與到業務的核心邏輯和關鍵鍊路。如何提升團隊安全意識和保證傳遞代碼品質?如何做到秒級線上監控和故障快速響應?這對前端而言是一個熟悉而又陌生的挑戰。安全生産本身也是一個工程問題,是以今年 D2 的前端工程專場将聚焦安全生産,我們将首次對外披露阿裡經濟體在前端安全生産上的建設成果,相信大家能在這個專場收獲不一樣的驚喜。
快問快答
D2小編收集了同學們比較疑惑的、和一些犀利的問題,邀請阿大回答一下。
點選檢視視訊
D2 小編:今年在D2上首次看到了前端安全生産這個專場,為什麼會有這樣一個專場出現?
阿裡經濟體技術線今年有四大戰役,兩個是業務方向的戰役,一個雲原生戰役,還有一個戰役就是安全生産。如果我們把業務比做水的話,雲原生就是裝水的水桶的材質,更新成果更好材質的桶了。那安全生産是什麼呢?是那個桶底!以前我們常說補短闆,但往往忽略了這個桶底,底漏了桶再好也沒用。第二點我想大家最近幾年一定有感受,就是現在外部環境越來越複雜,各種不确定性和黑天鵝頻發。在技術上也同樣,前端是最近接使用者的,是保證體驗和可用性的最後一道關卡,沒有其它技術可以為前端技術兜底。是以前端的穩和可用性對産品至關重要,當突發情況出現時前端是否有快速的應急響應能力和完備的預案,這是對前端工程師們全新的考驗。
D2 小編:前端安全生産和普意的安全有什麼差別?怎麼定義前端安全生産的範疇?
安全的範疇太廣了,比如你不能把你的登入密碼告訴别人,這就不屬于安全生産範疇。在阿裡内部安全和安全生産是兩個獨立的團隊,當然兩個團隊是有非常緊密的協同的,安全生産算是安全的一個子領域吧。
安全生産核心在“生産”,是面向生産這個過程的,這個過程就是研發過程。是以前端安全生産建設跟前端工程緊密相關,絕大部分都是都需要借助工程落地。前端安全生産覆寫前端研發的全生命周期,包括且不限于:規範意識,編碼品質、流程保障、監控報警、應急響應等。
D2 小編:下一個問題有點尖銳【笑】。安全生産一般會帶了很多額外的工作量,特别是流程和審批等方面,導緻了工作量的增加,有沒有很好的後續優化政策?
首先還要明确一下安全生産的目的是為了保護開發者,保證業務穩定,而不是為了給大家添堵。但是不可否認,在特殊時間階段,安全生成附帶的規範、流程等确實會有一定的成本增加,這個需要辯證的看。
我舉個例子:一開始的時候路上沒有車人也少,人們可以徑直地從路的東邊走到路的西邊。後來人多了,還出現了機車、汽車等,在路上随便走變得很不安全。這個時候人行道和紅綠燈就出現了,行人隻允許在人行道上行走,紅燈的時候你得等。這是非常有必要的是不是,不然就不安全嘛。不過紅綠燈有也不完善的地方,比如有些紅燈時間很短,有些又很長都是有問題的,需要按照現實情況優化。安全生産也一樣,它的必要性毋庸置疑,但是在執行落地的時候要根據實際情況做好調整,另外就是意識問題了,當大家能清晰地認知到一件事情的利弊,對抗就會變成了解。
針對審批這個場景,在阿裡内部目前形式上确實有點重的,這也是特殊時期取舍的結果。審批背後的邏輯就是需要人工介入,說明安全能力的平台化做的不夠完善,是一種早期防控的有效手段,我相信随着時間推移這種手段一定是會越來越弱化的。
D2 小編:安全生産對于業内都比較重視的資損防控是怎麼做的?有什麼比較好的實踐?
資損防控是安全生産建設中很重要的一環,資損的危害非常直接,就是經濟損失。在阿裡這樣以交易為核心的業務場景中時時刻刻都存在着資損的風險。
誠然大部分的資損問題是不在前端領域的,但不是說前端就沒有資損的問題。近幾年阿裡由于前端問題導緻的資損故障不在少數,前端主要從三方面做資損防控建設:首先我們對曆史前端資損故障和所有可能出現資損的線上場景進行了梳理,盤點分析前端資損問題特點,并制定相關的規範、紅線等,通過考試提升前端資損防控意識。然後我們在研發鍊路通過靜态掃描能力對所有上線的源代碼進行檢查,識别可能的危險操作,比如對獲獎結果的判斷,金額計算等邏輯,都是不允許的。最後還會通過機器學習的能力對頁面 UI 進行掃描,通過 UI 測試用例快照對比防控資損風險。
D2 小編:在阿裡像618、雙11這樣的大促,才會嚴抓安全生産。如何讓安全生産的意識,融入到平時的開發中?
恰恰相反,曆史經驗告訴我們,越是嚴重的問題往往越是出現在容易疏忽的時候,雙十一這樣的大促時間,大家都緊繃着那根神經,各方面的要求都比平時要高,反而出問題的機率很低,不過大促等重點時間段肯定有特殊的保障手段。
提升意識的前提一定是記憶深刻的,比如讓你出一個線上故障,你的安全生産意識一定立馬提到最高警戒線了,但這肯定不現實。另外一種記憶深刻的方式就是不停重複,是以我們會定期給全集團前端發送前端安全生産月報,線上問題複盤等郵件,另外還會不定期的進行内部技術分享、直播和技術社群文章等。
另外阿裡前端在工程化建設上是比較完善的,我們就把前端安全生産融入到日常的研發流程中,比如你的代碼開發完後一定會需要 Code Review,Code Review 不認真我們還會攻防你。代碼釋出上線之前必須經過各種源碼掃描、性能評估等。正式上線時還要送出變更申請單及灰階放量驗證。上線後一小時内還要求大家關注監控資料情況,并且可能會有變更監控的攻防,所有的攻防沒有有效防守都會記錄分數。
D2 小編:安全生産目前的産品化到什麼程度?人肉成本有多高?針對目前人肉化的,是否還有進一步的優化空間?
阿裡經濟體前端委員會下屬的前端安全生産小組是今年 6 月份正式組建的,經過差不多半年的時間完成了基礎能力平台的建設,推進建設了統一的前端監控平台、前端攻防平台和前端安全環境。這些平台能力未來都會高度內建到日常研發鍊路,大部分的使用能做到非常低成本的接近無感。包括我們研發鍊路中的灰階放量釋出、線上資料監控和復原應急預案等都已經比較完備。
要說還需要優化的我想應該就是對資料價值的挖掘了,我們在研發過程積累了大量的資料,包括一些線上服務的日志資料,這些資料中是可以挖掘出非常多有用的東西的。舉個例子:我們經常遇到一個線上 URL 有問題後問了一圈沒人知道這個 URL 是誰負責的,對應的源碼倉庫是哪個,什麼時候釋出過,是在哪個平台釋出的等。但其實這些關系資料我們都有,隻是可能分散在不同的地方而已。是以今年我們的前端安全生産小組還在推進經濟體前端研發中繼資料平台,目的就是要拉通經濟體所有變更平台的資料,通過資料标準對齊和資料統一開放,解決前端提到的問題。
D2 小編:最後一個就是大家最關心的問題了。本次 D2 的安全生産專場話題,會傾向于哪些重點方向,會邀請哪些專業講師來分享呢?大家聽完會有什麼收獲呢?
阿裡集團是 18 年 9 月份正式在技術線成立安全生産小組的,同時安全生産又是今年阿裡經濟體技術線四大戰役之一,可見安全生産的重要性和持續性。今年 D2 設定了《前端安全生産》專題,我們将首次對外披露阿裡前端在安全生産建設上的思考和成果,具體内容大家到現場就知道了,我這裡就不先透露了。另外我們還會邀請一線網際網路公司的前端同仁到 D2 上來講講不同商業場景下的安全生産建設思路。如果你的前端團隊已經具備一定規模,并且正在高品質研發和高效業務疊代之間沖突苦惱,那麼我相信在這個專題一定能有所收獲。
D2 小編:感謝阿大的有問必答,大家快來 D2 一起學習吧!🥳👇👇
🔥第十五屆 D2 前端技術論壇開放報名,速搶!
關注「Alibaba F2E」
把握阿裡巴巴前端新動向