嚴選線下環境治理之路-迴歸環境篇

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選線下環境治理是一個長期而又複雜的工作,迴歸環境建設作爲一個目前比較緊迫且可落地的任務,在逐步試錯和探索過程中開展了幾個月,目前得到了一些階段性的進展和成果。從一開始的量化目標、梳理落地方案。到具體的規劃集羣、基建梳理、業務梳理、迴歸環境數據構造等步驟,困難重重也獲益良多,並且我們在迴歸環境建設中,也做到了把核心鏈路上的已經上雲的服務都能擴展到迴歸環境,其次也帶動了部分之前沒有上雲的服務能進行改造並部署到迴歸環境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"一、背景"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"爲什麼要做線下環境治理:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前嚴選線下環境建設有幾個比較大的痛點,"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一、聯調、測試、迴歸混用環境,效率低;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二、環境不穩定導致依賴鏈路長的服務經常不可用,阻塞測試開展;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三、現有環境歷史操作過多,不標準,無法快速複製還原一套可用環境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"針對以上幾個痛點,嚴選部門在2020年中開始規劃在目前現有的聯調、測試環境基礎上再新增一套迴歸環境,可以保證嚴選核心服務有一套相對穩定的環境,用於上線前回歸流程驗證,不會被其他環境的頻繁更新所影響。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"爲什麼線下環境要上雲:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前嚴選線下環境兩種部署方式,一種是基於虛擬機的服務部署方式,通俗的說法是雲外環境,一種是基於容器的服務部署方式,通俗的說法是雲內環境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其中雲內跟雲外相比更加容易輕量、更加容易擴縮容和遷移。進行上雲改造後,標準化的服務也更容易做到快速複製一套環境以及快速銷燬。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但由於嚴選雲內基建適配是從19年完整落地,目前雲內部署的服務佔比還不夠,大家普遍對雲內的收益還沒有真真切切的感受的那麼明顯。更多的上雲收益還是在於基建服務的開發者能感受到的一些基建開發建設的成本降低,例如中間件研發成本的降低、服務治理成本的降低等。總體來說嚴選團隊基礎建設對於上雲的支持已經具備,因此一套新的迴歸環境的搭建期望業務方能夠優先選擇雲內環境,而不是捨近求遠的仍然使用之前雲外的方式部署。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前拿嚴選測試環境來舉例,上雲的服務已經有360+之多,但對於嚴選所有的服務的一千多個的量級還是遠遠不夠。迴歸環境在開展之初就奠定了優先雲內環境的原則,首先希望把核心鏈路上的已經上雲的服務都能擴展到迴歸環境,其次能希望帶動之前沒有上雲的服務能進行改造並部署到迴歸環境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"二、如何開展迴歸環境建設:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選一千多個服務,從哪裏開始下手規劃迴歸環境建設呢,迴歸環境建設又需要哪些準備動作呢。我們梳理了目前最容易被阻塞在迴歸測試的業務服務,以及梳理了迴歸環境建設的依賴關係,最終得到一個可量化的目標以及可落地的方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"得到一個可量化目標:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最容易被阻塞在迴歸環境的、依賴鏈路相對較長的目前嚴選全站範圍內是B端大供應鏈的服務(其中核心鏈路服務75個),這部分服務包含採購、計劃、庫存、品控、配送、包裝、供應鏈管理等一系列服務。並且這部分服務依賴鏈路長,依賴度高。例如拿商品立項到上線流程舉例,就涉及到商品、採購、品控、計劃等十幾個服務的協同運作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如下圖所示:商品立項全流程各節點及涉及到的服務所屬業務"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/bc\/2c\/bc8d91648aa02fayyc9bd9fc309a002c.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此我們優先梳理了供應鏈的核心鏈路服務以及它所依賴的其他服務。總共梳理出來共180個左右的全站核心鏈路服務。也就是我們得到了量化目標:優先將B端及其依賴的核心鏈路服務建設獨立、隔離的迴歸環境,並投入使用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"梳理可落地的方案"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有了目標以後再看下落地問題,在方案建設之初,我們考慮了2種方案的選型,"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一是建設一個獨立且資源數據隔離的環境;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"二是建設一個基於原有環境採用流量染色技術建設只包含部分頻繁變更服務的動態可擴展集羣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一個方案優點是數據隔離(不會造成原有環境的髒數據),環境相對穩定(不會由於共用的依賴服務不可用造成環境不可用),缺點是資源佔用成本相對高一些(需要把所有依賴的服務、跟業務強相關的基建服務都在迴歸環境獨立部署),資源佔用和釋放不靈活。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二個方案依賴於成熟的流量染色技術以及識別服務以及依賴鏈路的迴歸場景需求,兩方面,流量染色技術決定了混合部署環境能夠滿足同服務的多個集羣的流量標識和數據標識分離,從而使得即使共用依賴服務和基建服務也不會帶來回歸流程和測試流程的使用衝突。另外如果沒有準確的識別到哪些需要作爲公共依賴服務,哪些可以作爲動態可擴展集羣範圍內服務則很難去進行方案設計和建設。如果方案合理,它的優點則是資源節約,多環境使用更加靈活。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下圖爲一個應用了流量染色技術的線下環境模型:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/72\/62\/724979a495d52e87eee838d131ea2c62.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"經過分析和討論,發現第二個方案雖然是大勢所趨,但是目前嚴選的服務架構梳理還未達到可以完全改造成可準確劃分哪些屬於基礎穩定環境服務,哪些數據頻繁變更的靈活服務。另外流量染色技術雖然已經在輕舟系統中提供,但是其應用廣泛度還不夠,如何找到正確的使用姿勢還有待探索。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最終我們選擇了方案一:建設一套獨立且資源數據隔離的環境。當然,迴歸環境建設不只是業務方的部署而已,還需要回歸集羣、基建的一系列支撐,因此我們梳理了幾個步驟,包含迴歸集羣預置、基建梳理及改造、業務梳理及部署、迴歸環境數據構造\/遷移。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"1. 迴歸集羣預置"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"迴歸是由嚴選運維團隊主導、杭研輕舟團隊提供資源去完成的,包含規劃層級關係、申請資源、初始化操作。由於考慮到少量較難進行上雲改造的服務,在迴歸環境內新增了雲內和雲外的兩個LDC。(LDC可以簡單理解爲一組應用、數據和網絡的邏輯單元,包含多個集羣,集羣中包含多個服務實例)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/85\/33\/857f2f5b88c581c8b972cb9d9753da33.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"迴歸集羣除了需要做到環境數據隔離以外,還需要有些特殊的網絡打通和白名單配置,因爲實際部署過程中可能會存在共用某個基礎服務的測試環境,或者需要從線上或測試環境導入某個服務的基礎數據,這樣就需要回歸集羣在規劃之初就需要考慮到網絡打通的方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"2. 基建梳理改造"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選基建建設分爲兩類:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一個是跟業務數據強相關的例如bpm工單系統、workflow工作流系統、權限中心、mps消息中心等,這些服務由於涉及到的業務數據需要數據隔離,因此需要獨立部署迴歸環境;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外一類是多環境共用的基建服務,例如Opera發佈系統、網關管理平臺、apolloY配置中心、Snet治理平臺、消息發送服務、Dschedule調度中心、APM平臺、日誌平臺、fms文件上傳服務等。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"需要獨立部署的基建服務跟業務服務類似,申請資源、部署並且遷移或構造迴歸環境的數據即可。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"共用的基建服務需要評估是否天然支持新增環境的配置,例如Opera發佈需要增加回歸環境的配置數據即可支持迴歸環境的服務發佈動作。而fms文件上傳服務則不需要增加配置,只需要確認網絡連通性即可。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"比較複雜的場景就是有少量基建服務前期設計時未考慮到多環境的支持,則需要通過改造進行適配。例如研發工作臺需要前端的開發改造才能使得業務方在工作臺能提交回歸環境相關的運維工單。這些都需要提前識別到。當然如果不能提前識別到的,在部署迴歸環境過程中發現的一些遺漏待改造或待準備的配置也都一一記錄並且逐步落地到位。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上所有梳理出來的基建服務需要在業務服務部署之前就要部署或改造更新完畢,否則會影響後續業務服務部署的進度。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"迴歸環境依賴到的部分基建服務一覽圖:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/8f\/b0\/8f1ee8fdfd29a614971ca56361e3a7b0.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基建經過一系列改造部署、數據準備並確認可用之後,接下來就是真正的業務服務開始部署了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"3. 業務梳理部署"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在量化目標分析中,我們已經初步梳理了共180個左右可以部署到迴歸環境的全站核心鏈路服務,涵蓋的業務域有供應鏈、商品、庫存、數據產品、數據中臺、財務、技術平臺、運維等數十個業務域。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在業務部署之前,核心要務是要先梳理業務之間的強依賴關係,並依據依賴梳理部署排期,並且關注排期與優先級較高需求之間的人力衝突風險。但一百多個的服務如果想梳理清楚所有邏輯的依賴時間週期會非常長,因此我們初步使用Snet進行核心關鍵鏈路的服務強依賴梳理,經過一輪的梳理,確認主站三個核心服務是部署的前提,供應鏈服務、庫存服務、商品中心服務、財務服務作爲核心關鍵鏈路的服務並行開展。數據服務、算法等被弱依賴或比較獨立的服務依據自己項目進度排期在統一一致的deadline之前自由排期。主站其他服務以及OMS、分銷、客售等由於不被供應鏈核心鏈路依賴,而且與優先級高的需求時間衝突,暫時不作爲第一批迴歸環境部署的範圍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/60\/5a\/60b6d4bd8266dyye019f0e0216992f5a.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"4. 迴歸環境數據構造\/遷移"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"服務部署完成後真正想使用起來還依賴於數據構造,例如配置數據的構造、業務數據的構造,其中配置數據在服務部署階段就大部分已完成,業務數據一般來說有兩種方式從無到有的生成。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一是基建服務中的獨立部署服務需要跟線上或測試環境保持一致的服務,需要使用數據遷移數據同步的方式生成數據。這裏方式是提工單由DBA進行數據的遷移。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"二是業務服務需要進行數據隔離的業務數據,一般來說可以人工調接口去造數據或者使用造數平臺或者自動化去完成造數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有了以上的基礎數據和業務數據,整個迴歸環境才能達到可用狀態。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"三、階段成果展示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"部署服務情況展示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"各業務服務在大約一個多月的緊鑼密鼓的部署之後,目前部署個數已基本達到全站核心鏈路服務的量化目標,如下圖所示,各業務域的迴歸環境入駐情況,其中供應鏈業務域作爲優先級最高的業務域已完成計劃內服務100%部署。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/61\/18\/617d42782bc46398cf5ff102da696418.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"迴歸環境入駐進度一覽:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/3b\/b4\/3bd78240f43069f5ff767ebd4a9991b4.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其中部署到迴歸環境的服務雲內環境達到佔比爲90%以上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/75\/a0\/750ec0c66b87a5a3125a4dfc9cceb0a0.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"可用服務情況說明:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前核心鏈路涉及到採購、商品、品控、供應商、庫存、財務、數據服務的業務域,QA已初步完成驗證。部分獨立服務已達到可以上線前應用於發佈分支迴歸使用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"四、未來和展望:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選線下環境治理是一個長期而又複雜的工作,迴歸環境建設作爲一個目前比較緊迫且可落地的任務,在逐步試錯和探索過程中跌跌撞撞走了幾個月,在過程中也踩了不少坑,比如,服務依賴梳理不完全導致的依賴服務漏部署、基建服務改造不完全、非核心鏈路的基建服務連通性或配置未完全等這樣那樣的問題,雖然過程比較艱辛,但是通過部署也收穫了很多,比如業務之間的依賴關係逐步明晰、造數用例逐步完善等。在未來的建設中,嚴選環境治理的目標也會提出更高的要求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"近期比較緊迫的目標就是真正把迴歸環境在B端使用起來,能夠真正解決環境混用、共用導致的測試阻塞問題。接下來的階段性目標是能夠在全站一千多個服務中梳理有迴歸環境需求的服務逐步開展落地。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了迴歸環境建設,聯調、測試、迴歸環境的職責劃分、環境穩定保證、造數自動化等也要並行開展,最終目的就是讓人人都能順暢的使用線下環境進行開發聯調、測試驗證、測試迴歸、復現問題等日常工作而不受阻塞。從而進一步提高研發測試效能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴選線下環境未來還需要再考慮泳道隔離,基礎服務複用,流量染色等高級特性的應用,通過一鍵複製部署環境和一鍵銷燬環境來將多環境應用的更靈活,資源更節省,真正的做到環境隨心所用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"作者簡介"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"晴川:網易資深測試開發工程師,2014年加入網易,先後從事於雲計算、嚴選等業務質量體系建設,致力於測試質量改進方面的研究、自動化、質量保障體系探索。對測試設計方法、質量度量、容器微服務、環境治理等方面有濃厚的興趣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"頭圖"},{"type":"text","text":":Unsplash"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文"},{"type":"text","text":":"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/4mzTT4M_TDdrijQumf7Zlg","title":"","type":null},"content":[{"type":"text","text":"嚴選線下環境治理之路-迴歸環境篇"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"來源"},{"type":"text","text":":嚴選技術產品團隊 - 微信公衆號 [ID:YanxuanTechProd]"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"轉載"},{"type":"text","text":":著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章